@taiga-ui/addon-commerce 2.63.0 → 2.65.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.
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +2 -2
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +1 -1
- package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +1 -1
- package/esm2015/components/input-card-grouped/input-card-grouped.component.js +3 -3
- package/esm5/components/input-card-grouped/input-card-grouped.component.js +3 -3
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +2 -2
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +2 -2
- package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/package.json +4 -4
|
@@ -357,7 +357,7 @@ __decorate([
|
|
|
357
357
|
TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
|
|
358
358
|
Component({
|
|
359
359
|
selector: `tui-input-card-grouped`,
|
|
360
|
-
template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n [tuiDropdown]=\"open\"\n [tuiDropdownContent]=\"dropdown || ''\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard: cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n tuiInputMode=\"numeric\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper: cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n >\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [class.t-value_collapsed]=\"isCardCollapsed\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n type=\"text\"\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n polymorpheus-outlet\n class=\"t-icon-outlet\"\n [content]=\"icon\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</tui-wrapper>\n",
|
|
360
|
+
template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n [tuiDropdown]=\"open\"\n [tuiDropdownContent]=\"dropdown || ''\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard: cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n translate=\"no\"\n automation-id=\"tui-input-card-grouped__card\"\n tuiInputMode=\"numeric\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper: cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n aria-hidden=\"true\"\n translate=\"no\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n >\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [class.t-value_collapsed]=\"isCardCollapsed\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n type=\"text\"\n translate=\"no\"\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n translate=\"no\"\n automation-id=\"tui-input-card-grouped__cvc\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n polymorpheus-outlet\n class=\"t-icon-outlet\"\n [content]=\"icon\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</tui-wrapper>\n",
|
|
361
361
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
362
362
|
providers: [
|
|
363
363
|
MODE_PROVIDER,
|
|
@@ -374,7 +374,7 @@ TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
|
|
|
374
374
|
'($.data-mode.attr)': `mode$`,
|
|
375
375
|
'data-size': `l`,
|
|
376
376
|
},
|
|
377
|
-
styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill:var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;height:100%;width:100%;overflow:hidden}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate3d(100%,0,0)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate3d(100%,0,0)}.t-wrapper_active{transform:translate3d(6.5625rem,0,0)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate3d(4.125rem,0,0)}.t-card{width:2rem;height:2rem;margin-right:.625rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 0 0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:focus,.t-collapsed:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-collapsed{padding:0 var(--tui-padding-s)}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-collapsed{padding:0 var(--tui-padding-l)}.t-collapsed :host-context(tui-primitive-textfield._disabled),.t-collapsed :host-context(tui-text-area._disabled),:host._disabled .t-collapsed{pointer-events:none}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-collapsed{padding-top:1.25rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-collapsed{padding-top:1.125rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-collapsed :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-collapsed{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}.t-collapsed-wrapper{position:absolute;top:0;display:block;width:100%;height:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;transform:translate3d(100%,0,0)}.t-value_collapsed{transform:translate3d(4ch,0,0)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input::-ms-input-placeholder{color:var(--tui-text-03)}.t-input::placeholder{color:var(--tui-text-03)}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}.t-input_card:not(.t-input_hidden),.t-input_card:not(.t-input_hidden):-webkit-autofill,.t-input_card:not(.t-input_hidden)::placeholder,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden),:host[data-mode=onDark] .t-input_card:not(.t-input_hidden):-webkit-autofill,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden)::placeholder{color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input_card::-webkit-credit-card-auto-fill-button,:host[data-mode=onDark] .t-input_card::-webkit-credit-card-auto-fill-button{pointer-events:none;background-color:transparent!important;-webkit-mask-image:none!important}.t-input_inert{pointer-events:none}.t-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:inherit}.t-icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-icon:hover{color:var(--tui-text-02)}:host._disabled .t-icon,:host._readonly .t-icon{pointer-events:none}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-icon:hover{color:var(--tui-text-01-night)}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}"]
|
|
377
|
+
styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill:var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;height:100%;width:100%;overflow:hidden}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate3d(100%,0,0)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate3d(100%,0,0)}.t-wrapper_active{transform:translate3d(6.5625rem,0,0)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate3d(4.125rem,0,0)}.t-card{width:2rem;height:2rem;margin-right:.625rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 0 0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:focus,.t-collapsed:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-collapsed{padding:0 var(--tui-padding-s)}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-collapsed{padding:0 var(--tui-padding-l)}.t-collapsed :host-context(tui-primitive-textfield._disabled),.t-collapsed :host-context(tui-text-area._disabled),:host._disabled .t-collapsed{pointer-events:none}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-collapsed{padding-top:1.25rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-collapsed{padding-top:1.125rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-collapsed :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-collapsed{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}.t-collapsed-wrapper{position:absolute;top:0;display:block;width:100%;height:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;transform:translate3d(100%,0,0)}.t-value_collapsed{transform:translate3d(4ch,0,0)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input::-ms-input-placeholder{color:var(--tui-text-03)}.t-input::placeholder{color:var(--tui-text-03)}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}.t-input_card:not(.t-input_hidden),.t-input_card:not(.t-input_hidden):-webkit-autofill,.t-input_card:not(.t-input_hidden)::placeholder,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden),:host[data-mode=onDark] .t-input_card:not(.t-input_hidden):-webkit-autofill,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden)::placeholder{caret-color:var(--tui-base-09);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input_card::-webkit-credit-card-auto-fill-button,:host[data-mode=onDark] .t-input_card::-webkit-credit-card-auto-fill-button{pointer-events:none;background-color:transparent!important;-webkit-mask-image:none!important}.t-input_inert{pointer-events:none}.t-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:inherit}.t-icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-icon:hover{color:var(--tui-text-02)}:host._disabled .t-icon,:host._readonly .t-icon{pointer-events:none}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-icon:hover{color:var(--tui-text-01-night)}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}"]
|
|
378
378
|
}),
|
|
379
379
|
__param(0, Optional()),
|
|
380
380
|
__param(0, Self()),
|
|
@@ -386,4 +386,4 @@ TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
|
|
|
386
386
|
__param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
|
|
387
387
|
], TuiInputCardGroupedComponent);
|
|
388
388
|
export { TuiInputCardGroupedComponent };
|
|
389
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBR3RCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBR3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQ0gsNEJBQTRCLEdBRS9CLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsTUFBTSxJ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b250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9DQVJEX01BU0ssIHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ2FyZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlDb2RlQ1ZDTGVuZ3RofSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBnZXRQYXltZW50U3lzdGVtLFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aUFzc2VydElzSFRNTEVsZW1lbnQsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX01PREUsXG4gICAgVFVJX05PTl9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpRGF0YUxpc3RDb21wb25lbnQsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtUZXh0TWFza0NvbmZpZ30gZnJvbSAnYW5ndWxhcjItdGV4dC1tYXNrJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUyxcbiAgICBUdWlDYXJkR3JvdXBlZFRleHRzLFxufSBmcm9tICcuL2lucHV0LWNhcmQtZ3JvdXBlZC5wcm92aWRlcnMnO1xuXG5jb25zdCBTVFVCOiBUdWlDYXJkID0ge1xuICAgIGNhcmQ6IGBgLFxuICAgIGV4cGlyZTogYGAsXG4gICAgY3ZjOiBgYCxcbn07XG5jb25zdCBJQ09OUyA9IHtcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NaXJdOiBgdHVpSWNvbk1pcmAsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uVmlzYV06IGB0dWlJY29uVmlzYWAsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uRWxlY3Ryb25dOiBgdHVpSWNvbkVsZWN0cm9uYCxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYXN0ZXJjYXJkXTogYHR1aUljb25NYXN0ZXJjYXJkYCxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYWVzdHJvXTogYHR1aUljb25NYWVzdHJvYCxcbn07XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1jYXJkLWdyb3VwZWRgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9pbnB1dC1jYXJkLWdyb3VwZWQudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtY2FyZC1ncm91cGVkLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogYG1vZGUkYCxcbiAgICAgICAgJ2RhdGEtc2l6ZSc6IGBsYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlDYXJkPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8UGFydGlhbDxUdWlDYXJkPj5cbntcbiAgICBAVmlld0NoaWxkKGBpbnB1dENhcmRgKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDYXJkPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoYGlucHV0RXhwaXJlYClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0RXhwaXJlPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoYGlucHV0Q1ZDYClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q1ZDPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgZXhwaXJlSW5lcnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvY29tcGxldGVFbmFibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFNyYzogUG9seW1vcnBoZXVzQ29udGVudCB8IG51bGwgPSBudWxsOyAvLyBUT0RPOiAzLjAgd2lsbCBiZSBkZWxldGVkIGBudWxsYCBpbiB2My4wXG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZXhhbXBsZVRleHQgPSBgMDAwMCAwMDAwIDAwMDAgMDAwMGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFZhbGlkYXRvcjogVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nPiA9IHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpUmVxdWlyZWRTZXR0ZXIoKVxuICAgIHNldCBjb2RlTGVuZ3RoKGxlbmd0aDogVHVpQ29kZUNWQ0xlbmd0aCkge1xuICAgICAgICB0aGlzLmV4YW1wbGVUZXh0Q1ZDID0gYDBgLnJlcGVhdChsZW5ndGgpO1xuICAgICAgICB0aGlzLm1hc2tDVkMgPSB7XG4gICAgICAgICAgICBtYXNrOiBuZXcgQXJyYXkobGVuZ3RoKS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGF1dG9maWxsZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBiaW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRyb3Bkb3duOiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0Q29tcG9uZW50KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVHVpRGF0YUxpc3RDb21wb25lbnQ8VHVpQ2FyZD47XG5cbiAgICBleGFtcGxlVGV4dENWQyA9IGAwMDBgO1xuXG4gICAgbWFza0NWQzogVGV4dE1hc2tDb25maWcgPSB7XG4gICAgICAgIG1hc2s6IG5ldyBBcnJheSgzKS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tDYXJkOiBUZXh0TWFza0NvbmZpZyA9IHtcbiAgICAgICAgbWFzazogVFVJX0NBUkRfTUFTSyxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICBwaXBlOiBjb25mb3JtZWRWYWx1ZSA9PiBjb25mb3JtZWRWYWx1ZS50cmltKCksXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tFeHBpcmU6IFRleHRNYXNrQ29uZmlnID0ge1xuICAgICAgICBtYXNrOiBbXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIGAvYCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBdLFxuICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRXhwaXJlUGlwZSgpLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfSBhcyBUdWlUZXh0TWFza09wdGlvbnMgYXMgdW5rbm93biBhcyBUZXh0TWFza0NvbmZpZztcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9DQVJEX0dST1VQRURfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGNhcmRHcm91cGVkVGV4dHMkOiBPYnNlcnZhYmxlPFR1aUNhcmRHcm91cGVkVGV4dHM+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dENhcmQgPyB0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbiB8fCBpc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmNhcmQgPz8gYGA7XG4gICAgfVxuXG4gICAgZ2V0IGV4cGlyZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uZXhwaXJlID8/IGBgO1xuICAgIH1cblxuICAgIGdldCBjdmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmN2YyA/PyBgYDtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZT8uY2FyZD8udHJpbSgpICYmICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0Ryb3Bkb3duKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0SWNvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3BheW1lbnRTeXN0ZW19ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gcGF5bWVudFN5c3RlbSAmJiBJQ09OU1twYXltZW50U3lzdGVtXTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRTcmMgPz8gdGhpcy5kZWZhdWx0SWNvbjtcbiAgICB9XG5cbiAgICBnZXQgYmluKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5jYXJkLmxlbmd0aCA8IDZcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlLmNhcmQuc2xpY2UoMCwgNik7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc0NhcmROdW1iZXI7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NhcmROdW1iZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudmFsdWU/LmNhcmQ/LnRyaW0oKTtcbiAgICB9XG5cbiAgICBnZXQgaWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlkfV9jYXJkYDtcbiAgICB9XG5cbiAgICBnZXQgaWRFeHBpcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWR9X2V4cGlyZWA7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ1ZDKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlkfV9jdmNgO1xuICAgIH1cblxuICAgIGdldCBpc0NhcmRDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuY2FyZEZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNhcmQoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY051bWJlclxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlRXhwaXJlKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NFeHBcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNWQygpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjQ3NjXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIC8vIFNhZmFyaSBleHBpcmF0aW9uIGRhdGUgYXV0b2ZpbGwgd29ya2Fyb3VuZFxuICAgIGdldCBuYW1lKCk6ICdjY2V4cGlyeXllYXInIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWQgPyBgY2NleHBpcnl5ZWFyYCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRQcmVmaWxsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY2FyZC5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y1ByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jdmMubWF0Y2goVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgIH1cblxuICAgIGdldCBjYXJkRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgIXRoaXMuY2FyZFByZWZpbGxlZDtcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmV4cGlyZUluZXJ0O1xuICAgIH1cblxuICAgIGdldCBjdmNGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tlZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkUHJlZmlsbGVkID8gYCoke3RoaXMuY2FyZC5zbGljZSgtNCl9YCA6IGAqYDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmVzY2ApXG4gICAgb25Fc2MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dEb3duLnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgMWBdKVxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dVcC5wcmV2ZW50YCwgW2AkZXZlbnQudGFyZ2V0YCwgYC0xYF0pXG4gICAgb25BcnJvdyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzRHJvcGRvd247XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmRhdGFsaXN0Py5vbktleURvd25BcnJvdyhlbGVtZW50LCBzdGVwKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24ob3B0aW9uOiBQYXJ0aWFsPFR1aUNhcmQ+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjYXJkID0gYGAsIGV4cGlyZSA9IGBgLCBjdmMgPSBgYH0gPSBvcHRpb247XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAoIWV4cGlyZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fCB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoe2NhcmQsIGV4cGlyZSwgY3ZjfSk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISFleHBpcmU7XG5cbiAgICAgICAgZWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkNhcmRDaGFuZ2UoY2FyZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgYmlufSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNhcmQuc3BsaXQoYCBgKS5qb2luKGBgKTtcblxuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuY2FyZCA9PT0gcGFyc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KHBhcnNlZCwgYGNhcmRgKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcblxuICAgICAgICBpZiAodGhpcy5jYXJkVmFsaWRhdG9yKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNFeHBpcmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRXhwaXJlQ2hhbmdlKGV4cGlyZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIEBiYWQgVE9ETzogV29ya2Fyb3VuZCB1bnRpbCBtYXNrIHBpcGUgY2FuIHJlcGxhY2UgY2hhcnMgYW5kIGtlZXAgY2FyZXQgcG9zaXRpb25cbiAgICAgICAgLy8gQGJhZCBUT0RPOiBUaGluayBhYm91dCBhIHNvbHV0aW9uIHdpdGhvdXQgbWFzayBhdCBhbGxcbiAgICAgICAgaWYgKCF0aGlzLmlucHV0RXhwaXJlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VJbnQoZXhwaXJlLnNsaWNlKDAsIDIpLCAxMCkgPiAxMikge1xuICAgICAgICAgICAgZXhwaXJlID0gYDEyJHtleHBpcmUuc2xpY2UoMil9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChleHBpcmUuc2xpY2UoMCwgMikgPT09IGAwMGApIHtcbiAgICAgICAgICAgIGV4cGlyZSA9IGAwMSR7ZXhwaXJlLnNsaWNlKDIpfWA7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlucHV0RXhwaXJlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBleHBpcmU7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoZXhwaXJlLCBgZXhwaXJlYCk7XG5cbiAgICAgICAgaWYgKGV4cGlyZS5sZW5ndGggPT09IDUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNDVkMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ1ZDQ2hhbmdlKGN2Yzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoY3ZjLCBgY3ZjYCk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lQ2hhbmdlKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICAgICAgdGhpcy5vcGVuID0gYWN0aXZlICYmIHRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudChldmVudC50YXJnZXQpO1xuXG4gICAgICAgIGlmIChldmVudC50YXJnZXQubWF0Y2hlcyhgaW5wdXRgKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25TY3JvbGwoe2N1cnJlbnRUYXJnZXR9OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0dWlBc3NlcnRJc0hUTUxFbGVtZW50KGN1cnJlbnRUYXJnZXQpO1xuXG4gICAgICAgIGN1cnJlbnRUYXJnZXQuc2Nyb2xsTGVmdCA9IDA7XG4gICAgfVxuXG4gICAgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMuZm9jdXNDYXJkKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFR1aUNhcmQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5leHBpcmVJbmVydCA9ICEhdGhpcy5leHBpcmUgJiYgdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIC8qKiBQdWJsaWMgQVBJIGZvciBtYW51YWwgZm9jdXMgbWFuYWdlbWVudCAqL1xuICAgIGZvY3VzQ2FyZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dENhcmQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBmb2N1c0V4cGlyZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIGZvY3VzQ1ZDKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY2FyZEZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaW5wdXRDYXJkICYmIGlzTmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwYXltZW50U3lzdGVtKCk6IFR1aVBheW1lbnRTeXN0ZW0gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgJiYgZ2V0UGF5bWVudFN5c3RlbSh0aGlzLnZhbHVlLmNhcmQpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBpc0ZvY3VzYWJsZShjYXJkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlICYmICh0aGlzLmNhcmRWYWxpZGF0b3IoY2FyZCkgfHwgdGhpcy5jYXJkUHJlZmlsbGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUJpbihvbGRCaW46IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChiaW4gIT09IG9sZEJpbiAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkKSB7XG4gICAgICAgICAgICB0aGlzLmJpbkNoYW5nZS5lbWl0KGJpbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByb3BlcnR5KHByb3BWYWx1ZTogc3RyaW5nLCBwcm9wTmFtZTogJ2NhcmQnIHwgJ2V4cGlyZScgfCAnY3ZjJyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7Y2FyZCwgZXhwaXJlLCBjdmN9ID0gdGhpcy52YWx1ZSB8fCBTVFVCO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZTogVHVpQ2FyZCA9IHtcbiAgICAgICAgICAgIGNhcmQsXG4gICAgICAgICAgICBleHBpcmUsXG4gICAgICAgICAgICBjdmMsXG4gICAgICAgIH07XG5cbiAgICAgICAgbmV3VmFsdWVbcHJvcE5hbWVdID0gcHJvcFZhbHVlO1xuXG4gICAgICAgIGlmICghbmV3VmFsdWUuZXhwaXJlICYmICFuZXdWYWx1ZS5jdmMgJiYgIW5ld1ZhbHVlLmNhcmQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAodGhpcy5jYXJkRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRDYXJkPy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgKHRoaXMuZXhwaXJlRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxufVxuIl19
|
|
389
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBR3RCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBR3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQ0gsNEJBQTRCLEdBRS9CLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsTUFBTSxJ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b250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9DQVJEX01BU0ssIHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ2FyZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlDb2RlQ1ZDTGVuZ3RofSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBnZXRQYXltZW50U3lzdGVtLFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aUFzc2VydElzSFRNTEVsZW1lbnQsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX01PREUsXG4gICAgVFVJX05PTl9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpRGF0YUxpc3RDb21wb25lbnQsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtUZXh0TWFza0NvbmZpZ30gZnJvbSAnYW5ndWxhcjItdGV4dC1tYXNrJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUyxcbiAgICBUdWlDYXJkR3JvdXBlZFRleHRzLFxufSBmcm9tICcuL2lucHV0LWNhcmQtZ3JvdXBlZC5wcm92aWRlcnMnO1xuXG5jb25zdCBTVFVCOiBUdWlDYXJkID0ge1xuICAgIGNhcmQ6IGBgLFxuICAgIGV4cGlyZTogYGAsXG4gICAgY3ZjOiBgYCxcbn07XG5jb25zdCBJQ09OUyA9IHtcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NaXJdOiBgdHVpSWNvbk1pcmAsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uVmlzYV06IGB0dWlJY29uVmlzYWAsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uRWxlY3Ryb25dOiBgdHVpSWNvbkVsZWN0cm9uYCxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYXN0ZXJjYXJkXTogYHR1aUljb25NYXN0ZXJjYXJkYCxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5NYWVzdHJvXTogYHR1aUljb25NYWVzdHJvYCxcbn07XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1pbnB1dC1jYXJkLWdyb3VwZWRgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9pbnB1dC1jYXJkLWdyb3VwZWQudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vaW5wdXQtY2FyZC1ncm91cGVkLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTU9ERV9QUk9WSURFUixcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKCQuZGF0YS1tb2RlLmF0dHIpJzogYG1vZGUkYCxcbiAgICAgICAgJ2RhdGEtc2l6ZSc6IGBsYCxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxUdWlDYXJkPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8UGFydGlhbDxUdWlDYXJkPj5cbntcbiAgICBAVmlld0NoaWxkKGBpbnB1dENhcmRgKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDYXJkPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoYGlucHV0RXhwaXJlYClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0RXhwaXJlPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoYGlucHV0Q1ZDYClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q1ZDPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgZXhwaXJlSW5lcnQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhdXRvY29tcGxldGVFbmFibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFNyYzogUG9seW1vcnBoZXVzQ29udGVudCB8IG51bGwgPSBudWxsOyAvLyBUT0RPOiAzLjAgd2lsbCBiZSBkZWxldGVkIGBudWxsYCBpbiB2My4wXG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZXhhbXBsZVRleHQgPSBgMDAwMCAwMDAwIDAwMDAgMDAwMGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFZhbGlkYXRvcjogVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nPiA9IHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpUmVxdWlyZWRTZXR0ZXIoKVxuICAgIHNldCBjb2RlTGVuZ3RoKGxlbmd0aDogVHVpQ29kZUNWQ0xlbmd0aCkge1xuICAgICAgICB0aGlzLmV4YW1wbGVUZXh0Q1ZDID0gYDBgLnJlcGVhdChsZW5ndGgpO1xuICAgICAgICB0aGlzLm1hc2tDVkMgPSB7XG4gICAgICAgICAgICBtYXNrOiBuZXcgQXJyYXkobGVuZ3RoKS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGF1dG9maWxsZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBiaW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRyb3Bkb3duOiBQb2x5bW9ycGhldXNDb250ZW50ID0gYGA7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0Q29tcG9uZW50KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVHVpRGF0YUxpc3RDb21wb25lbnQ8VHVpQ2FyZD47XG5cbiAgICBleGFtcGxlVGV4dENWQyA9IGAwMDBgO1xuXG4gICAgbWFza0NWQzogVGV4dE1hc2tDb25maWcgPSB7XG4gICAgICAgIG1hc2s6IG5ldyBBcnJheSgzKS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tDYXJkOiBUZXh0TWFza0NvbmZpZyA9IHtcbiAgICAgICAgbWFzazogVFVJX0NBUkRfTUFTSyxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICBwaXBlOiBjb25mb3JtZWRWYWx1ZSA9PiBjb25mb3JtZWRWYWx1ZS50cmltKCksXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tFeHBpcmU6IFRleHRNYXNrQ29uZmlnID0ge1xuICAgICAgICBtYXNrOiBbXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIGAvYCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBdLFxuICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRXhwaXJlUGlwZSgpLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfSBhcyBUdWlUZXh0TWFza09wdGlvbnMgYXMgdW5rbm93biBhcyBUZXh0TWFza0NvbmZpZztcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9DQVJEX0dST1VQRURfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGNhcmRHcm91cGVkVGV4dHMkOiBPYnNlcnZhYmxlPFR1aUNhcmRHcm91cGVkVGV4dHM+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dENhcmQgPyB0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbiB8fCBpc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmNhcmQgPz8gYGA7XG4gICAgfVxuXG4gICAgZ2V0IGV4cGlyZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uZXhwaXJlID8/IGBgO1xuICAgIH1cblxuICAgIGdldCBjdmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmN2YyA/PyBgYDtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZT8uY2FyZD8udHJpbSgpICYmICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0Ryb3Bkb3duKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0SWNvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3BheW1lbnRTeXN0ZW19ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gcGF5bWVudFN5c3RlbSAmJiBJQ09OU1twYXltZW50U3lzdGVtXTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRTcmMgPz8gdGhpcy5kZWZhdWx0SWNvbjtcbiAgICB9XG5cbiAgICBnZXQgYmluKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5jYXJkLmxlbmd0aCA8IDZcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlLmNhcmQuc2xpY2UoMCwgNik7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc0NhcmROdW1iZXI7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0NhcmROdW1iZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudmFsdWU/LmNhcmQ/LnRyaW0oKTtcbiAgICB9XG5cbiAgICBnZXQgaWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlkfV9jYXJkYDtcbiAgICB9XG5cbiAgICBnZXQgaWRFeHBpcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWR9X2V4cGlyZWA7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ1ZDKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlkfV9jdmNgO1xuICAgIH1cblxuICAgIGdldCBpc0NhcmRDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuY2FyZEZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNhcmQoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY051bWJlclxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlRXhwaXJlKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NFeHBcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNWQygpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjQ3NjXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIC8vIFNhZmFyaSBleHBpcmF0aW9uIGRhdGUgYXV0b2ZpbGwgd29ya2Fyb3VuZFxuICAgIGdldCBuYW1lKCk6ICdjY2V4cGlyeXllYXInIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWQgPyBgY2NleHBpcnl5ZWFyYCA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRQcmVmaWxsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY2FyZC5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y1ByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jdmMubWF0Y2goVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgIH1cblxuICAgIGdldCBjYXJkRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgIXRoaXMuY2FyZFByZWZpbGxlZDtcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmV4cGlyZUluZXJ0O1xuICAgIH1cblxuICAgIGdldCBjdmNGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tlZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkUHJlZmlsbGVkID8gYCoke3RoaXMuY2FyZC5zbGljZSgtNCl9YCA6IGAqYDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGBrZXlkb3duLmVzY2ApXG4gICAgb25Fc2MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dEb3duLnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgMWBdKVxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uYXJyb3dVcC5wcmV2ZW50YCwgW2AkZXZlbnQudGFyZ2V0YCwgYC0xYF0pXG4gICAgb25BcnJvdyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzRHJvcGRvd247XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmRhdGFsaXN0Py5vbktleURvd25BcnJvdyhlbGVtZW50LCBzdGVwKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24ob3B0aW9uOiBQYXJ0aWFsPFR1aUNhcmQ+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjYXJkID0gYGAsIGV4cGlyZSA9IGBgLCBjdmMgPSBgYH0gPSBvcHRpb247XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAoIWV4cGlyZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fCB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoe2NhcmQsIGV4cGlyZSwgY3ZjfSk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISFleHBpcmU7XG5cbiAgICAgICAgZWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkNhcmRDaGFuZ2UoY2FyZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgYmlufSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNhcmQuc3BsaXQoYCBgKS5qb2luKGBgKTtcblxuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuY2FyZCA9PT0gcGFyc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KHBhcnNlZCwgYGNhcmRgKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcblxuICAgICAgICBpZiAodGhpcy5jYXJkVmFsaWRhdG9yKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNFeHBpcmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRXhwaXJlQ2hhbmdlKGV4cGlyZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIEBiYWQgVE9ETzogV29ya2Fyb3VuZCB1bnRpbCBtYXNrIHBpcGUgY2FuIHJlcGxhY2UgY2hhcnMgYW5kIGtlZXAgY2FyZXQgcG9zaXRpb25cbiAgICAgICAgLy8gQGJhZCBUT0RPOiBUaGluayBhYm91dCBhIHNvbHV0aW9uIHdpdGhvdXQgbWFzayBhdCBhbGxcbiAgICAgICAgaWYgKCF0aGlzLmlucHV0RXhwaXJlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VJbnQoZXhwaXJlLnNsaWNlKDAsIDIpLCAxMCkgPiAxMikge1xuICAgICAgICAgICAgZXhwaXJlID0gYDEyJHtleHBpcmUuc2xpY2UoMil9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChleHBpcmUuc2xpY2UoMCwgMikgPT09IGAwMGApIHtcbiAgICAgICAgICAgIGV4cGlyZSA9IGAwMSR7ZXhwaXJlLnNsaWNlKDIpfWA7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlucHV0RXhwaXJlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBleHBpcmU7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoZXhwaXJlLCBgZXhwaXJlYCk7XG5cbiAgICAgICAgaWYgKGV4cGlyZS5sZW5ndGggPT09IDUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNDVkMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ1ZDQ2hhbmdlKGN2Yzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoY3ZjLCBgY3ZjYCk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lQ2hhbmdlKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICAgICAgdGhpcy5vcGVuID0gYWN0aXZlICYmIHRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudChldmVudC50YXJnZXQpO1xuXG4gICAgICAgIGlmIChldmVudC50YXJnZXQubWF0Y2hlcyhgaW5wdXRgKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25TY3JvbGwoe2N1cnJlbnRUYXJnZXR9OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0dWlBc3NlcnRJc0hUTUxFbGVtZW50KGN1cnJlbnRUYXJnZXQpO1xuXG4gICAgICAgIGN1cnJlbnRUYXJnZXQuc2Nyb2xsTGVmdCA9IDA7XG4gICAgfVxuXG4gICAgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIHRoaXMuZm9jdXNDYXJkKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFR1aUNhcmQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5leHBpcmVJbmVydCA9ICEhdGhpcy5leHBpcmUgJiYgdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIC8qKiBQdWJsaWMgQVBJIGZvciBtYW51YWwgZm9jdXMgbWFuYWdlbWVudCAqL1xuICAgIGZvY3VzQ2FyZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dENhcmQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBmb2N1c0V4cGlyZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIGZvY3VzQ1ZDKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY2FyZEZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaW5wdXRDYXJkICYmIGlzTmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwYXltZW50U3lzdGVtKCk6IFR1aVBheW1lbnRTeXN0ZW0gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgJiYgZ2V0UGF5bWVudFN5c3RlbSh0aGlzLnZhbHVlLmNhcmQpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBpc0ZvY3VzYWJsZShjYXJkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlICYmICh0aGlzLmNhcmRWYWxpZGF0b3IoY2FyZCkgfHwgdGhpcy5jYXJkUHJlZmlsbGVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUJpbihvbGRCaW46IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChiaW4gIT09IG9sZEJpbiAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkKSB7XG4gICAgICAgICAgICB0aGlzLmJpbkNoYW5nZS5lbWl0KGJpbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByb3BlcnR5KHByb3BWYWx1ZTogc3RyaW5nLCBwcm9wTmFtZTogJ2NhcmQnIHwgJ2V4cGlyZScgfCAnY3ZjJyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7Y2FyZCwgZXhwaXJlLCBjdmN9ID0gdGhpcy52YWx1ZSB8fCBTVFVCO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZTogVHVpQ2FyZCA9IHtcbiAgICAgICAgICAgIGNhcmQsXG4gICAgICAgICAgICBleHBpcmUsXG4gICAgICAgICAgICBjdmMsXG4gICAgICAgIH07XG5cbiAgICAgICAgbmV3VmFsdWVbcHJvcE5hbWVdID0gcHJvcFZhbHVlO1xuXG4gICAgICAgIGlmICghbmV3VmFsdWUuZXhwaXJlICYmICFuZXdWYWx1ZS5jdmMgJiYgIW5ld1ZhbHVlLmNhcmQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAodGhpcy5jYXJkRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRDYXJkPy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgKHRoaXMuZXhwaXJlRm9jdXNhYmxlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIGVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -477,7 +477,7 @@ var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
|
|
|
477
477
|
TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
|
|
478
478
|
Component({
|
|
479
479
|
selector: "tui-input-card-grouped",
|
|
480
|
-
template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n [tuiDropdown]=\"open\"\n [tuiDropdownContent]=\"dropdown || ''\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard: cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n tuiInputMode=\"numeric\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper: cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n >\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [class.t-value_collapsed]=\"isCardCollapsed\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n type=\"text\"\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n polymorpheus-outlet\n class=\"t-icon-outlet\"\n [content]=\"icon\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</tui-wrapper>\n",
|
|
480
|
+
template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n [tuiDropdown]=\"open\"\n [tuiDropdownContent]=\"dropdown || ''\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard: cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n translate=\"no\"\n automation-id=\"tui-input-card-grouped__card\"\n tuiInputMode=\"numeric\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper: cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n aria-hidden=\"true\"\n translate=\"no\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n >\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [class.t-value_collapsed]=\"isCardCollapsed\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n type=\"text\"\n translate=\"no\"\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n translate=\"no\"\n automation-id=\"tui-input-card-grouped__cvc\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n polymorpheus-outlet\n class=\"t-icon-outlet\"\n [content]=\"icon\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</tui-wrapper>\n",
|
|
481
481
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
482
482
|
providers: [
|
|
483
483
|
MODE_PROVIDER,
|
|
@@ -494,7 +494,7 @@ var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
|
|
|
494
494
|
'($.data-mode.attr)': "mode$",
|
|
495
495
|
'data-size': "l",
|
|
496
496
|
},
|
|
497
|
-
styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill:var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;height:100%;width:100%;overflow:hidden}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate3d(100%,0,0)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate3d(100%,0,0)}.t-wrapper_active{transform:translate3d(6.5625rem,0,0)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate3d(4.125rem,0,0)}.t-card{width:2rem;height:2rem;margin-right:.625rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 0 0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:focus,.t-collapsed:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-collapsed{padding:0 var(--tui-padding-s)}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-collapsed{padding:0 var(--tui-padding-l)}.t-collapsed :host-context(tui-primitive-textfield._disabled),.t-collapsed :host-context(tui-text-area._disabled),:host._disabled .t-collapsed{pointer-events:none}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-collapsed{padding-top:1.25rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-collapsed{padding-top:1.125rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-collapsed :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-collapsed{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}.t-collapsed-wrapper{position:absolute;top:0;display:block;width:100%;height:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;transform:translate3d(100%,0,0)}.t-value_collapsed{transform:translate3d(4ch,0,0)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input::-ms-input-placeholder{color:var(--tui-text-03)}.t-input::placeholder{color:var(--tui-text-03)}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}.t-input_card:not(.t-input_hidden),.t-input_card:not(.t-input_hidden):-webkit-autofill,.t-input_card:not(.t-input_hidden)::placeholder,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden),:host[data-mode=onDark] .t-input_card:not(.t-input_hidden):-webkit-autofill,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden)::placeholder{color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input_card::-webkit-credit-card-auto-fill-button,:host[data-mode=onDark] .t-input_card::-webkit-credit-card-auto-fill-button{pointer-events:none;background-color:transparent!important;-webkit-mask-image:none!important}.t-input_inert{pointer-events:none}.t-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:inherit}.t-icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-icon:hover{color:var(--tui-text-02)}:host._disabled .t-icon,:host._readonly .t-icon{pointer-events:none}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-icon:hover{color:var(--tui-text-01-night)}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}"]
|
|
497
|
+
styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill:var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;height:100%;width:100%;overflow:hidden}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate3d(100%,0,0)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate3d(100%,0,0)}.t-wrapper_active{transform:translate3d(6.5625rem,0,0)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate3d(4.125rem,0,0)}.t-card{width:2rem;height:2rem;margin-right:.625rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 0 0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:focus,.t-collapsed:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-collapsed{padding:0 var(--tui-padding-s)}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-collapsed{padding:0 var(--tui-padding-l)}.t-collapsed :host-context(tui-primitive-textfield._disabled),.t-collapsed :host-context(tui-text-area._disabled),:host._disabled .t-collapsed{pointer-events:none}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-collapsed{padding-top:1.25rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-collapsed{padding-top:1.125rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-collapsed :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-collapsed{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}.t-collapsed-wrapper{position:absolute;top:0;display:block;width:100%;height:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;transform:translate3d(100%,0,0)}.t-value_collapsed{transform:translate3d(4ch,0,0)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input::-ms-input-placeholder{color:var(--tui-text-03)}.t-input::placeholder{color:var(--tui-text-03)}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}.t-input_card:not(.t-input_hidden),.t-input_card:not(.t-input_hidden):-webkit-autofill,.t-input_card:not(.t-input_hidden)::placeholder,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden),:host[data-mode=onDark] .t-input_card:not(.t-input_hidden):-webkit-autofill,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden)::placeholder{caret-color:var(--tui-base-09);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input_card::-webkit-credit-card-auto-fill-button,:host[data-mode=onDark] .t-input_card::-webkit-credit-card-auto-fill-button{pointer-events:none;background-color:transparent!important;-webkit-mask-image:none!important}.t-input_inert{pointer-events:none}.t-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:inherit}.t-icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-icon:hover{color:var(--tui-text-02)}:host._disabled .t-icon,:host._readonly .t-icon{pointer-events:none}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-icon:hover{color:var(--tui-text-01-night)}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}"]
|
|
498
498
|
}),
|
|
499
499
|
__param(0, Optional()),
|
|
500
500
|
__param(0, Self()),
|
|
@@ -508,4 +508,4 @@ var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
|
|
|
508
508
|
return TuiInputCardGroupedComponent;
|
|
509
509
|
}(AbstractTuiNullableControl));
|
|
510
510
|
export { TuiInputCardGroupedComponent };
|
|
511
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBR3RCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBR3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQ0gsNEJBQTRCLEdBRS9CLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsSUFBTSxJ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LENBQUM7aUJBQzlEO2FBQ0o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTztnQkFDN0IsV0FBVyxFQUFFLEdBQUc7YUFDbkI7O1NBQ0osQ0FBQztRQWtGTyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEIsV0FBQSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtRQUVwQyxXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO09BMUY1Qiw0QkFBNEIsQ0ErWHhDO0lBQUQsbUNBQUM7Q0FBQSxBQS9YRCxDQUNZLDBCQUEwQixHQThYckM7U0EvWFksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VFVJX0NBUkRfTUFTSywgdHVpRGVmYXVsdENhcmRWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlQYXltZW50U3lzdGVtfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvZW51bXMnO1xuaW1wb3J0IHtUdWlDYXJkfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aUNvZGVDVkNMZW5ndGh9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge1xuICAgIGdldFBheW1lbnRTeXN0ZW0sXG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZEV4cGlyZVBpcGUsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS91dGlscyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudCxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlQdXJlLFxuICAgIHR1aVJlcXVpcmVkU2V0dGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTU9ERSxcbiAgICBUVUlfTk9OX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdENvbXBvbmVudCxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTLFxuICAgIFR1aUNhcmRHcm91cGVkVGV4dHMsXG59IGZyb20gJy4vaW5wdXQtY2FyZC1ncm91cGVkLnByb3ZpZGVycyc7XG5cbmNvbnN0IFNUVUI6IFR1aUNhcmQgPSB7XG4gICAgY2FyZDogYGAsXG4gICAgZXhwaXJlOiBgYCxcbiAgICBjdmM6IGBgLFxufTtcbmNvbnN0IElDT05TID0ge1xuICAgIFtUdWlQYXltZW50U3lzdGVtLk1pcl06IGB0dWlJY29uTWlyYCxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5WaXNhXTogYHR1aUljb25WaXNhYCxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5FbGVjdHJvbl06IGB0dWlJY29uRWxlY3Ryb25gLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLk1hc3RlcmNhcmRdOiBgdHVpSWNvbk1hc3RlcmNhcmRgLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLk1hZXN0cm9dOiBgdHVpSWNvbk1hZXN0cm9gLFxufTtcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWlucHV0LWNhcmQtZ3JvdXBlZGAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2lucHV0LWNhcmQtZ3JvdXBlZC50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9pbnB1dC1jYXJkLWdyb3VwZWQuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiBgbW9kZSRgLFxuICAgICAgICAnZGF0YS1zaXplJzogYGxgLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUNhcmQ+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxQYXJ0aWFsPFR1aUNhcmQ+Plxue1xuICAgIEBWaWV3Q2hpbGQoYGlucHV0Q2FyZGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENhcmQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChgaW5wdXRFeHBpcmVgKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRFeHBpcmU/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChgaW5wdXRDVkNgKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDVkM/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBleHBpcmVJbmVydCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGF1dG9jb21wbGV0ZUVuYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkU3JjOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCA9IG51bGw7IC8vIFRPRE86IDMuMCB3aWxsIGJlIGRlbGV0ZWQgYG51bGxgIGluIHYzLjBcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBleGFtcGxlVGV4dCA9IGAwMDAwIDAwMDAgMDAwMCAwMDAwYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkVmFsaWRhdG9yOiBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+ID0gdHVpRGVmYXVsdENhcmRWYWxpZGF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGNvZGVMZW5ndGgobGVuZ3RoOiBUdWlDb2RlQ1ZDTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZXhhbXBsZVRleHRDVkMgPSBgMGAucmVwZWF0KGxlbmd0aCk7XG4gICAgICAgIHRoaXMubWFza0NWQyA9IHtcbiAgICAgICAgICAgIG1hc2s6IG5ldyBBcnJheShsZW5ndGgpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGJpbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZHJvcGRvd246IFBvbHltb3JwaGV1c0NvbnRlbnQgPSBgYDtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3RDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUdWlEYXRhTGlzdENvbXBvbmVudDxUdWlDYXJkPjtcblxuICAgIGV4YW1wbGVUZXh0Q1ZDID0gYDAwMGA7XG5cbiAgICBtYXNrQ1ZDOiBUZXh0TWFza0NvbmZpZyA9IHtcbiAgICAgICAgbWFzazogbmV3IEFycmF5KDMpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0NhcmQ6IFRleHRNYXNrQ29uZmlnID0ge1xuICAgICAgICBtYXNrOiBUVUlfQ0FSRF9NQVNLLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIHBpcGU6IGNvbmZvcm1lZFZhbHVlID0+IGNvbmZvcm1lZFZhbHVlLnRyaW0oKSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0V4cGlyZTogVGV4dE1hc2tDb25maWcgPSB7XG4gICAgICAgIG1hc2s6IFtcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgYC9gLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIF0sXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlKCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9IGFzIFR1aVRleHRNYXNrT3B0aW9ucyBhcyB1bmtub3duIGFzIFRleHRNYXNrQ29uZmlnO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgY2FyZEdyb3VwZWRUZXh0cyQ6IE9ic2VydmFibGU8VHVpQ2FyZEdyb3VwZWRUZXh0cz4sXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFKVxuICAgICAgICByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0Q2FyZCA/IHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuIHx8IGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY2FyZCA/PyBgYDtcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5leHBpcmUgPz8gYGA7XG4gICAgfVxuXG4gICAgZ2V0IGN2YygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY3ZjID8/IGBgO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlPy5jYXJkPy50cmltKCkgJiYgIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzRHJvcGRvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd247XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRJY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB7cGF5bWVudFN5c3RlbX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBwYXltZW50U3lzdGVtICYmIElDT05TW3BheW1lbnRTeXN0ZW1dO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZFNyYyA/PyB0aGlzLmRlZmF1bHRJY29uO1xuICAgIH1cblxuICAgIGdldCBiaW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmNhcmQubGVuZ3RoIDwgNlxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudmFsdWUuY2FyZC5zbGljZSgwLCA2KTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJSYWlzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5jb21wdXRlZEZvY3VzZWQgJiYgIXRoaXMucmVhZE9ubHkpIHx8IHRoaXMuaGFzQ2FyZE51bWJlcjtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2FyZE51bWJlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZT8uY2FyZD8udHJpbSgpO1xuICAgIH1cblxuICAgIGdldCBpZENhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWR9X2NhcmRgO1xuICAgIH1cblxuICAgIGdldCBpZEV4cGlyZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH1fZXhwaXJlYDtcbiAgICB9XG5cbiAgICBnZXQgaWRDVkMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWR9X2N2Y2A7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ2FyZENvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKSAmJiAhdGhpcy5jYXJkRm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ2FyZCgpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjTnVtYmVyXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVFeHBpcmUoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY0V4cFxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ1ZDKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NDc2NcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZCA/IGBjY2V4cGlyeXllYXJgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY2FyZFByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jYXJkLm1hdGNoKFRVSV9OT05fRElHSVRfUkVHRVhQKTtcbiAgICB9XG5cbiAgICBnZXQgY3ZjUHJlZmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmN2Yy5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIGdldCBleHBpcmVGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlSW5lcnQ7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKTtcbiAgICB9XG5cbiAgICBnZXQgbWFza2VkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRQcmVmaWxsZWQgPyBgKiR7dGhpcy5jYXJkLnNsaWNlKC00KX1gIDogYCpgO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uZXNjYClcbiAgICBvbkVzYygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudGAsIFtgJGV2ZW50LnRhcmdldGAsIGAxYF0pXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd1VwLnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgLTFgXSlcbiAgICBvbkFycm93KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gdGhpcy5oYXNEcm9wZG93bjtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZGF0YWxpc3Q/Lm9uS2V5RG93bkFycm93KGVsZW1lbnQsIHN0ZXApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFBhcnRpYWw8VHVpQ2FyZD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NhcmQgPSBgYCwgZXhwaXJlID0gYGAsIGN2YyA9IGBgfSA9IG9wdGlvbjtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICghZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8IHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh7Y2FyZCwgZXhwaXJlLCBjdmN9KTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwaXJlSW5lcnQgPSAhIWV4cGlyZTtcblxuICAgICAgICBlbGVtZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uQ2FyZENoYW5nZShjYXJkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY2FyZC5zcGxpdChgIGApLmpvaW4oYGApO1xuXG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5jYXJkID09PSBwYXJzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkocGFyc2VkLCBgY2FyZGApO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuXG4gICAgICAgIGlmICh0aGlzLmNhcmRWYWxpZGF0b3IodGhpcy5jYXJkKSAmJiAhdGhpcy5leHBpcmUgJiYgdGhpcy5pbnB1dEV4cGlyZSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0V4cGlyZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeHBpcmVDaGFuZ2UoZXhwaXJlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gQGJhZCBUT0RPOiBXb3JrYXJvdW5kIHVudGlsIG1hc2sgcGlwZSBjYW4gcmVwbGFjZSBjaGFycyBhbmQga2VlcCBjYXJldCBwb3NpdGlvblxuICAgICAgICAvLyBAYmFkIFRPRE86IFRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCBtYXNrIGF0IGFsbFxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZUludChleHBpcmUuc2xpY2UoMCwgMiksIDEwKSA+IDEyKSB7XG4gICAgICAgICAgICBleHBpcmUgPSBgMTIke2V4cGlyZS5zbGljZSgyKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZS5zbGljZSgwLCAyKSA9PT0gYDAwYCkge1xuICAgICAgICAgICAgZXhwaXJlID0gYDAxJHtleHBpcmUuc2xpY2UoMil9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRFeHBpcmUubmF0aXZlRWxlbWVudC52YWx1ZSA9IGV4cGlyZTtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShleHBpcmUsIGBleHBpcmVgKTtcblxuICAgICAgICBpZiAoZXhwaXJlLmxlbmd0aCA9PT0gNSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0NWQygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DVkNDaGFuZ2UoY3ZjOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShjdmMsIGBjdmNgKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmVDaGFuZ2UoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgICAgICB0aGlzLm9wZW4gPSBhY3RpdmUgJiYgdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0dWlBc3NlcnRJc0hUTUxFbGVtZW50KGV2ZW50LnRhcmdldCk7XG5cbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5tYXRjaGVzKGBpbnB1dGApKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvblNjcm9sbCh7Y3VycmVudFRhcmdldH06IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHR1aUFzc2VydElzSFRNTEVsZW1lbnQoY3VycmVudFRhcmdldCk7XG5cbiAgICAgICAgY3VycmVudFRhcmdldC5zY3JvbGxMZWZ0ID0gMDtcbiAgICB9XG5cbiAgICBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5mb2N1c0NhcmQoKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpQ2FyZCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISF0aGlzLmV4cGlyZSAmJiB0aGlzLmNhcmRQcmVmaWxsZWQ7XG4gICAgfVxuXG4gICAgLyoqIFB1YmxpYyBBUEkgZm9yIG1hbnVhbCBmb2N1cyBtYW5hZ2VtZW50ICovXG4gICAgZm9jdXNDYXJkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0Q2FyZD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvY3VzRXhwaXJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgZm9jdXNDVkMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjYXJkRm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pbnB1dENhcmQgJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBheW1lbnRTeXN0ZW0oKTogVHVpUGF5bWVudFN5c3RlbSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAmJiBnZXRQYXltZW50U3lzdGVtKHRoaXMudmFsdWUuY2FyZCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGlzRm9jdXNhYmxlKGNhcmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgKHRoaXMuY2FyZFZhbGlkYXRvcihjYXJkKSB8fCB0aGlzLmNhcmRQcmVmaWxsZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQmluKG9sZEJpbjogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGJpbiAhPT0gb2xkQmluICYmICF0aGlzLmNhcmRQcmVmaWxsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYmluQ2hhbmdlLmVtaXQoYmluKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJvcGVydHkocHJvcFZhbHVlOiBzdHJpbmcsIHByb3BOYW1lOiAnY2FyZCcgfCAnZXhwaXJlJyB8ICdjdmMnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjYXJkLCBleHBpcmUsIGN2Y30gPSB0aGlzLnZhbHVlIHx8IFNUVUI7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlOiBUdWlDYXJkID0ge1xuICAgICAgICAgICAgY2FyZCxcbiAgICAgICAgICAgIGV4cGlyZSxcbiAgICAgICAgICAgIGN2YyxcbiAgICAgICAgfTtcblxuICAgICAgICBuZXdWYWx1ZVtwcm9wTmFtZV0gPSBwcm9wVmFsdWU7XG5cbiAgICAgICAgaWYgKCFuZXdWYWx1ZS5leHBpcmUgJiYgIW5ld1ZhbHVlLmN2YyAmJiAhbmV3VmFsdWUuY2FyZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICh0aGlzLmNhcmRGb2N1c2FibGUgJiYgdGhpcy5pbnB1dENhcmQ/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAodGhpcy5leHBpcmVGb2N1c2FibGUgJiYgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgZWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=
|
|
511
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBR3RCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBR3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQ0gsNEJBQTRCLEdBRS9CLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsSUFBTSxJ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LENBQUM7aUJBQzlEO2FBQ0o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTztnQkFDN0IsV0FBVyxFQUFFLEdBQUc7YUFDbkI7O1NBQ0osQ0FBQztRQWtGTyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEIsV0FBQSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtRQUVwQyxXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO09BMUY1Qiw0QkFBNEIsQ0ErWHhDO0lBQUQsbUNBQUM7Q0FBQSxBQS9YRCxDQUNZLDBCQUEwQixHQThYckM7U0EvWFksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VFVJX0NBUkRfTUFTSywgdHVpRGVmYXVsdENhcmRWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlQYXltZW50U3lzdGVtfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvZW51bXMnO1xuaW1wb3J0IHtUdWlDYXJkfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aUNvZGVDVkNMZW5ndGh9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge1xuICAgIGdldFBheW1lbnRTeXN0ZW0sXG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZEV4cGlyZVBpcGUsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS91dGlscyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudCxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlQdXJlLFxuICAgIHR1aVJlcXVpcmVkU2V0dGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTU9ERSxcbiAgICBUVUlfTk9OX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdENvbXBvbmVudCxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTLFxuICAgIFR1aUNhcmRHcm91cGVkVGV4dHMsXG59IGZyb20gJy4vaW5wdXQtY2FyZC1ncm91cGVkLnByb3ZpZGVycyc7XG5cbmNvbnN0IFNUVUI6IFR1aUNhcmQgPSB7XG4gICAgY2FyZDogYGAsXG4gICAgZXhwaXJlOiBgYCxcbiAgICBjdmM6IGBgLFxufTtcbmNvbnN0IElDT05TID0ge1xuICAgIFtUdWlQYXltZW50U3lzdGVtLk1pcl06IGB0dWlJY29uTWlyYCxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5WaXNhXTogYHR1aUljb25WaXNhYCxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5FbGVjdHJvbl06IGB0dWlJY29uRWxlY3Ryb25gLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLk1hc3RlcmNhcmRdOiBgdHVpSWNvbk1hc3RlcmNhcmRgLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLk1hZXN0cm9dOiBgdHVpSWNvbk1hZXN0cm9gLFxufTtcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWlucHV0LWNhcmQtZ3JvdXBlZGAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2lucHV0LWNhcmQtZ3JvdXBlZC50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9pbnB1dC1jYXJkLWdyb3VwZWQuc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiBgbW9kZSRgLFxuICAgICAgICAnZGF0YS1zaXplJzogYGxgLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUNhcmQ+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxQYXJ0aWFsPFR1aUNhcmQ+Plxue1xuICAgIEBWaWV3Q2hpbGQoYGlucHV0Q2FyZGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENhcmQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChgaW5wdXRFeHBpcmVgKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRFeHBpcmU/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChgaW5wdXRDVkNgKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDVkM/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBleHBpcmVJbmVydCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGF1dG9jb21wbGV0ZUVuYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkU3JjOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCA9IG51bGw7IC8vIFRPRE86IDMuMCB3aWxsIGJlIGRlbGV0ZWQgYG51bGxgIGluIHYzLjBcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBleGFtcGxlVGV4dCA9IGAwMDAwIDAwMDAgMDAwMCAwMDAwYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkVmFsaWRhdG9yOiBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+ID0gdHVpRGVmYXVsdENhcmRWYWxpZGF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGNvZGVMZW5ndGgobGVuZ3RoOiBUdWlDb2RlQ1ZDTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZXhhbXBsZVRleHRDVkMgPSBgMGAucmVwZWF0KGxlbmd0aCk7XG4gICAgICAgIHRoaXMubWFza0NWQyA9IHtcbiAgICAgICAgICAgIG1hc2s6IG5ldyBBcnJheShsZW5ndGgpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGJpbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZHJvcGRvd246IFBvbHltb3JwaGV1c0NvbnRlbnQgPSBgYDtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3RDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUdWlEYXRhTGlzdENvbXBvbmVudDxUdWlDYXJkPjtcblxuICAgIGV4YW1wbGVUZXh0Q1ZDID0gYDAwMGA7XG5cbiAgICBtYXNrQ1ZDOiBUZXh0TWFza0NvbmZpZyA9IHtcbiAgICAgICAgbWFzazogbmV3IEFycmF5KDMpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0NhcmQ6IFRleHRNYXNrQ29uZmlnID0ge1xuICAgICAgICBtYXNrOiBUVUlfQ0FSRF9NQVNLLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIHBpcGU6IGNvbmZvcm1lZFZhbHVlID0+IGNvbmZvcm1lZFZhbHVlLnRyaW0oKSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0V4cGlyZTogVGV4dE1hc2tDb25maWcgPSB7XG4gICAgICAgIG1hc2s6IFtcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgYC9gLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIF0sXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlKCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9IGFzIFR1aVRleHRNYXNrT3B0aW9ucyBhcyB1bmtub3duIGFzIFRleHRNYXNrQ29uZmlnO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgY2FyZEdyb3VwZWRUZXh0cyQ6IE9ic2VydmFibGU8VHVpQ2FyZEdyb3VwZWRUZXh0cz4sXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFKVxuICAgICAgICByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0Q2FyZCA/IHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuIHx8IGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY2FyZCA/PyBgYDtcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5leHBpcmUgPz8gYGA7XG4gICAgfVxuXG4gICAgZ2V0IGN2YygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY3ZjID8/IGBgO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlPy5jYXJkPy50cmltKCkgJiYgIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzRHJvcGRvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd247XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRJY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB7cGF5bWVudFN5c3RlbX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBwYXltZW50U3lzdGVtICYmIElDT05TW3BheW1lbnRTeXN0ZW1dO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZFNyYyA/PyB0aGlzLmRlZmF1bHRJY29uO1xuICAgIH1cblxuICAgIGdldCBiaW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmNhcmQubGVuZ3RoIDwgNlxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudmFsdWUuY2FyZC5zbGljZSgwLCA2KTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJSYWlzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5jb21wdXRlZEZvY3VzZWQgJiYgIXRoaXMucmVhZE9ubHkpIHx8IHRoaXMuaGFzQ2FyZE51bWJlcjtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2FyZE51bWJlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZT8uY2FyZD8udHJpbSgpO1xuICAgIH1cblxuICAgIGdldCBpZENhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWR9X2NhcmRgO1xuICAgIH1cblxuICAgIGdldCBpZEV4cGlyZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH1fZXhwaXJlYDtcbiAgICB9XG5cbiAgICBnZXQgaWRDVkMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWR9X2N2Y2A7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ2FyZENvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKSAmJiAhdGhpcy5jYXJkRm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ2FyZCgpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjTnVtYmVyXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVFeHBpcmUoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY0V4cFxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ1ZDKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NDc2NcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZCA/IGBjY2V4cGlyeXllYXJgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY2FyZFByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jYXJkLm1hdGNoKFRVSV9OT05fRElHSVRfUkVHRVhQKTtcbiAgICB9XG5cbiAgICBnZXQgY3ZjUHJlZmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmN2Yy5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIGdldCBleHBpcmVGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlSW5lcnQ7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKTtcbiAgICB9XG5cbiAgICBnZXQgbWFza2VkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRQcmVmaWxsZWQgPyBgKiR7dGhpcy5jYXJkLnNsaWNlKC00KX1gIDogYCpgO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYGtleWRvd24uZXNjYClcbiAgICBvbkVzYygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudGAsIFtgJGV2ZW50LnRhcmdldGAsIGAxYF0pXG4gICAgQEhvc3RMaXN0ZW5lcihga2V5ZG93bi5hcnJvd1VwLnByZXZlbnRgLCBbYCRldmVudC50YXJnZXRgLCBgLTFgXSlcbiAgICBvbkFycm93KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gdGhpcy5oYXNEcm9wZG93bjtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZGF0YWxpc3Q/Lm9uS2V5RG93bkFycm93KGVsZW1lbnQsIHN0ZXApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFBhcnRpYWw8VHVpQ2FyZD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NhcmQgPSBgYCwgZXhwaXJlID0gYGAsIGN2YyA9IGBgfSA9IG9wdGlvbjtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICghZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8IHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh7Y2FyZCwgZXhwaXJlLCBjdmN9KTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwaXJlSW5lcnQgPSAhIWV4cGlyZTtcblxuICAgICAgICBlbGVtZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uQ2FyZENoYW5nZShjYXJkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY2FyZC5zcGxpdChgIGApLmpvaW4oYGApO1xuXG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5jYXJkID09PSBwYXJzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkocGFyc2VkLCBgY2FyZGApO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuXG4gICAgICAgIGlmICh0aGlzLmNhcmRWYWxpZGF0b3IodGhpcy5jYXJkKSAmJiAhdGhpcy5leHBpcmUgJiYgdGhpcy5pbnB1dEV4cGlyZSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0V4cGlyZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeHBpcmVDaGFuZ2UoZXhwaXJlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gQGJhZCBUT0RPOiBXb3JrYXJvdW5kIHVudGlsIG1hc2sgcGlwZSBjYW4gcmVwbGFjZSBjaGFycyBhbmQga2VlcCBjYXJldCBwb3NpdGlvblxuICAgICAgICAvLyBAYmFkIFRPRE86IFRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCBtYXNrIGF0IGFsbFxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZUludChleHBpcmUuc2xpY2UoMCwgMiksIDEwKSA+IDEyKSB7XG4gICAgICAgICAgICBleHBpcmUgPSBgMTIke2V4cGlyZS5zbGljZSgyKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZS5zbGljZSgwLCAyKSA9PT0gYDAwYCkge1xuICAgICAgICAgICAgZXhwaXJlID0gYDAxJHtleHBpcmUuc2xpY2UoMil9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRFeHBpcmUubmF0aXZlRWxlbWVudC52YWx1ZSA9IGV4cGlyZTtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShleHBpcmUsIGBleHBpcmVgKTtcblxuICAgICAgICBpZiAoZXhwaXJlLmxlbmd0aCA9PT0gNSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0NWQygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DVkNDaGFuZ2UoY3ZjOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShjdmMsIGBjdmNgKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmVDaGFuZ2UoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgICAgICB0aGlzLm9wZW4gPSBhY3RpdmUgJiYgdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0dWlBc3NlcnRJc0hUTUxFbGVtZW50KGV2ZW50LnRhcmdldCk7XG5cbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5tYXRjaGVzKGBpbnB1dGApKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvblNjcm9sbCh7Y3VycmVudFRhcmdldH06IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHR1aUFzc2VydElzSFRNTEVsZW1lbnQoY3VycmVudFRhcmdldCk7XG5cbiAgICAgICAgY3VycmVudFRhcmdldC5zY3JvbGxMZWZ0ID0gMDtcbiAgICB9XG5cbiAgICBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5mb2N1c0NhcmQoKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpQ2FyZCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISF0aGlzLmV4cGlyZSAmJiB0aGlzLmNhcmRQcmVmaWxsZWQ7XG4gICAgfVxuXG4gICAgLyoqIFB1YmxpYyBBUEkgZm9yIG1hbnVhbCBmb2N1cyBtYW5hZ2VtZW50ICovXG4gICAgZm9jdXNDYXJkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0Q2FyZD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvY3VzRXhwaXJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgZm9jdXNDVkMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjYXJkRm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pbnB1dENhcmQgJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBheW1lbnRTeXN0ZW0oKTogVHVpUGF5bWVudFN5c3RlbSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAmJiBnZXRQYXltZW50U3lzdGVtKHRoaXMudmFsdWUuY2FyZCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGlzRm9jdXNhYmxlKGNhcmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgKHRoaXMuY2FyZFZhbGlkYXRvcihjYXJkKSB8fCB0aGlzLmNhcmRQcmVmaWxsZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQmluKG9sZEJpbjogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGJpbiAhPT0gb2xkQmluICYmICF0aGlzLmNhcmRQcmVmaWxsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYmluQ2hhbmdlLmVtaXQoYmluKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJvcGVydHkocHJvcFZhbHVlOiBzdHJpbmcsIHByb3BOYW1lOiAnY2FyZCcgfCAnZXhwaXJlJyB8ICdjdmMnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjYXJkLCBleHBpcmUsIGN2Y30gPSB0aGlzLnZhbHVlIHx8IFNUVUI7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlOiBUdWlDYXJkID0ge1xuICAgICAgICAgICAgY2FyZCxcbiAgICAgICAgICAgIGV4cGlyZSxcbiAgICAgICAgICAgIGN2YyxcbiAgICAgICAgfTtcblxuICAgICAgICBuZXdWYWx1ZVtwcm9wTmFtZV0gPSBwcm9wVmFsdWU7XG5cbiAgICAgICAgaWYgKCFuZXdWYWx1ZS5leHBpcmUgJiYgIW5ld1ZhbHVlLmN2YyAmJiAhbmV3VmFsdWUuY2FyZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICh0aGlzLmNhcmRGb2N1c2FibGUgJiYgdGhpcy5pbnB1dENhcmQ/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAodGhpcy5leHBpcmVGb2N1c2FibGUgJiYgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgZWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=
|