ngx-mat-lib
Version:
A bunch of utilities and components to use in your Angular 7+ apps!
154 lines (153 loc) • 28.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, Output, ViewEncapsulation } from "@angular/core";
import { mixinColor } from "@angular/material";
import { coerceBooleanProperty } from "@angular/cdk/coercion";
import { EventEmitter } from "@angular/core";
/** @type {?} */
var DEFAULT_COLOR = "accent";
/** @type {?} */
var transcludedHeaderSelector = ".xmat-accordion-examples-title";
/** @type {?} */
var headerSelector = "mat-expansion-panel-header";
var XmatAccordionBase = /** @class */ (function () {
// tslint:disable-next-line:naming-convention
function XmatAccordionBase(_elementRef) {
this._elementRef = _elementRef;
}
return XmatAccordionBase;
}());
export { XmatAccordionBase };
if (false) {
/** @type {?} */
XmatAccordionBase.prototype._elementRef;
}
/** @type {?} */
export var _XmatAccordionMixinBase = mixinColor(XmatAccordionBase);
var XmatAccordionComponent = /** @class */ (function (_super) {
tslib_1.__extends(XmatAccordionComponent, _super);
function XmatAccordionComponent(elementRef) {
var _this = _super.call(this, elementRef) || this;
_this.expandedChange = new EventEmitter();
_this._expanded = false;
_this.color = DEFAULT_COLOR;
return _this;
}
Object.defineProperty(XmatAccordionComponent.prototype, "expanded", {
get: /**
* @return {?}
*/
function () {
return this._expanded;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._expanded = coerceBooleanProperty(value);
this.expandedChange.emit(this._expanded);
},
enumerable: true,
configurable: true
});
Object.defineProperty(XmatAccordionComponent.prototype, "collapsedHeight", {
get: /**
* @return {?}
*/
function () {
return this._collapsedHeight;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._collapsedHeight = value;
},
enumerable: true,
configurable: true
});
Object.defineProperty(XmatAccordionComponent.prototype, "expandedHeight", {
get: /**
* @return {?}
*/
function () {
return this._expandedHeight;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._expandedHeight = value;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
XmatAccordionComponent.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
/** @type {?} */
var $header = this._elementRef.nativeElement.querySelector(headerSelector);
if (!!$header) {
/** @type {?} */
var $panel = $header.parentElement;
if ($header.querySelectorAll(transcludedHeaderSelector).length === 0) {
$panel.removeChild($header);
$panel.classList.add("xmat-accordion-examples-no-header");
}
}
};
XmatAccordionComponent.decorators = [
{ type: Component, args: [{
selector: "xmat-accordion",
host: {
"[attr.disabled]": "disabled || null",
"class": "xmat-accordion-examples",
"[class.mat-primary]": "color == 'primary'",
"[class.mat-accent]": "color == 'accent'",
"[class.mat-warn]": "color == 'warn'"
},
template: " <mat-accordion>\n <mat-expansion-panel [disabled]=\"disabled\"\n [(expanded)]=\"expanded\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n <ng-content select=\".xmat-accordion-title\"></ng-content>\n </mat-panel-title>\n <mat-panel-description>\n <ng-content select=\".xmat-accordion-desc\"></ng-content>\n </mat-panel-description>\n </mat-expansion-panel-header>\n <ng-content select=\".xmat-accordion-content\"></ng-content>\n </mat-expansion-panel>\n</mat-accordion>\n",
encapsulation: ViewEncapsulation.None,
styles: ["@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif}.mat-expansion-panel-header{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28122em) scale(.75);transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28121em) scale(.75);transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.2812em) scale(.75);transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif}.mat-simple-snackbar{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-nested-tree-node,.mat-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;-webkit-transition:opacity,-webkit-transform cubic-bezier(0,0,.2,1);transition:opacity,transform cubic-bezier(0,0,.2,1),-webkit-transform cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:-webkit-box;display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:-webkit-box;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .4s cubic-bezier(.25,.8,.25,1);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.xmat-accordion.mat-primary mat-expansion-panel.mat-expansion-panel{background-color:#2d6da3}.xmat-accordion.mat-accent mat-expansion-panel.mat-expansion-panel{background-color:#f2f9fc}.xmat-accordion.mat-warn mat-expansion-panel.mat-expansion-panel{background-color:#f44336}.xmat-accordion mat-expansion-panel.mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-top:24px;padding-left:16px;padding-right:16px;box-shadow:0 -5px 5px -5px #e2e2e2 inset 0 0 0 #444}.xmat-accordion mat-expansion-panel.mat-expansion-panel.xmat-accordion-no-header .mat-expansion-panel-content .mat-expansion-panel-body{padding-top:8px}.xmat-accordion.xmat-accordion-no-top-padding mat-expansion-panel.mat-expansion-panel .mat-expansion-panel-content .mat-expansion-panel-body{padding-top:0}"]
}] }
];
/** @nocollapse */
XmatAccordionComponent.ctorParameters = function () { return [
{ type: ElementRef }
]; };
XmatAccordionComponent.propDecorators = {
expandedChange: [{ type: Output }],
color: [{ type: Input }],
disabled: [{ type: Input }],
expanded: [{ type: Input }],
collapsedHeight: [{ type: Input }],
expandedHeight: [{ type: Input }]
};
return XmatAccordionComponent;
}(_XmatAccordionMixinBase));
export { XmatAccordionComponent };
if (false) {
/** @type {?} */
XmatAccordionComponent.prototype.expandedChange;
/** @type {?} */
XmatAccordionComponent.prototype.color;
/** @type {?} */
XmatAccordionComponent.prototype.disabled;
/** @type {?} */
XmatAccordionComponent.prototype._expanded;
/** @type {?} */
XmatAccordionComponent.prototype._collapsedHeight;
/** @type {?} */
XmatAccordionComponent.prototype._expandedHeight;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1hdC1hY2NvcmRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW1hdC1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy94bWF0LWFjY29yZGlvbi94bWF0LWFjY29yZGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRWpGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRTNDLElBQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQzs7QUFDL0IsSUFBTSx5QkFBeUIsR0FBVyxnQ0FBZ0MsQ0FBQzs7QUFDM0UsSUFBTSxjQUFjLEdBQVcsNEJBQTRCLENBQUM7QUFJNUQsSUFBQTtJQUNJLDZDQUE2QztJQUM3QywyQkFBbUIsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7S0FDekM7NEJBdEJMO0lBdUJDLENBQUE7QUFKRCw2QkFJQzs7Ozs7O0FBR0QsV0FBYSx1QkFBdUIsR0FBcUQsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUM7O0lBaUIzRSxrREFBdUI7SUF1Qy9ELGdDQUFZLFVBQXNCO1FBQWxDLFlBQ0ksa0JBQU0sVUFBVSxDQUFDLFNBR3BCO1FBekNELHVCQUFrRCxJQUFJLFlBQVksRUFBVyxDQUFDOzBCQWlDakQsS0FBSztRQU85QixLQUFJLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQzs7S0FDOUI7SUFwQ0Qsc0JBQ0ksNENBQVE7Ozs7UUFLWjtZQUNJLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN6Qjs7Ozs7UUFSRCxVQUNhLEtBQWM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDNUM7OztPQUFBO0lBTUQsc0JBQ0ksbURBQWU7Ozs7UUFJbkI7WUFDSSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUNoQzs7Ozs7UUFQRCxVQUNvQixLQUFhO1lBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7U0FDakM7OztPQUFBO0lBTUQsc0JBQ0ksa0RBQWM7Ozs7UUFJbEI7WUFDSSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDL0I7Ozs7O1FBUEQsVUFDbUIsS0FBYTtZQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztTQUNoQzs7O09BQUE7Ozs7SUFnQkQsZ0RBQWU7OztJQUFmOztRQUNJLElBQU0sT0FBTyxHQUFnQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFOztZQUNYLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDckMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMseUJBQXlCLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNsRSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM1QixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2FBQzdEO1NBQ0o7S0FDSjs7Z0JBckVKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUUxQixJQUFJLEVBQUU7d0JBQ0YsaUJBQWlCLEVBQUUsa0JBQWtCO3dCQUNyQyxPQUFPLEVBQUUseUJBQXlCO3dCQUNsQyxxQkFBcUIsRUFBRSxvQkFBb0I7d0JBQzNDLG9CQUFvQixFQUFFLG1CQUFtQjt3QkFDekMsa0JBQWtCLEVBQUUsaUJBQWlCO3FCQUN4QztvQkFDRCx1bUJBQThDO29CQUM5QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7aUJBQ3hDOzs7O2dCQXJDRyxVQUFVOzs7aUNBMENULE1BQU07d0JBRU4sS0FBSzsyQkFDTCxLQUFLOzJCQUVMLEtBQUs7a0NBVUwsS0FBSztpQ0FTTCxLQUFLOztpQ0FyRVY7RUEyQzRDLHVCQUF1QjtTQUF0RCxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0NhbkRpc2FibGUsIENhbkNvbG9yLCBUaGVtZVBhbGV0dGUsIG1peGluQ29sb3J9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbFwiO1xuaW1wb3J0IHtDb25zdHJ1Y3Rvcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3R5cGluZ3MvY29yZS9jb21tb24tYmVoYXZpb3JzL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQge2NvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2VyY2lvblwiO1xuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmNvbnN0IERFRkFVTFRfQ09MT1IgPSBcImFjY2VudFwiO1xuY29uc3QgdHJhbnNjbHVkZWRIZWFkZXJTZWxlY3Rvcjogc3RyaW5nID0gXCIueG1hdC1hY2NvcmRpb24tZXhhbXBsZXMtdGl0bGVcIjtcbmNvbnN0IGhlYWRlclNlbGVjdG9yOiBzdHJpbmcgPSBcIm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyXCI7XG4vLyBjb25zdCB0cmFuc2NsdWRlZENvbnRlbnRTZWxlY3Rvcjogc3RyaW5nID0gXCIueG1hdC1hY2NvcmRpb24tZXhhbXBsZXMtY29udGVudFwiO1xuXG4vLyBCb2lsZXJwbGF0ZSBmb3IgYXBwbHlpbmcgbWl4aW5zIHRvIE1hdFRvb2xiYXIuXG5leHBvcnQgY2xhc3MgWG1hdEFjY29yZGlvbkJhc2Uge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIH1cbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgX1htYXRBY2NvcmRpb25NaXhpbkJhc2U6IENvbnN0cnVjdG9yPENhbkNvbG9yPiAmIHR5cGVvZiBYbWF0QWNjb3JkaW9uQmFzZSA9IG1peGluQ29sb3IoWG1hdEFjY29yZGlvbkJhc2UpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJ4bWF0LWFjY29yZGlvblwiLFxuICAgIHN0eWxlVXJsczogW1wiLi94bWF0LWFjY29yZGlvbi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBob3N0OiB7XG4gICAgICAgIFwiW2F0dHIuZGlzYWJsZWRdXCI6IFwiZGlzYWJsZWQgfHwgbnVsbFwiLFxuICAgICAgICBcImNsYXNzXCI6IFwieG1hdC1hY2NvcmRpb24tZXhhbXBsZXNcIixcbiAgICAgICAgXCJbY2xhc3MubWF0LXByaW1hcnldXCI6IFwiY29sb3IgPT0gJ3ByaW1hcnknXCIsXG4gICAgICAgIFwiW2NsYXNzLm1hdC1hY2NlbnRdXCI6IFwiY29sb3IgPT0gJ2FjY2VudCdcIixcbiAgICAgICAgXCJbY2xhc3MubWF0LXdhcm5dXCI6IFwiY29sb3IgPT0gJ3dhcm4nXCJcbiAgICB9LFxuICAgIHRlbXBsYXRlVXJsOiBcIi4veG1hdC1hY2NvcmRpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuXG5cbmV4cG9ydCBjbGFzcyBYbWF0QWNjb3JkaW9uQ29tcG9uZW50IGV4dGVuZHMgX1htYXRBY2NvcmRpb25NaXhpbkJhc2UgaW1wbGVtZW50cyBDYW5Db2xvciwgQ2FuRGlzYWJsZSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBAT3V0cHV0KCkgZXhwYW5kZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBJbnB1dCgpIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBleHBhbmRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9leHBhbmRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdCh0aGlzLl9leHBhbmRlZCk7XG4gICAgfVxuXG4gICAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29sbGFwc2VkSGVpZ2h0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fY29sbGFwc2VkSGVpZ2h0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGNvbGxhcHNlZEhlaWdodCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkSGVpZ2h0O1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGV4cGFuZGVkSGVpZ2h0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZXhwYW5kZWRIZWlnaHQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgZXhwYW5kZWRIZWlnaHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkSGVpZ2h0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfY29sbGFwc2VkSGVpZ2h0OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfZXhwYW5kZWRIZWlnaHQ6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZik7XG5cbiAgICAgICAgdGhpcy5jb2xvciA9IERFRkFVTFRfQ09MT1I7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBjb25zdCAkaGVhZGVyOiBIVE1MRWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGhlYWRlclNlbGVjdG9yKTtcbiAgICAgICAgaWYgKCEhJGhlYWRlcikge1xuICAgICAgICAgICAgY29uc3QgJHBhbmVsID0gJGhlYWRlci5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCRoZWFkZXIucXVlcnlTZWxlY3RvckFsbCh0cmFuc2NsdWRlZEhlYWRlclNlbGVjdG9yKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAkcGFuZWwucmVtb3ZlQ2hpbGQoJGhlYWRlcik7XG4gICAgICAgICAgICAgICAgJHBhbmVsLmNsYXNzTGlzdC5hZGQoXCJ4bWF0LWFjY29yZGlvbi1leGFtcGxlcy1uby1oZWFkZXJcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=