Socket
Socket
Sign inDemoInstall

ng-gpt

Package Overview
Dependencies
5
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.4 to 0.0.5

LICENSE

26

bundles/ng-gpt.umd.js

@@ -856,2 +856,5 @@ (function (global, factory) {

this.config = config;
this.sizes = "fluid";
this.sizeMapping = [];
this.targetingArguments = {};
this.afterRefresh = new i0.EventEmitter();

@@ -863,3 +866,3 @@ this.scripts = [];

if (slot === _this.slot) {
_this.afterRefresh.emit({ type: 'refresh', slot: slot });
_this.afterRefresh.emit({ type: "refresh", slot: slot });
}

@@ -873,3 +876,3 @@ });

!_this.refresh &&
_this.config.onSameNavigation === 'refresh') {
_this.config.onSameNavigation === "refresh") {
_this.refreshContent.call(_this);

@@ -882,3 +885,4 @@ }

GptAdDirective.prototype.ngOnInit = function () {
if (common.isPlatformBrowser(this.platformID)) {
this.checkRequiredFields(this.adUnit, "adUnit");
if (common.isPlatformBrowser(this.platformID) && !this.id) {
this.gptIDGenerator.gptIDGenerator(this.elementRef.nativeElement);

@@ -931,6 +935,6 @@ }

}
googletag.pubads().addEventListener('slotRenderEnded', function (event) {
googletag.pubads().addEventListener("slotRenderEnded", function (event) {
if (event.slot === _this.slot) {
_this.afterRefresh.emit({
type: 'renderEnded',
type: "renderEnded",
slot: _this.slot,

@@ -960,3 +964,3 @@ data: event,

this.gptRefresh.slotRefresh(this.slot, this.refresh, true).then(function (slot) {
_this.afterRefresh.emit({ type: 'init', slot: slot });
_this.afterRefresh.emit({ type: "init", slot: slot });
});

@@ -972,7 +976,4 @@ };

GptAdDirective.prototype.getState = function () {
this.checkRequiredFields(this.id, 'id');
this.checkRequiredFields(this.adUnit, 'path');
this.checkRequiredFields(this.sizes, 'sizes');
return Object.freeze({
sizes: this.sizes,
sizes: typeof this.sizes === "string" ? [this.sizes] : this.sizes,
sizeMapping: this.sizeMapping,

@@ -995,5 +996,2 @@ targetingArguments: this.targetingArguments,

};
GptAdDirective.prototype.addSize = function (size) {
this.sizes.push(size);
};
GptAdDirective.prototype.addExclusion = function (exclusion) {

@@ -1011,3 +1009,3 @@ this.exclusions.push(exclusion);

type: i0.Directive,
args: [{ selector: 'gpt-ad' }]
args: [{ selector: "gpt-ad" }]
}], ctorParameters: function () {

@@ -1014,0 +1012,0 @@ return [{ type: Object, decorators: [{

@@ -5,2 +5,2 @@ import { InjectionToken } from '@angular/core';

export const GPT_CONFIG = new InjectionToken('gptConfig');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWdwdC9zcmMvbGliL2dwdC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLE9BQU8sU0FBUztDQWdCckI7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVksV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF6eUxvYWRPcHRpb25zQ29uZmlnLCBTYWZlRnJhbWVDb25maWcgfSBmcm9tICcuL2dwdC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgR3B0Q29uZmlnIHtcbiAgaWRsZUxvYWQ/OiBib29sZWFuO1xuICBvblNhbWVOYXZpZ2F0aW9uPzogJ3JlZnJlc2gnIHwgJ2lnbm9yZSc7XG4gIHNpbmdsZVJlcXVlc3RNb2RlPzogYm9vbGVhbjtcbiAgZW5hYmxlVmlkZW9BZHM/OiBib29sZWFuO1xuICBwZXJzb25hbGl6ZWRBZHM/OiBib29sZWFuO1xuICBjb2xsYXBzZUVtcHR5RGl2cz86IGJvb2xlYW47XG4gIGNlbnRlcmluZz86IGJvb2xlYW47XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGNvb2tpZXM/OiBib29sZWFuO1xuICBmb3JjZVNhZmVGcmFtZT86IGJvb2xlYW47XG4gIHBwaWQ/OiBzdHJpbmc7XG4gIGdsb2JhbFRhcmdldGluZzogb2JqZWN0O1xuICBzYWZlRnJhbWVDb25maWc/OiBTYWZlRnJhbWVDb25maWc7XG4gIGVuYWJsZUxhenlMb2FkPzogTGF6eUxvYWRPcHRpb25zQ29uZmlnO1xuICBsb2FkR1BUPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IEdQVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48R3B0Q29uZmlnPignZ3B0Q29uZmlnJyk7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25nLWdwdC9zcmMvbGliL2dwdC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvQyxNQUFNLE9BQU8sU0FBUztDQWdCckI7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVksV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGF6eUxvYWRPcHRpb25zQ29uZmlnLCBTYWZlRnJhbWVDb25maWcgfSBmcm9tICcuL2dwdC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgR3B0Q29uZmlnIHtcbiAgaWRsZUxvYWQ/OiBib29sZWFuO1xuICBvblNhbWVOYXZpZ2F0aW9uPzogJ3JlZnJlc2gnIHwgJ2lnbm9yZSc7XG4gIHNpbmdsZVJlcXVlc3RNb2RlPzogYm9vbGVhbjtcbiAgZW5hYmxlVmlkZW9BZHM/OiBib29sZWFuO1xuICBwZXJzb25hbGl6ZWRBZHM/OiBib29sZWFuO1xuICBjb2xsYXBzZUVtcHR5RGl2cz86IGJvb2xlYW47XG4gIGNlbnRlcmluZz86IGJvb2xlYW47XG4gIGFkZHJlc3M/OiBzdHJpbmc7XG4gIGNvb2tpZXM/OiBib29sZWFuO1xuICBmb3JjZVNhZmVGcmFtZT86IGJvb2xlYW47XG4gIHBwaWQ/OiBzdHJpbmc7XG4gIGdsb2JhbFRhcmdldGluZz86IG9iamVjdDtcbiAgc2FmZUZyYW1lQ29uZmlnPzogU2FmZUZyYW1lQ29uZmlnO1xuICBlbmFibGVMYXp5TG9hZD86IExhenlMb2FkT3B0aW9uc0NvbmZpZztcbiAgbG9hZEdQVD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBHUFRfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEdwdENvbmZpZz4oJ2dwdENvbmZpZycpO1xuIl19
export const GPT_URL = '//www.googletagservices.com/tag/js/gpt.js';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LmNvbnRhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZ3B0L3NyYy9saWIvZ3B0LmNvbnRhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBHUFRfVVJMID0gJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LmNvbnRhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbmctZ3B0L3NyYy9saWIvZ3B0LmNvbnRhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBHUFRfVVJMID0gJy8vd3d3Lmdvb2dsZXRhZ3NlcnZpY2VzLmNvbS90YWcvanMvZ3B0LmpzJztcbiJdfQ==

@@ -1,6 +0,6 @@

import { isPlatformBrowser } from '@angular/common';
import { Directive, EventEmitter, Inject, Input, Optional, Output, PLATFORM_ID, } from '@angular/core';
import { NavigationEnd } from '@angular/router';
import { filter } from 'rxjs/operators';
import { GPT_CONFIG } from './gpt.config';
import { isPlatformBrowser } from "@angular/common";
import { Directive, EventEmitter, Inject, Input, Optional, Output, PLATFORM_ID, } from "@angular/core";
import { NavigationEnd } from "@angular/router";
import { filter } from "rxjs/operators";
import { GPT_CONFIG } from "./gpt.config";
import * as i0 from "@angular/core";

@@ -22,2 +22,5 @@ import * as i1 from "./gpt.service";

this.config = config;
this.sizes = "fluid";
this.sizeMapping = [];
this.targetingArguments = {};
this.afterRefresh = new EventEmitter();

@@ -29,3 +32,3 @@ this.scripts = [];

if (slot === this.slot) {
this.afterRefresh.emit({ type: 'refresh', slot: slot });
this.afterRefresh.emit({ type: "refresh", slot: slot });
}

@@ -39,3 +42,3 @@ });

!this.refresh &&
this.config.onSameNavigation === 'refresh') {
this.config.onSameNavigation === "refresh") {
this.refreshContent.call(this);

@@ -48,3 +51,4 @@ }

ngOnInit() {
if (isPlatformBrowser(this.platformID)) {
this.checkRequiredFields(this.adUnit, "adUnit");
if (isPlatformBrowser(this.platformID) && !this.id) {
this.gptIDGenerator.gptIDGenerator(this.elementRef.nativeElement);

@@ -95,6 +99,6 @@ }

}
googletag.pubads().addEventListener('slotRenderEnded', (event) => {
googletag.pubads().addEventListener("slotRenderEnded", (event) => {
if (event.slot === this.slot) {
this.afterRefresh.emit({
type: 'renderEnded',
type: "renderEnded",
slot: this.slot,

@@ -123,3 +127,3 @@ data: event,

this.gptRefresh.slotRefresh(this.slot, this.refresh, true).then((slot) => {
this.afterRefresh.emit({ type: 'init', slot: slot });
this.afterRefresh.emit({ type: "init", slot: slot });
});

@@ -131,7 +135,4 @@ }

getState() {
this.checkRequiredFields(this.id, 'id');
this.checkRequiredFields(this.adUnit, 'path');
this.checkRequiredFields(this.sizes, 'sizes');
return Object.freeze({
sizes: this.sizes,
sizes: typeof this.sizes === "string" ? [this.sizes] : this.sizes,
sizeMapping: this.sizeMapping,

@@ -154,5 +155,2 @@ targetingArguments: this.targetingArguments,

}
addSize(size) {
this.sizes.push(size);
}
addExclusion(exclusion) {

@@ -169,3 +167,3 @@ this.exclusions.push(exclusion);

type: Directive,
args: [{ selector: 'gpt-ad' }]
args: [{ selector: "gpt-ad" }]
}], ctorParameters: function () { return [{ type: Object, decorators: [{

@@ -200,2 +198,2 @@ type: Inject,

}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWdwdC9zcmMvbGliL2dwdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7QUFRckQsTUFBTSxPQUFPLGVBQWU7Q0FJM0I7QUFZRCxNQUFNLE9BQU8sY0FBYztJQWtCekIsWUFDK0IsVUFBa0IsRUFDdkMsVUFBc0IsRUFDdEIsR0FBZSxFQUNmLFVBQTZCLEVBQzdCLGNBQXFDLEVBQ2pCLE1BQWlCLEVBQ2pDLE1BQWM7UUFORyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3ZDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBYnJDLGlCQUFZLEdBQWtDLElBQUksWUFBWSxFQUFFLENBQUM7UUFJbkUsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQUNwQixlQUFVLEdBQVUsRUFBRSxDQUFDO1FBVzdCLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUM5QyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3pEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU07cUJBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsQ0FBQztxQkFDdkQsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7b0JBQ3hCLElBQ0UsSUFBSSxDQUFDLElBQUk7d0JBQ1QsQ0FBQyxJQUFJLENBQUMsT0FBTzt3QkFDYixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsRUFDMUM7d0JBQ0EsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ2hDO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDRjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNuRTtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFJO1FBQ3pCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUzQixJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixPQUFPO1NBQ1I7UUFFRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFNUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFDeEIsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBRTFDLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLElBQ0UsSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTO1lBQ2pDLEVBQUUsQ0FBQyxjQUFjLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFDakQ7WUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNoRDtRQUVELHFCQUFxQjtRQUNyQix3Q0FBd0M7UUFDeEMsSUFBSTtRQUVKLElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztTQUM5RDtRQUVELFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9ELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztvQkFDckIsSUFBSSxFQUFFLGFBQWE7b0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDZixJQUFJLEVBQUUsS0FBSztpQkFDWixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFOUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0Isa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMzQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUk7WUFDNUMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3JDLDJCQUEyQjtZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJO1NBQ25ELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVLEVBQUUsSUFBWTtRQUMxQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLElBQUksY0FBYyxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQUk7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQVM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7MkdBaE1VLGNBQWMsa0JBbUJmLFdBQVcsdUlBS1gsVUFBVTsrRkF4QlQsY0FBYzsyRkFBZCxjQUFjO2tCQUQxQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTswREFvQlksTUFBTTswQkFBOUMsTUFBTTsyQkFBQyxXQUFXOzswQkFLbEIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsUUFBUTs0Q0F4QkYsRUFBRTtzQkFBVixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFBMQVRGT1JNX0lELFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvbkVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdwdENvbmZpZywgR1BUX0NPTkZJRyB9IGZyb20gJy4vZ3B0LmNvbmZpZyc7XG5pbXBvcnQgeyBHb29nbGV0YWcsIFNsb3QgfSBmcm9tICcuL2dwdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3B0U2VydmljZSB9IGZyb20gJy4vZ3B0LnNlcnZpY2UnO1xuaW1wb3J0IHsgR3B0UmVmcmVzaFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IEdwdElER2VuZXJhdG9yU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ3B0LWlkR2VuZXJhdG9yLnNlcnZpY2UnO1xuXG5kZWNsYXJlIHZhciBnb29nbGV0YWc6IEdvb2dsZXRhZztcblxuZXhwb3J0IGNsYXNzIEdwdFJlZnJlc2hFdmVudCB7XG4gIHR5cGU6IHN0cmluZztcbiAgc2xvdDogYW55O1xuICBkYXRhPzogYW55O1xufVxuXG5pbnRlcmZhY2UgU2l6ZU1hcHBpbmcge1xuICB2aWV3cG9ydDogW251bWJlciwgbnVtYmVyXTtcbiAgc2l6ZXM6IFtudW1iZXIsIG51bWJlcl1bXTtcbn1cblxuaW50ZXJmYWNlIFRhcmdldGluZ0FyZ3VtZW50cyB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnZ3B0LWFkJyB9KVxuZXhwb3J0IGNsYXNzIEdwdEFkRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgYWRVbml0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemVzOiBbbnVtYmVyLCBudW1iZXJdW107XG4gIEBJbnB1dCgpIHNpemVNYXBwaW5nOiBTaXplTWFwcGluZ1tdO1xuICBASW5wdXQoKSBmb3JjZVNhZmVGcmFtZTogYm9vbGVhbjtcbiAgQElucHV0KCkgc2FmZUZyYW1lQ29uZmlnOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlZnJlc2g6IG51bWJlcjtcbiAgQElucHV0KCkgY29sbGFwc2VFbXB0eURpdnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRhcmdldGluZ0FyZ3VtZW50czogVGFyZ2V0aW5nQXJndW1lbnRzO1xuXG4gIEBPdXRwdXQoKSBhZnRlclJlZnJlc2g6IEV2ZW50RW1pdHRlcjxHcHRSZWZyZXNoRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgc2xvdDogU2xvdDtcbiAgcHJpdmF0ZSBvblNhbWVOYXZpZ2F0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2NyaXB0czogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSBleGNsdXNpb25zOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JRDogT2JqZWN0LFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGdwdDogR3B0U2VydmljZSxcbiAgICBwcml2YXRlIGdwdFJlZnJlc2g6IEdwdFJlZnJlc2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3B0SURHZW5lcmF0b3I6IEdwdElER2VuZXJhdG9yU2VydmljZSxcbiAgICBASW5qZWN0KEdQVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBHcHRDb25maWcsXG4gICAgQE9wdGlvbmFsKCkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHRoaXMuZ3B0UmVmcmVzaC5yZWZyZXNoRXZlbnQuc3Vic2NyaWJlKChzbG90KSA9PiB7XG4gICAgICAgIGlmIChzbG90ID09PSB0aGlzLnNsb3QpIHtcbiAgICAgICAgICB0aGlzLmFmdGVyUmVmcmVzaC5lbWl0KHsgdHlwZTogJ3JlZnJlc2gnLCBzbG90OiBzbG90IH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmIChyb3V0ZXIpIHtcbiAgICAgICAgdGhpcy5vblNhbWVOYXZpZ2F0aW9uID0gcm91dGVyLmV2ZW50c1xuICAgICAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLnNsb3QgJiZcbiAgICAgICAgICAgICAgIXRoaXMucmVmcmVzaCAmJlxuICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5vblNhbWVOYXZpZ2F0aW9uID09PSAncmVmcmVzaCdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hDb250ZW50LmNhbGwodGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHRoaXMuZ3B0SURHZW5lcmF0b3IuZ3B0SURHZW5lcmF0b3IodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgdGhpcy5ncHQuZGVmaW5lVGFzaygoKSA9PiB7XG4gICAgICAgIHRoaXMuZGVmaW5lU2xvdCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc2xvdCkge1xuICAgICAgZ29vZ2xldGFnLmRlc3Ryb3lTbG90cyhbdGhpcy5zbG90XSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9uU2FtZU5hdmlnYXRpb24pIHtcbiAgICAgIHRoaXMub25TYW1lTmF2aWdhdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U2l6ZU1hcHBpbmcoc2xvdCkge1xuICAgIGNvbnN0IGFkID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgaWYgKGFkLnNpemVNYXBwaW5nLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNpemVNYXBwaW5nID0gZ29vZ2xldGFnLnNpemVNYXBwaW5nKCk7XG5cbiAgICBhZC5zaXplTWFwcGluZy5mb3JFYWNoKChtYXBwaW5nKSA9PiB7XG4gICAgICBzaXplTWFwcGluZy5hZGRTaXplKG1hcHBpbmcudmlld3BvcnQsIG1hcHBpbmcuc2l6ZXMpO1xuICAgIH0pO1xuXG4gICAgc2xvdC5kZWZpbmVTaXplTWFwcGluZyhzaXplTWFwcGluZy5idWlsZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVmaW5lU2xvdCgpIHtcbiAgICBjb25zdCBhZCA9IHRoaXMuZ2V0U3RhdGUoKSxcbiAgICAgIGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIHRoaXMuc2xvdCA9IGdvb2dsZXRhZy5kZWZpbmVTbG90KGFkLmFkVW5pdCwgYWQuc2l6ZXMsIGVsZW1lbnQuaWQpO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5mb3JjZVNhZmVGcmFtZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBhZC5mb3JjZVNhZmVGcmFtZSA9PT0gIXRoaXMuY29uZmlnLmZvcmNlU2FmZUZyYW1lXG4gICAgKSB7XG4gICAgICB0aGlzLnNsb3Quc2V0Rm9yY2VTYWZlRnJhbWUoYWQuZm9yY2VTYWZlRnJhbWUpO1xuICAgIH1cblxuICAgIC8vIGlmIChhZC5jbGlja1VybCkge1xuICAgIC8vICAgdGhpcy5zbG90LnNldENsaWNrVXJsKGFkLmNsaWNrVXJsKTtcbiAgICAvLyB9XG5cbiAgICBpZiAoYWQuY29sbGFwc2VFbXB0eURpdnMpIHtcbiAgICAgIHRoaXMuc2xvdC5zZXRDb2xsYXBzZUVtcHR5RGl2KHRydWUsIHRydWUpO1xuICAgIH1cblxuICAgIGlmIChhZC5zYWZlRnJhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuc2xvdC5zZXRTYWZlRnJhbWVDb25maWcoSlNPTi5wYXJzZShhZC5zYWZlRnJhbWVDb25maWcpKTtcbiAgICB9XG5cbiAgICBnb29nbGV0YWcucHViYWRzKCkuYWRkRXZlbnRMaXN0ZW5lcignc2xvdFJlbmRlckVuZGVkJywgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQuc2xvdCA9PT0gdGhpcy5zbG90KSB7XG4gICAgICAgIHRoaXMuYWZ0ZXJSZWZyZXNoLmVtaXQoe1xuICAgICAgICAgIHR5cGU6ICdyZW5kZXJFbmRlZCcsXG4gICAgICAgICAgc2xvdDogdGhpcy5zbG90LFxuICAgICAgICAgIGRhdGE6IGV2ZW50LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc2V0U2l6ZU1hcHBpbmcodGhpcy5zbG90KTtcblxuICAgIE9iamVjdC5rZXlzKGFkLnRhcmdldGluZ0FyZ3VtZW50cykuZm9yRWFjaCgoYXJnKSA9PiB7XG4gICAgICB0aGlzLnNsb3Quc2V0VGFyZ2V0aW5nKGFyZywgYWQudGFyZ2V0aW5nQXJndW1lbnRzW2FyZ10pO1xuICAgIH0pO1xuXG4gICAgYWQuZXhjbHVzaW9ucy5mb3JFYWNoKChleGNsdXNpb24pID0+IHtcbiAgICAgIHRoaXMuc2xvdC5zZXRDYXRlZ29yeUV4Y2x1c2lvbihleGNsdXNpb24pO1xuICAgIH0pO1xuXG4gICAgYWQuc2NyaXB0cy5mb3JFYWNoKChzY3JpcHQpID0+IHtcbiAgICAgIHNjcmlwdCh0aGlzLnNsb3QpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmVuYWJsZVZpZGVvQWRzKSB7XG4gICAgICB0aGlzLnNsb3QuYWRkU2VydmljZShnb29nbGV0YWcuY29tcGFuaW9uQWRzKCkpO1xuICAgIH1cblxuICAgIHRoaXMuc2xvdC5hZGRTZXJ2aWNlKGdvb2dsZXRhZy5wdWJhZHMoKSk7XG5cbiAgICB0aGlzLnJlZnJlc2hDb250ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hDb250ZW50KCkge1xuICAgIHRoaXMuZ3B0UmVmcmVzaC5zbG90UmVmcmVzaCh0aGlzLnNsb3QsIHRoaXMucmVmcmVzaCwgdHJ1ZSkudGhlbigoc2xvdCkgPT4ge1xuICAgICAgdGhpcy5hZnRlclJlZnJlc2guZW1pdCh7IHR5cGU6ICdpbml0Jywgc2xvdDogc2xvdCB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpc0hpZGRlbigpIHtcbiAgICByZXR1cm4gdGhpcy5ncHRSZWZyZXNoLmhpZGRlbkNoZWNrKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIGdldFN0YXRlKCkge1xuICAgIHRoaXMuY2hlY2tSZXF1aXJlZEZpZWxkcyh0aGlzLmlkLCAnaWQnKTtcbiAgICB0aGlzLmNoZWNrUmVxdWlyZWRGaWVsZHModGhpcy5hZFVuaXQsICdwYXRoJyk7XG4gICAgdGhpcy5jaGVja1JlcXVpcmVkRmllbGRzKHRoaXMuc2l6ZXMsICdzaXplcycpO1xuXG4gICAgcmV0dXJuIE9iamVjdC5mcmVlemUoe1xuICAgICAgc2l6ZXM6IHRoaXMuc2l6ZXMsXG4gICAgICBzaXplTWFwcGluZzogdGhpcy5zaXplTWFwcGluZyxcbiAgICAgIHRhcmdldGluZ0FyZ3VtZW50czogdGhpcy50YXJnZXRpbmdBcmd1bWVudHMsXG4gICAgICBleGNsdXNpb25zOiB0aGlzLmV4Y2x1c2lvbnMsXG4gICAgICBhZFVuaXQ6IHRoaXMuYWRVbml0LFxuICAgICAgZm9yY2VTYWZlRnJhbWU6IHRoaXMuZm9yY2VTYWZlRnJhbWUgPT09IHRydWUsXG4gICAgICBzYWZlRnJhbWVDb25maWc6IHRoaXMuc2FmZUZyYW1lQ29uZmlnLFxuICAgICAgLy8gY2xpY2tVcmw6IHRoaXMuY2xpY2tVcmwsXG4gICAgICByZWZyZXNoOiB0aGlzLnJlZnJlc2gsXG4gICAgICBzY3JpcHRzOiB0aGlzLnNjcmlwdHMsXG4gICAgICBjb2xsYXBzZUVtcHR5RGl2czogdGhpcy5jb2xsYXBzZUVtcHR5RGl2cyA9PT0gdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrUmVxdWlyZWRGaWVsZHMoaW5wdXQ6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKGlucHV0ID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dHJpYnV0ZSAke25hbWV9IGlzIHJlcXVpcmVkYCk7XG4gICAgfVxuICB9XG5cbiAgYWRkU2l6ZShzaXplKSB7XG4gICAgdGhpcy5zaXplcy5wdXNoKHNpemUpO1xuICB9XG5cbiAgYWRkRXhjbHVzaW9uKGV4Y2x1c2lvbikge1xuICAgIHRoaXMuZXhjbHVzaW9ucy5wdXNoKGV4Y2x1c2lvbik7XG4gIH1cblxuICBhZGRTY3JpcHQoc2NyaXB0KSB7XG4gICAgdGhpcy5zY3JpcHRzLnB1c2goc2NyaXB0KTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25nLWdwdC9zcmMvbGliL2dwdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7QUFRckQsTUFBTSxPQUFPLGVBQWU7Q0FJM0I7QUFZRCxNQUFNLE9BQU8sY0FBYztJQWtCekIsWUFDK0IsVUFBa0IsRUFDdkMsVUFBc0IsRUFDdEIsR0FBZSxFQUNmLFVBQTZCLEVBQzdCLGNBQXFDLEVBQ2pCLE1BQWlCLEVBQ2pDLE1BQWM7UUFORyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ3ZDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBckJ0QyxVQUFLLEdBQWdDLE9BQU8sQ0FBQztRQUM3QyxnQkFBVyxHQUFrQixFQUFFLENBQUM7UUFLaEMsdUJBQWtCLEdBQXVCLEVBQUUsQ0FBQztRQUUzQyxpQkFBWSxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSW5FLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQVc3QixJQUFJLGlCQUFpQixD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REFvQlksTUFBTTswQkFBOUMsTUFBTTsyQkFBQyxXQUFXOzswQkFLbEIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsUUFBUTs0Q0F4QkYsRUFBRTtzQkFBVixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvbkVuZCB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEdwdENvbmZpZywgR1BUX0NPTkZJRyB9IGZyb20gXCIuL2dwdC5jb25maWdcIjtcbmltcG9ydCB7IEdvb2dsZXRhZywgU2xvdCB9IGZyb20gXCIuL2dwdC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEdwdFNlcnZpY2UgfSBmcm9tIFwiLi9ncHQuc2VydmljZVwiO1xuaW1wb3J0IHsgR3B0UmVmcmVzaFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlc1wiO1xuaW1wb3J0IHsgR3B0SURHZW5lcmF0b3JTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvZ3B0LWlkR2VuZXJhdG9yLnNlcnZpY2VcIjtcblxuZGVjbGFyZSB2YXIgZ29vZ2xldGFnOiBHb29nbGV0YWc7XG5cbmV4cG9ydCBjbGFzcyBHcHRSZWZyZXNoRXZlbnQge1xuICB0eXBlOiBzdHJpbmc7XG4gIHNsb3Q6IGFueTtcbiAgZGF0YT86IGFueTtcbn1cblxuaW50ZXJmYWNlIFNpemVNYXBwaW5nIHtcbiAgdmlld3BvcnQ6IFtudW1iZXIsIG51bWJlcl07XG4gIHNpemVzOiBbbnVtYmVyLCBudW1iZXJdW107XG59XG5cbmludGVyZmFjZSBUYXJnZXRpbmdBcmd1bWVudHMge1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogXCJncHQtYWRcIiB9KVxuZXhwb3J0IGNsYXNzIEdwdEFkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBhZFVuaXQ6IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZXM6IFtudW1iZXIsIG51bWJlcl1bXSB8IHN0cmluZyA9IFwiZmx1aWRcIjtcbiAgQElucHV0KCkgc2l6ZU1hcHBpbmc6IFNpemVNYXBwaW5nW10gPSBbXTtcbiAgQElucHV0KCkgZm9yY2VTYWZlRnJhbWU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNhZmVGcmFtZUNvbmZpZzogc3RyaW5nO1xuICBASW5wdXQoKSByZWZyZXNoOiBudW1iZXI7XG4gIEBJbnB1dCgpIGNvbGxhcHNlRW1wdHlEaXZzOiBib29sZWFuO1xuICBASW5wdXQoKSB0YXJnZXRpbmdBcmd1bWVudHM6IFRhcmdldGluZ0FyZ3VtZW50cyA9IHt9O1xuXG4gIEBPdXRwdXQoKSBhZnRlclJlZnJlc2g6IEV2ZW50RW1pdHRlcjxHcHRSZWZyZXNoRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgc2xvdDogU2xvdDtcbiAgcHJpdmF0ZSBvblNhbWVOYXZpZ2F0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc2NyaXB0czogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSBleGNsdXNpb25zOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JRDogT2JqZWN0LFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGdwdDogR3B0U2VydmljZSxcbiAgICBwcml2YXRlIGdwdFJlZnJlc2g6IEdwdFJlZnJlc2hTZXJ2aWNlLFxuICAgIHByaXZhdGUgZ3B0SURHZW5lcmF0b3I6IEdwdElER2VuZXJhdG9yU2VydmljZSxcbiAgICBASW5qZWN0KEdQVF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBHcHRDb25maWcsXG4gICAgQE9wdGlvbmFsKCkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkpIHtcbiAgICAgIHRoaXMuZ3B0UmVmcmVzaC5yZWZyZXNoRXZlbnQuc3Vic2NyaWJlKChzbG90KSA9PiB7XG4gICAgICAgIGlmIChzbG90ID09PSB0aGlzLnNsb3QpIHtcbiAgICAgICAgICB0aGlzLmFmdGVyUmVmcmVzaC5lbWl0KHsgdHlwZTogXCJyZWZyZXNoXCIsIHNsb3Q6IHNsb3QgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKHJvdXRlcikge1xuICAgICAgICB0aGlzLm9uU2FtZU5hdmlnYXRpb24gPSByb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHRoaXMuc2xvdCAmJlxuICAgICAgICAgICAgICAhdGhpcy5yZWZyZXNoICYmXG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnLm9uU2FtZU5hdmlnYXRpb24gPT09IFwicmVmcmVzaFwiXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoQ29udGVudC5jYWxsKHRoaXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2hlY2tSZXF1aXJlZEZpZWxkcyh0aGlzLmFkVW5pdCwgXCJhZFVuaXRcIik7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JRCkgJiYgIXRoaXMuaWQpIHtcbiAgICAgIHRoaXMuZ3B0SURHZW5lcmF0b3IuZ3B0SURHZW5lcmF0b3IodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgdGhpcy5ncHQuZGVmaW5lVGFzaygoKSA9PiB7XG4gICAgICAgIHRoaXMuZGVmaW5lU2xvdCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc2xvdCkge1xuICAgICAgZ29vZ2xldGFnLmRlc3Ryb3lTbG90cyhbdGhpcy5zbG90XSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9uU2FtZU5hdmlnYXRpb24pIHtcbiAgICAgIHRoaXMub25TYW1lTmF2aWdhdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0U2l6ZU1hcHBpbmcoc2xvdCkge1xuICAgIGNvbnN0IGFkID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gICAgaWYgKGFkLnNpemVNYXBwaW5nLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNpemVNYXBwaW5nID0gZ29vZ2xldGFnLnNpemVNYXBwaW5nKCk7XG5cbiAgICBhZC5zaXplTWFwcGluZy5mb3JFYWNoKChtYXBwaW5nKSA9PiB7XG4gICAgICBzaXplTWFwcGluZy5hZGRTaXplKG1hcHBpbmcudmlld3BvcnQsIG1hcHBpbmcuc2l6ZXMpO1xuICAgIH0pO1xuXG4gICAgc2xvdC5kZWZpbmVTaXplTWFwcGluZyhzaXplTWFwcGluZy5idWlsZCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVmaW5lU2xvdCgpIHtcbiAgICBjb25zdCBhZCA9IHRoaXMuZ2V0U3RhdGUoKSxcbiAgICAgIGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIHRoaXMuc2xvdCA9IGdvb2dsZXRhZy5kZWZpbmVTbG90KGFkLmFkVW5pdCwgYWQuc2l6ZXMsIGVsZW1lbnQuaWQpO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5mb3JjZVNhZmVGcmFtZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBhZC5mb3JjZVNhZmVGcmFtZSA9PT0gIXRoaXMuY29uZmlnLmZvcmNlU2FmZUZyYW1lXG4gICAgKSB7XG4gICAgICB0aGlzLnNsb3Quc2V0Rm9yY2VTYWZlRnJhbWUoYWQuZm9yY2VTYWZlRnJhbWUpO1xuICAgIH1cblxuICAgIC8vIGlmIChhZC5jbGlja1VybCkge1xuICAgIC8vICAgdGhpcy5zbG90LnNldENsaWNrVXJsKGFkLmNsaWNrVXJsKTtcbiAgICAvLyB9XG5cbiAgICBpZiAoYWQuY29sbGFwc2VFbXB0eURpdnMpIHtcbiAgICAgIHRoaXMuc2xvdC5zZXRDb2xsYXBzZUVtcHR5RGl2KHRydWUsIHRydWUpO1xuICAgIH1cblxuICAgIGlmIChhZC5zYWZlRnJhbWVDb25maWcpIHtcbiAgICAgIHRoaXMuc2xvdC5zZXRTYWZlRnJhbWVDb25maWcoSlNPTi5wYXJzZShhZC5zYWZlRnJhbWVDb25maWcpKTtcbiAgICB9XG5cbiAgICBnb29nbGV0YWcucHViYWRzKCkuYWRkRXZlbnRMaXN0ZW5lcihcInNsb3RSZW5kZXJFbmRlZFwiLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5zbG90ID09PSB0aGlzLnNsb3QpIHtcbiAgICAgICAgdGhpcy5hZnRlclJlZnJlc2guZW1pdCh7XG4gICAgICAgICAgdHlwZTogXCJyZW5kZXJFbmRlZFwiLFxuICAgICAgICAgIHNsb3Q6IHRoaXMuc2xvdCxcbiAgICAgICAgICBkYXRhOiBldmVudCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLnNldFNpemVNYXBwaW5nKHRoaXMuc2xvdCk7XG5cbiAgICBPYmplY3Qua2V5cyhhZC50YXJnZXRpbmdBcmd1bWVudHMpLmZvckVhY2goKGFyZykgPT4ge1xuICAgICAgdGhpcy5zbG90LnNldFRhcmdldGluZyhhcmcsIGFkLnRhcmdldGluZ0FyZ3VtZW50c1thcmddKTtcbiAgICB9KTtcblxuICAgIGFkLmV4Y2x1c2lvbnMuZm9yRWFjaCgoZXhjbHVzaW9uKSA9PiB7XG4gICAgICB0aGlzLnNsb3Quc2V0Q2F0ZWdvcnlFeGNsdXNpb24oZXhjbHVzaW9uKTtcbiAgICB9KTtcblxuICAgIGFkLnNjcmlwdHMuZm9yRWFjaCgoc2NyaXB0KSA9PiB7XG4gICAgICBzY3JpcHQodGhpcy5zbG90KTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZy5lbmFibGVWaWRlb0Fkcykge1xuICAgICAgdGhpcy5zbG90LmFkZFNlcnZpY2UoZ29vZ2xldGFnLmNvbXBhbmlvbkFkcygpKTtcbiAgICB9XG5cbiAgICB0aGlzLnNsb3QuYWRkU2VydmljZShnb29nbGV0YWcucHViYWRzKCkpO1xuXG4gICAgdGhpcy5yZWZyZXNoQ29udGVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoQ29udGVudCgpIHtcbiAgICB0aGlzLmdwdFJlZnJlc2guc2xvdFJlZnJlc2godGhpcy5zbG90LCB0aGlzLnJlZnJlc2gsIHRydWUpLnRoZW4oKHNsb3QpID0+IHtcbiAgICAgIHRoaXMuYWZ0ZXJSZWZyZXNoLmVtaXQoeyB0eXBlOiBcImluaXRcIiwgc2xvdDogc2xvdCB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpc0hpZGRlbigpIHtcbiAgICByZXR1cm4gdGhpcy5ncHRSZWZyZXNoLmhpZGRlbkNoZWNrKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIGdldFN0YXRlKCkge1xuICAgIHJldHVybiBPYmplY3QuZnJlZXplKHtcbiAgICAgIHNpemVzOiB0eXBlb2YgdGhpcy5zaXplcyA9PT0gXCJzdHJpbmdcIiA/IFt0aGlzLnNpemVzXSA6IHRoaXMuc2l6ZXMsXG4gICAgICBzaXplTWFwcGluZzogdGhpcy5zaXplTWFwcGluZyxcbiAgICAgIHRhcmdldGluZ0FyZ3VtZW50czogdGhpcy50YXJnZXRpbmdBcmd1bWVudHMsXG4gICAgICBleGNsdXNpb25zOiB0aGlzLmV4Y2x1c2lvbnMsXG4gICAgICBhZFVuaXQ6IHRoaXMuYWRVbml0LFxuICAgICAgZm9yY2VTYWZlRnJhbWU6IHRoaXMuZm9yY2VTYWZlRnJhbWUgPT09IHRydWUsXG4gICAgICBzYWZlRnJhbWVDb25maWc6IHRoaXMuc2FmZUZyYW1lQ29uZmlnLFxuICAgICAgLy8gY2xpY2tVcmw6IHRoaXMuY2xpY2tVcmwsXG4gICAgICByZWZyZXNoOiB0aGlzLnJlZnJlc2gsXG4gICAgICBzY3JpcHRzOiB0aGlzLnNjcmlwdHMsXG4gICAgICBjb2xsYXBzZUVtcHR5RGl2czogdGhpcy5jb2xsYXBzZUVtcHR5RGl2cyA9PT0gdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrUmVxdWlyZWRGaWVsZHMoaW5wdXQ6IGFueSwgbmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKGlucHV0ID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dHJpYnV0ZSAke25hbWV9IGlzIHJlcXVpcmVkYCk7XG4gICAgfVxuICB9XG5cbiAgYWRkRXhjbHVzaW9uKGV4Y2x1c2lvbikge1xuICAgIHRoaXMuZXhjbHVzaW9ucy5wdXNoKGV4Y2x1c2lvbik7XG4gIH1cblxuICBhZGRTY3JpcHQoc2NyaXB0KSB7XG4gICAgdGhpcy5zY3JpcHRzLnB1c2goc2NyaXB0KTtcbiAgfVxufVxuIl19
export {};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWdwdC9zcmMvbGliL2dwdC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyYWxTaXplLCBTaW5nbGVTaXplQXJyYXksIFNpemVNYXBwaW5nQXJyYXkgfSBmcm9tICcuL2dwdC50eXBlJztcblxuaW50ZXJmYWNlIFJlc3BvbnNlSW5mb3JtYXRpb24ge1xuICBhZHZlcnRpc2VySWQ6IHN0cmluZztcbiAgY2FtcGFpZ25JZDogc3RyaW5nO1xuICBjcmVhdGl2ZUlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBjcmVhdGl2ZVRlbXBsYXRlSWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGxpbmVJdGVtSWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUZyYW1lQ29uZmlnIHtcbiAgYWxsb3dPdmVybGF5RXhwYW5zaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgYWxsb3dQdXNoRXhwYW5zaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgc2FuZGJveD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHVzZVVuaXF1ZURvbWFpbj86IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhenlMb2FkT3B0aW9uc0NvbmZpZyB7XG4gIGZldGNoTWFyZ2luUGVyY2VudD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcmVuZGVyTWFyZ2luUGVyY2VudD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgbW9iaWxlU2NhbGluZz86IG51bWJlciB8IHVuZGVmaW5lZDtcbn1cblxuaW50ZXJmYWNlIFByaXZhY3lTZXR0aW5nc0NvbmZpZyB7XG4gIGNoaWxkRGlyZWN0ZWRUcmVhdG1lbnQ/OiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgbGltaXRlZEFkcz86IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICByZXN0cmljdERhdGFQcm9jZXNzaW5nPzogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHVuZGVyQWdlT2ZDb25zZW50PzogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ7XG59XG5cbmludGVyZmFjZSBDb21tYW5kQXJyYXkge1xuICBwdXNoKGY6ICgpID0+IHZvaWQpOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZSB7XG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgZXZlbnRUeXBlOiAnc2xvdFJlbmRlckVuZGVkJyxcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBTbG90UmVuZGVyRW5kZWRFdmVudCkgPT4gdm9pZFxuICApOiBTZXJ2aWNlO1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIGV2ZW50VHlwZTogJ3Nsb3RSZXF1ZXN0ZWQnLFxuICAgIGxpc3RlbmVyOiAoZXZlbnQ6IFNsb3RSZXF1ZXN0ZWRFdmVudCkgPT4gdm9pZFxuICApOiBTZXJ2aWNlO1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIGV2ZW50VHlwZTogJ3Nsb3RSZXNwb25zZVJlY2VpdmVkJyxcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBTbG90UmVzcG9uc2VSZWNlaXZlZCkgPT4gdm9pZFxuICApOiBTZXJ2aWNlO1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIGV2ZW50VHlwZTogJ3Nsb3RWaXNpYmlsaXR5Q2hhbmdlZCcsXG4gICAgbGlzdGVuZXI6IChldmVudDogU2xvdFZpc2liaWxpdHlDaGFuZ2VkRXZlbnQpID0+IHZvaWRcbiAgKTogU2VydmljZTtcbiAgYWRkRXZlbnRMaXN0ZW5lcihcbiAgICBldmVudFR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZFxuICApOiBTZXJ2aWNlO1xuICBnZXRTbG90cygpOiBTbG90W107XG59XG5cbmludGVyZmFjZSBDb21wYW5pb25BZHNTZXJ2aWNlIGV4dGVuZHMgU2VydmljZSB7XG4gIGVuYWJsZVN5bmNMb2FkaW5nKCk6IHZvaWQ7XG4gIHNldFJlZnJlc2hVbmZpbGxlZFNsb3RzKHZhbHVlOiBib29sZWFuKTogdm9pZDtcbn1cblxuaW50ZXJmYWNlIENvbnRlbnRTZXJ2aWNlIGV4dGVuZHMgU2VydmljZSB7XG4gIHNldENvbnRlbnQoc2xvdDogU2xvdCwgY29udGVudDogc3RyaW5nKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJBZHNTZXJ2aWNlIGV4dGVuZHMgU2VydmljZSB7XG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBhZHMgZnJvbSB0aGUgZ2l2ZW4gc2xvdHMgYW5kIHJlcGxhY2VzIHRoZW0gd2l0aCBibGFuayBjb250ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gb3B0X3Nsb3RzIFRoZSBhcnJheSBvZiBzbG90cyB0byBjbGVhci4gQXJyYXkgaXMgb3B0aW9uYWw7IGFsbCBzbG90cyB3aWxsIGJlIGNsZWFyZWQgaWYgaXQgaXMgdW5zcGVjaWZpZWQuXG4gICAqL1xuICBjbGVhcihvcHRfc2xvdHM/OiBTbG90W10pOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIHBhZ2UtbGV2ZWwgYWQgY2F0ZWdvcnkgZXhjbHVzaW9uIGxhYmVscy5cbiAgICovXG4gIGNsZWFyQ2F0ZWdvcnlFeGNsdXNpb25zKCk6IFB1YkFkc1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIENsZWFycyBjdXN0b20gdGFyZ2V0aW5nIHBhcmFtZXRlcnMgZm9yIGEgc3BlY2lmaWMga2V5IG9yIGZvciBhbGwga2V5cy5cbiAgICpcbiAgICogQHBhcmFtIG9wdF9rZXkgVGFyZ2V0aW5nIHBhcmFtZXRlciBrZXkuIFRoZSBrZXkgaXMgb3B0aW9uYWw7IGFsbCB0YXJnZXRpbmcgcGFyYW1ldGVycyB3aWxsIGJlIGNsZWFyZWQgaWYgaXQgaXMgdW5zcGVjaWZpZWQuXG4gICAqL1xuICBjbGVhclRhcmdldGluZyhvcHRfa2V5Pzogc3RyaW5nKTogUHViQWRzU2VydmljZTtcblxuICAvKipcbiAgICogRW5hYmxlcyBjb2xsYXBzaW5nIG9mIHNsb3QgZGl2cyBzbyB0aGF0IHRoZXkgZG9uJ3QgdGFrZSB1cCBhbnkgc3BhY2Ugb24gdGhlIHBhZ2Ugd2hlbiB0aGVyZSBpcyBubyBhZCBjb250ZW50IHRvIGRpc3BsYXkuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRfY29sbGFwc2VCZWZvcmVBZEZldGNoIFdoZXRoZXIgdG8gY29sbGFwc2UgdGhlIHNsb3RzIGV2ZW4gYmVmb3JlIHRoZSBhZHMgYXJlIGZldGNoZWQuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsOyBpZiBub3QgcHJvdmlkZWQsIGZhbHNlIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCB2YWx1ZS5cbiAgICovXG4gIGNvbGxhcHNlRW1wdHlEaXZzKG9wdF9jb2xsYXBzZUJlZm9yZUFkRmV0Y2g/OiBib29sZWFuKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZXMgcmVxdWVzdHMgZm9yIGFkcyBvbiBwYWdlIGxvYWQsIGJ1dCBhbGxvd3MgYWRzIHRvIGJlIHJlcXVlc3RlZCB3aXRoIGEgYGdvb2dsZXRhZy5wdWJhZHMoKS5yZWZyZXNoKClgIGNhbGwuXG4gICAqL1xuICBkaXNhYmxlSW5pdGlhbExvYWQoKTogdm9pZDtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhbmQgZGlzcGxheXMgYW4gYWQgc2xvdCB3aXRoIHRoZSBnaXZlbiBhZCB1bml0IHBhdGggYW5kIHNpemUuXG4gICAqXG4gICAqIEBwYXJhbSBhZFVuaXRQYXRoIFRoZSBhZCB1bml0IHBhdGggb2Ygc2xvdCB0byBiZSByZW5kZXJlZC5cbiAgICogQHBhcmFtIHNpemUgV2lkdGggYW5kIGhlaWdodCBvZiB0aGUgc2xvdC5cbiAgICogQHBhcmFtIG9wdF9kaXYgRWl0aGVyIHRoZSBJRCBvZiB0aGUgZGl2IGNvbnRhaW5pbmcgdGhlIHNsb3Qgb3IgdGhlIGRpdiBlbGVtZW50IGl0c2VsZi5cbiAgICogQHBhcmFtIG9wdF9jbGlja1VybCBUaGUgY2xpY2sgVVJMIHRvIHVzZSBvbiB0aGlzIHNsb3QuXG4gICAqL1xuICBkaXNwbGF5KFxuICAgIGFkVW5pdFBhdGg6IHN0cmluZyxcbiAgICBzaXplOiBHZW5lcmFsU2l6ZSxcbiAgICBvcHRfZGl2Pzogc3RyaW5nIHwgRWxlbWVudCxcbiAgICBvcHRfY2xpY2tVcmw/OiBzdHJpbmdcbiAgKTogU2xvdDtcblxuICAvKipcbiAgICogRW5hYmxlcyBsYXp5IGxvYWRpbmcgaW4gR1BUIGFzIGRlZmluZWQgYnkgdGhlIGNvbmZpZyBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRfY29uZmlnIENvbmZpZ3VyYXRpb24gb2JqZWN0IGFsbG93cyBjdXN0b21pemF0aW9uIG9mIGxhenkgbG9hZGluZyBiZWhhdmlvci4gQW55IG9taXR0ZWQgY29uZmlndXJhdGlvbnMgd2lsbCB1c2UgYSBkZWZhdWx0IHNldCBieSBHb29nbGUgdGhhdCB3aWxsIGJlIHR1bmVkIG92ZXIgdGltZS4gVG8gZGlzYWJsZSBhIHBhcnRpY3VsYXIgc2V0dGluZywgc3VjaCBhcyBhIGZldGNoaW5nIG1hcmdpbiwgc2V0IHRoZSB2YWx1ZSB0byAtMS5cbiAgICpcbiAgICogZmV0Y2hNYXJnaW5QZXJjZW50IGlzIHRoZSBtaW5pbXVtIGRpc3RhbmNlIGZyb20gdGhlIGN1cnJlbnQgdmlld3BvcnQgYSBzbG90IG11c3QgYmUgYmVmb3JlIHdlIGZldGNoIHRoZSBhZCBhcyBhIHBlcmNlbnRhZ2Ugb2Ygdmlld3BvcnQgc2l6ZS4gMCBtZWFucyBcIndoZW4gdGhlIHNsb3QgZW50ZXJzIHRoZSB2aWV3cG9ydFwiLCAxMDAgbWVhbnMgXCJ3aGVuIHRoZSBhZCBpcyAxIHZpZXdwb3J0IGF3YXlcIiwgYW5kIHNvIG9uLlxuICAgKlxuICAgKiByZW5kZXJNYXJnaW5QZXJjZW50IGlzIHRoZSBtaW5pbXVtIGRpc3RhbmNlIGZyb20gdGhlIGN1cnJlbnQgdmlld3BvcnQgYSBzbG90IG11c3QgYmUgYmVmb3JlIHdlIHJlbmRlciBhbiBhZC4gVGhpcyBhbGxvd3MgZm9yIHByZWZldGNoaW5nIHRoZSBhZCwgYnV0IHdhaXRpbmcgdG8gcmVuZGVyIGFuZCBkb3dubG9hZCBvdGhlciBzdWJyZXNvdXJjZXMuIFRoZSB2YWx1ZSB3b3JrcyBqdXN0IGxpa2UgZmV0Y2hNYXJnaW5QZXJjZW50IGFzIGEgcGVyY2VudGFnZSBvZiB2aWV3cG9ydC5cbiAgICpcbiAgICogbW9iaWxlU2NhbGluZyBpcyBhIG11bHRpcGxpZXIgYXBwbGllZCB0byBtYXJnaW5zIG9uIG1vYmlsZSBkZXZpY2VzLiBUaGlzIGFsbG93cyB2YXJ5aW5nIG1hcmdpbnMgb24gbW9iaWxlIHZzLiBkZXNrdG9wLiBGb3IgZXhhbXBsZSwgYSBtb2JpbGVTY2FsaW5nIG9mIDIuMCB3aWxsIG11bHRpcGx5IGFsbCBtYXJnaW5zIGJ5IDIgb24gbW9iaWxlIGRldmljZXMsIGluY3JlYXNpbmcgdGhlIG1pbmltdW0gZGlzdGFuY2UgYSBzbG90IGNhbiBiZSBiZWZvcmUgZmV0Y2hpbmcgYW5kIHJlbmRlcmluZy5cbiAgICovXG4gIGVuYWJsZUxhenlMb2FkKG9wdF9jb25maWc/OiBMYXp5TG9hZE9wdGlvbnNDb25maWcpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHNpbmdsZSByZXF1ZXN0IG1vZGUgZm9yIGZldGNoaW5nIG11bHRpcGxlIGFkcyBhdCB0aGUgc2FtZSB0aW1lLlxuICAgKi9cbiAgZW5hYmxlU2luZ2xlUmVxdWVzdCgpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaWduYWxzIHRvIEdQVCB0aGF0IHZpZGVvIGFkcyB3aWxsIGJlIHByZXNlbnQgb24gdGhlIHBhZ2UuXG4gICAqL1xuICBlbmFibGVWaWRlb0FkcygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBmb3IgdGhlIEFkU2Vuc2UgYXR0cmlidXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IE5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0byBsb29rIGZvci5cbiAgICovXG4gIGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSBrZXlzIHRoYXQgaGF2ZSBiZWVuIHNldCBvbiB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBnZXRBdHRyaWJ1dGVLZXlzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgY3VzdG9tIHNlcnZpY2UtbGV2ZWwgdGFyZ2V0aW5nIHBhcmFtZXRlciB0aGF0IGhhcyBiZWVuIHNldC5cbiAgICpcbiAgICogQHBhcmFtIGtleSBUaGUgdGFyZ2V0aW5nIGtleSB0byBsb29rIGZvci5cbiAgICovXG4gIGdldFRhcmdldGluZyhrZXk6IHN0cmluZyk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCBjdXN0b20gc2VydmljZS1sZXZlbCB0YXJnZXRpbmcga2V5cyB0aGF0IGhhdmUgYmVlbiBzZXQuXG4gICAqL1xuICBnZXRUYXJnZXRpbmdLZXlzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IGluaXRpYWwgcmVxdWVzdHMgZm9yIGFkcyB3YXMgc3VjY2Vzc2Z1bGx5IGRpc2FibGVkIGJ5IGEgcHJldmlvdXMgZGlzYWJsZUluaXRpYWxMb2FkIGNhbGwuXG4gICAqL1xuICBpc0luaXRpYWxMb2FkRGlzYWJsZWQoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmV0Y2hlcyBhbmQgZGlzcGxheXMgbmV3IGFkcyBmb3Igc3BlY2lmaWMgb3IgYWxsIHNsb3RzIG9uIHRoZSBwYWdlLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0X3Nsb3RzIFRoZSBzbG90cyB0byByZWZyZXNoLiBBcnJheSBpcyBvcHRpb25hbDsgYWxsIHNsb3RzIHdpbGwgYmUgcmVmcmVzaGVkIGlmIGl0IGlzIHVuc3BlY2lmaWVkLlxuICAgKiBAcGFyYW0gb3B0X29wdGlvbnMgQ29uZmlndXJhdGlvbiBvcHRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlZnJlc2ggY2FsbC4gY2hhbmdlQ29ycmVsYXRvciBzcGVjaWZpZXMgd2hldGhlciBvciBub3QgYSBuZXcgY29ycmVsYXRvciBpcyB0byBiZSBnZW5lcmF0ZWQgZm9yIGZldGNoaW5nIGFkcy4gT3VyIGFkIHNlcnZlcnMgbWFpbnRhaW4gdGhpcyBjb3JyZWxhdG9yIHZhbHVlIGJyaWVmbHkgKGN1cnJlbnRseSBmb3IgMzAgc2Vjb25kcywgYnV0IHN1YmplY3QgdG8gY2hhbmdlKSwgc3VjaCB0aGF0IHJlcXVlc3RzIHdpdGggdGhlIHNhbWUgY29ycmVsYXRvciByZWNlaXZlZCBjbG9zZSB0b2dldGhlciB3aWxsIGJlIGNvbnNpZGVyZWQgYSBzaW5nbGUgcGFnZSB2aWV3LiBCeSBkZWZhdWx0IGEgbmV3IGNvcnJlbGF0b3IgaXMgZ2VuZXJhdGVkIGZvciBldmVyeSByZWZyZXNoLiBOb3RlIHRoYXQgdGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiBHUFQncyBsb25nLWxpdmVkIHBhZ2V2aWV3LCB3aGljaCBhdXRvbWF0aWNhbGx5IHJlZmxlY3RzIHRoZSBhZHMgY3VycmVudGx5IG9uIHRoZSBwYWdlIGFuZCBoYXMgbm8gZXhwaXJhdGlvbiB0aW1lLlxuICAgKi9cbiAgcmVmcmVzaChcbiAgICBvcHRfc2xvdHM/OiBTbG90W10sXG4gICAgb3B0X29wdGlvbnM/OiB7IGNoYW5nZUNvcnJlbGF0b3I6IGJvb2xlYW4gfVxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTZXRzIHZhbHVlcyBmb3IgQWRTZW5zZSBhdHRyaWJ1dGVzIHRoYXQgYXBwbHkgdG8gYWxsIGFkIHNsb3RzIHVuZGVyIHRoZSBwdWJsaXNoZXIgYWRzIHNlcnZpY2UuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS5cbiAgICogQHBhcmFtIHZhbHVlIEF0dHJpYnV0ZSB2YWx1ZS5cbiAgICovXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFB1YkFkc1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIFNldHMgYSBwYWdlLWxldmVsIGFkIGNhdGVnb3J5IGV4Y2x1c2lvbiBmb3IgdGhlIGdpdmVuIGxhYmVsIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBjYXRlZ29yeUV4Y2x1c2lvbiBUaGUgYWQgY2F0ZWdvcnkgZXhjbHVzaW9uIGxhYmVsIHRvIGFkZC5cbiAgICovXG4gIHNldENhdGVnb3J5RXhjbHVzaW9uKGNhdGVnb3J5RXhjbHVzaW9uOiBzdHJpbmcpOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFuZCBkaXNhYmxlcyBob3Jpem9udGFsIGNlbnRlcmluZyBvZiBhZHMuXG4gICAqXG4gICAqIEBwYXJhbSBjZW50ZXJBZHMgdHJ1ZSB0byBjZW50ZXIgYWRzLCBmYWxzZSB0byBsZWZ0LWFsaWduIHRoZW0uXG4gICAqL1xuICBzZXRDZW50ZXJpbmcoY2VudGVyQWRzOiBib29sZWFuKTogdm9pZDtcblxuICAvKipcbiAgICogU2V0cyBvcHRpb25zIGZvciBpZ25vcmluZyBHb29nbGUgQWQgTWFuYWdlciBjb29raWVzIG9uIHRoZSBjdXJyZW50IHBhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBjb29raWVPcHRpb25zIFRoZSBjb29raWUgb3B0aW9ucyB0byBzZXQuIFBvc3NpYmxlIHZhbHVlcyBhcmU6XG4gICAqXG4gICAqIDA6IEVuYWJsZXMgR29vZ2xlIEFkIE1hbmFnZXIgY29va2llcyBvbiBhZCByZXF1ZXN0cyBvbiB0aGUgcGFnZS4gVGhpcyBvcHRpb24gaXMgc2V0IGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIDE6IElnbm9yZXMgR29vZ2xlIEFkIE1hbmFnZXIgY29va2llcyBvbiBzdWJzZXF1ZW50IGFkIHJlcXVlc3RzIGFuZCBwcmV2ZW50cyBjb29raWVzIGZyb20gYmVpbmcgY3JlYXRlZCBvbiB0aGUgcGFnZS4gTm90ZSB0aGF0IGNvb2tpZXMgd2lsbCBub3QgYmUgaWdub3JlZCBvbiBjZXJ0YWluIHBpbmdiYWNrcyBhbmQgdGhhdCB0aGlzIG9wdGlvbiB3aWxsIGRpc2FibGUgZmVhdHVyZXMgdGhhdCByZWx5IG9uIGNvb2tpZXMsIHN1Y2ggYXMgZHluYW1pYyBhbGxvY2F0aW9uLlxuICAgKi9cbiAgc2V0Q29va2llT3B0aW9ucyhjb29raWVPcHRpb25zOiBudW1iZXIpOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIHdoZXRoZXIgYWxsIGFkcyBvbiB0aGUgcGFnZSBzaG91bGQgYmUgZm9yY2VkIHRvIGJlIHJlbmRlcmVkIHVzaW5nIGEgU2FmZUZyYW1lIGNvbnRhaW5lci5cbiAgICpcbiAgICogQHBhcmFtIGZvcmNlU2FmZUZyYW1lIHRydWUgdG8gZm9yY2UgYWxsIGFkcyBvbiB0aGUgcGFnZSB0byBiZSByZW5kZXJlZCBpbiBTYWZlRnJhbWVzIGFuZCBmYWxzZSB0byBjaGFuZ2UgdGhlIHByZXZpb3VzIHNldHRpbmcgdG8gZmFsc2UuIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aGVuIHVuc3BlY2lmaWVkIGVhcmxpZXIsIHdvbid0IGNoYW5nZSBhbnl0aGluZy5cbiAgICovXG4gIHNldEZvcmNlU2FmZUZyYW1lKGZvcmNlU2FmZUZyYW1lOiBib29sZWFuKTogUHViQWRzU2VydmljZTtcblxuICAvKipcbiAgICogUGFzc2VzIGxvY2F0aW9uIGluZm9ybWF0aW9uIGZyb20gd2Vic2l0ZXMgc28geW91IGNhbiBnZW8tdGFyZ2V0IGxpbmUgaXRlbXMgdG8gc3BlY2lmaWMgbG9jYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyBGcmVlZm9ybSBhZGRyZXNzLlxuICAgKi9cbiAgc2V0TG9jYXRpb24oYWRkcmVzczogc3RyaW5nKTogUHViQWRzU2VydmljZTtcblxuICAvKipcbiAgICogQWxsb3dzIGNvbmZpZ3VyYXRpb24gb2YgYWxsIHByaXZhY3kgc2V0dGluZ3MgZnJvbSBhIHNpbmdsZSBBUEkgdXNpbmcgYSBjb25maWcgb2JqZWN0LlxuICAgKiBAcGFyYW0gcHJpdmFjeVNldHRpbmdzXG4gICAqL1xuICBzZXRQcml2YWN5U2V0dGluZ3MocHJpdmFjeVNldHRpbmdzOiBQcml2YWN5U2V0dGluZ3NDb25maWcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBmb3IgdGhlIHB1Ymxpc2hlci1wcm92aWRlZCBJRC5cbiAgICpcbiAgICogQHBhcmFtIHBwaWQgQW4gYWxwaGFudW1lcmljIElEIHByb3ZpZGVkIGJ5IHRoZSBwdWJsaXNoZXIgd2l0aCBhIHJlY29tbWVuZGVkIG1heGltdW0gb2YgMTUwIGNoYXJhY3RlcnMuXG4gICAqL1xuICBzZXRQdWJsaXNoZXJQcm92aWRlZElkKHBwaWQ6IHN0cmluZyk6IFB1YkFkc1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgd2hldGhlciB0aGUgcGFnZSBzaG91bGQgcmVxdWVzdCBwZXJzb25hbGl6ZWQgb3Igbm9uLXBlcnNvbmFsaXplZCBhZHMuXG4gICAqXG4gICAqIEBwYXJhbSBub25QZXJzb25hbGl6ZWRBZHMgMCBmb3IgcGVyc29uYWxpemVkIGFkcywgMSBmb3Igbm9uLXBlcnNvbmFsaXplZCBhZHMuXG4gICAqL1xuICBzZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKG5vblBlcnNvbmFsaXplZEFkczogMCB8IDEpOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwYWdlLWxldmVsIHByZWZlcmVuY2VzIGZvciBTYWZlRnJhbWUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqL1xuICBzZXRTYWZlRnJhbWVDb25maWcoY29uZmlnOiBTYWZlRnJhbWVDb25maWcpOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgY3VzdG9tIHRhcmdldGluZyBwYXJhbWV0ZXIgZm9yIHRoaXMgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIGtleSBUYXJnZXRpbmcgcGFyYW1ldGVyIGtleS5cbiAgICogQHBhcmFtIHZhbHVlIFRhcmdldGluZyBwYXJhbWV0ZXIgdmFsdWUgb3IgYXJyYXkgb2YgdmFsdWVzLlxuICAgKi9cbiAgc2V0VGFyZ2V0aW5nKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2aWRlbyBjb250ZW50IGluZm9ybWF0aW9uIHRvIGJlIHNlbnQgYWxvbmcgd2l0aCB0aGUgYWQgcmVxdWVzdHMgZm9yIHRhcmdldGluZyBhbmQgY29udGVudCBleGNsdXNpb24gcHVycG9zZXMuXG4gICAqXG4gICAqIEBwYXJhbSB2aWRlb0NvbnRlbnRJZCBUaGUgdmlkZW8gY29udGVudCBJRC5cbiAgICogQHBhcmFtIHZpZGVvQ21zSWQgVGhlIHZpZGVvIENNUyBJRC5cbiAgICovXG4gIHNldFZpZGVvQ29udGVudCh2aWRlb0NvbnRlbnRJZDogc3RyaW5nLCB2aWRlb0Ntc0lkOiBzdHJpbmcpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBjb3JyZWxhdG9yIHRoYXQgaXMgc2VudCB3aXRoIGFkIHJlcXVlc3RzLCBlZmZlY3RpdmVseSBzdGFydGluZyBhIG5ldyBwYWdlIHZpZXcuXG4gICAqL1xuICB1cGRhdGVDb3JyZWxhdG9yKCk6IFB1YkFkc1NlcnZpY2U7XG59XG5cbmludGVyZmFjZSBTaXplTWFwcGluZ0J1aWxkZXIge1xuICAvKipcbiAgICogQWRkcyBhIG1hcHBpbmcgZnJvbSBhIHNpbmdsZS1zaXplIGFycmF5IHJlcHJlc2VudGluZyB0aGUgdmlld3BvcnQgdG8gZWl0aGVyIGEgc2luZ2xlLXNpemUgYXJyYXkgb3IgYSBtdWx0aS1zaXplIGFycmF5IHJlcHJlc2VudGluZyB0aGUgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIHZpZXdwb3J0U2l6ZSBUaGUgc2l6ZSBvZiB0aGUgdmlld3BvcnQgZm9yIHRoaXMgbWFwcGluZyBlbnRyeS5cbiAgICogQHBhcmFtIHNsb3RTaXplIFRoZSBzaXplcyBvZiB0aGUgc2xvdCBmb3IgdGhpcyBtYXBwaW5nIGVudHJ5LlxuICAgKi9cbiAgYWRkU2l6ZShcbiAgICB2aWV3cG9ydFNpemU6IFNpbmdsZVNpemVBcnJheSxcbiAgICBzbG90U2l6ZTogR2VuZXJhbFNpemVcbiAgKTogU2l6ZU1hcHBpbmdCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBzaXplIG1hcCBzcGVjaWZpY2F0aW9uIGZyb20gdGhlIG1hcHBpbmdzIGFkZGVkIHRvIHRoaXMgYnVpbGRlci5cbiAgICovXG4gIGJ1aWxkKCk6IFNpemVNYXBwaW5nQXJyYXk7XG59XG5cbmludGVyZmFjZSBFdmVudCB7XG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHNsb3Q6IFNsb3Q7XG59XG5cbmludGVyZmFjZSBTbG90UmVuZGVyRW5kZWRFdmVudCBleHRlbmRzIEV2ZW50IHtcbiAgYWR2ZXJ0aXNlcklkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBjYW1wYWlnbklkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBjcmVhdGl2ZUlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBpc0VtcHR5OiBib29sZWFuO1xuICBsaW5lSXRlbUlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBzaXplOiBudW1iZXJbXSB8IHN0cmluZztcbiAgc291cmNlQWdub3N0aWNDcmVhdGl2ZUlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBzb3VyY2VBZ25vc3RpY0xpbmVJdGVtSWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eS1pbnRlcmZhY2VcbmludGVyZmFjZSBTbG90UmVxdWVzdGVkRXZlbnQgZXh0ZW5kcyBFdmVudCB7fVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZW1wdHktaW50ZXJmYWNlXG5pbnRlcmZhY2UgU2xvdFJlc3BvbnNlUmVjZWl2ZWQgZXh0ZW5kcyBFdmVudCB7fVxuXG5pbnRlcmZhY2UgU2xvdFZpc2liaWxpdHlDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIGluVmlld1BlcmNlbnRhZ2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbG90IHtcbiAgLyoqXG4gICAqIEFkZHMgYSBzZXJ2aWNlIHRvIHRoaXMgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIHNlcnZpY2UgVGhlIHNlcnZpY2UgdG8gYmUgYWRkZWQuXG4gICAqL1xuICBhZGRTZXJ2aWNlKHNlcnZpY2U6IFNlcnZpY2UpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIHNsb3QtbGV2ZWwgYWQgY2F0ZWdvcnkgZXhjbHVzaW9uIGxhYmVscyBmb3IgdGhpcyBzbG90LlxuICAgKi9cbiAgY2xlYXJDYXRlZ29yeUV4Y2x1c2lvbnMoKTogU2xvdDtcblxuICAvKipcbiAgICogQ2xlYXJzIHNwZWNpZmljIG9yIGFsbCBjdXN0b20gc2xvdC1sZXZlbCB0YXJnZXRpbmcgcGFyYW1ldGVycyBmb3IgdGhpcyBzbG90LlxuICAgKlxuICAgKiBAcGFyYW0gb3B0X2tleSBUYXJnZXRpbmcgcGFyYW1ldGVyIGtleS4gVGhlIGtleSBpcyBvcHRpb25hbDsgYWxsIHRhcmdldGluZyBwYXJhbWV0ZXJzIHdpbGwgYmUgY2xlYXJlZCBpZiBpdCBpcyB1bnNwZWNpZmllZC5cbiAgICovXG4gIGNsZWFyVGFyZ2V0aW5nKG9wdF9rZXk/OiBzdHJpbmcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBTZXRzIGFuIGFycmF5IG9mIG1hcHBpbmdzIGZyb20gYSBtaW5pbXVtIHZpZXdwb3J0IHNpemUgdG8gc2xvdCBzaXplIGZvciB0aGlzIHNsb3QuXG4gICAqXG4gICAqIEBwYXJhbSBzaXplTWFwcGluZyBBcnJheSBvZiBzaXplIG1hcHBpbmdzLiBZb3UgY2FuIHVzZSBgZ29vZ2xldGFnLlNpemVNYXBwaW5nQnVpbGRlcmAgdG8gY3JlYXRlIGl0LiBFYWNoIHNpemUgbWFwcGluZyBpcyBhbiBhcnJheSBvZiB0d28gZWxlbWVudHM6IGBnb29nbGV0YWcuU2luZ2xlU2l6ZUFycmF5YCBhbmQgYGdvb2dsZXRhZy5HZW5lcmFsU2l6ZWAuXG4gICAqL1xuICBkZWZpbmVTaXplTWFwcGluZyhzaXplTWFwcGluZzogU2l6ZU1hcHBpbmdBcnJheSk6IFNsb3Q7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIGZvciB0aGUgQWRTZW5zZSBhdHRyaWJ1dGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgTmFtZSBvZiB0aGUgYXR0cmlidXRlIHRvIGxvb2sgZm9yLlxuICAgKi9cbiAgZ2V0KGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZnVsbCBwYXRoIG9mIHRoZSBhZCB1bml0LCB3aXRoIHRoZSBuZXR3b3JrIGNvZGUgYW5kIGFkIHVuaXQgcGF0aC5cbiAgICovXG4gIGdldEFkVW5pdFBhdGgoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGF0dHJpYnV0ZSBrZXlzIHNldCBvbiB0aGlzIHNsb3QuXG4gICAqL1xuICBnZXRBdHRyaWJ1dGVLZXlzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhZCBjYXRlZ29yeSBleGNsdXNpb24gbGFiZWxzIGZvciB0aGlzIHNsb3QuXG4gICAqL1xuICBnZXRDYXRlZ29yeUV4Y2x1c2lvbnMoKTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFkIHJlc3BvbnNlIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgZ2V0UmVzcG9uc2VJbmZvcm1hdGlvbigpOiBSZXNwb25zZUluZm9ybWF0aW9uO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpZCBvZiB0aGUgc2xvdCBlbGVtZW50IHByb3ZpZGVkIHdoZW4gdGhlIHNsb3Qgd2FzIGRlZmluZWQuXG4gICAqL1xuICBnZXRTbG90RWxlbWVudElkKCk6IHN0cmluZztcblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGN1c3RvbSB0YXJnZXRpbmcgcGFyYW1ldGVyIHNldCBvbiB0aGlzIHNsb3QuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIHRhcmdldGluZyBrZXkgdG8gbG9vayBmb3IuXG4gICAqL1xuICBnZXRUYXJnZXRpbmcoa2V5OiBzdHJpbmcpOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbGlzdCBvZiBhbGwgY3VzdG9tIHRhcmdldGluZyBrZXlzIHNldCBvbiB0aGlzIHNsb3QuXG4gICAqL1xuICBnZXRUYXJnZXRpbmdLZXlzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgdmFsdWUgZm9yIGFuIEFkU2Vuc2UgYXR0cmlidXRlIG9uIGEgcGFydGljdWxhciBhZCBzbG90LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBBdHRyaWJ1dGUgdmFsdWUuXG4gICAqL1xuICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgc2xvdC1sZXZlbCBhZCBjYXRlZ29yeSBleGNsdXNpb24gbGFiZWwgb24gdGhpcyBzbG90LlxuICAgKlxuICAgKiBAcGFyYW0gY2F0ZWdvcnlFeGNsdXNpb24gVGhlIGFkIGNhdGVnb3J5IGV4Y2x1c2lvbiBsYWJlbCB0byBhZGQuXG4gICAqL1xuICBzZXRDYXRlZ29yeUV4Y2x1c2lvbihjYXRlZ29yeUV4Y2x1c2lvbjogc3RyaW5nKTogU2xvdDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgY2xpY2sgVVJMIHRvIHdoaWNoIHVzZXJzIHdpbGwgYmUgcmVkaXJlY3RlZCBhZnRlciBjbGlja2luZyBvbiB0aGUgYWQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgY2xpY2sgVVJMIHRvIHNldC5cbiAgICovXG4gIHNldENsaWNrVXJsKHZhbHVlOiBzdHJpbmcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBTZXRzIHdoZXRoZXIgdGhlIHNsb3QgZGl2IHNob3VsZCBiZSBoaWRkZW4gd2hlbiB0aGVyZSBpcyBubyBhZCBpbiB0aGUgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIGNvbGxhcHNlIFdoZXRoZXIgdG8gY29sbGFwc2UgdGhlIHNsb3QgaWYgbm8gYWQgaXMgcmV0dXJuZWQuXG4gICAqIEBwYXJhbSBvcHRfY29sbGFwc2VCZWZvcmVBZEZldGNoIFdoZXRoZXIgdG8gY29sbGFwc2UgdGhlIHNsb3QgZXZlbiBiZWZvcmUgYW4gYWQgaXMgZmV0Y2hlZC4gSWdub3JlZCBpZiBjb2xsYXBzZSBpcyBub3QgdHJ1ZS5cbiAgICovXG4gIHNldENvbGxhcHNlRW1wdHlEaXYoXG4gICAgY29sbGFwc2U6IGJvb2xlYW4sXG4gICAgb3B0X2NvbGxhcHNlQmVmb3JlQWRGZXRjaD86IGJvb2xlYW5cbiAgKTogU2xvdDtcblxuICAvKipcbiAgICogQ29uZmlndXJlcyB3aGV0aGVyIGFkcyBpbiB0aGlzIHNsb3Qgc2hvdWxkIGJlIGZvcmNlZCB0byBiZSByZW5kZXJlZCB1c2luZyBhIFNhZmVGcmFtZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBwYXJhbSBmb3JjZVNhZmVGcmFtZSB0cnVlIHRvIGZvcmNlIGFsbCBhZHMgaW4gdGhpcyBzbG90IHRvIGJlIHJlbmRlcmVkIGluIFNhZmVGcmFtZXMgYW5kIGZhbHNlIHRvIG9wdC1vdXQgb2YgYSBwYWdlLWxldmVsIHNldHRpbmcgKGlmIHByZXNlbnQpLiBTZXR0aW5nIHRoaXMgdG8gZmFsc2Ugd2hlbiBub3Qgc3BlY2lmaWVkIGF0IHBhZ2UtbGV2ZWwsIHdvbid0IGNoYW5nZSBhbnl0aGluZy5cbiAgICovXG4gIHNldEZvcmNlU2FmZUZyYW1lKGZvcmNlU2FmZUZyYW1lOiBib29sZWFuKTogU2xvdDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgc2xvdC1sZXZlbCBwcmVmZXJlbmNlcyBmb3IgU2FmZUZyYW1lIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKi9cbiAgc2V0U2FmZUZyYW1lQ29uZmlnKGNvbmZpZzogU2FmZUZyYW1lQ29uZmlnKTogU2xvdDtcblxuICAvKipcbiAgICogU2V0cyBhIGN1c3RvbSB0YXJnZXRpbmcgcGFyYW1ldGVyIGZvciB0aGlzIHNsb3QuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGFyZ2V0aW5nIHBhcmFtZXRlciBrZXkuXG4gICAqIEBwYXJhbSB2YWx1ZSBUYXJnZXRpbmcgcGFyYW1ldGVyIHZhbHVlIG9yIGFycmF5IG9mIHZhbHVlcy5cbiAgICovXG4gIHNldFRhcmdldGluZyhrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogU2xvdDtcblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gdGFyZ2V0aW5nIHBhcmFtZXRlcnMgZm9yIHRoaXMgc2xvdCwgZnJvbSBhIGtleTp2YWx1ZSBtYXAgaW4gYSBKU09OIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIG1hcCBUYXJnZXRpbmcgcGFyYW1ldGVyIGtleTp2YWx1ZSBtYXAuXG4gICAqL1xuICB1cGRhdGVUYXJnZXRpbmdGcm9tTWFwKG1hcDogb2JqZWN0KTogU2xvdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHb29nbGV0YWcge1xuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHRoYXQgR1BUIEFQSSBpcyBsb2FkZWQgYW5kIHJlYWR5IHRvIGJlIGNhbGxlZC5cbiAgICovXG4gIGFwaVJlYWR5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBjb21tYW5kIHF1ZXVlIGZvciBhc3luY2hyb25vdXMgZXhlY3V0aW9uIG9mIEdQVC1yZWxhdGVkIGNhbGxzLlxuICAgKi9cbiAgY21kOiBDb21tYW5kQXJyYXk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIGNvbXBhbmlvbiBhZHMgc2VydmljZS5cbiAgICovXG4gIGNvbXBhbmlvbkFkcygpOiBDb21wYW5pb25BZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBjb250ZW50IHNlcnZpY2UuXG4gICAqL1xuICBjb250ZW50KCk6IENvbnRlbnRTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIG91dC1vZi1wYWdlIChpbnRlcnN0aXRpYWwpIGFkIHNsb3Qgd2l0aCB0aGUgZ2l2ZW4gYWQgdW5pdCBwYXRoLlxuICAgKlxuICAgKiBAcGFyYW0gYWRVbml0UGF0aCBGdWxsIGFkIHVuaXQgcGF0aCB3aXRoIHRoZSBuZXR3b3JrIGNvZGUgYW5kIGFkIHVuaXQgY29kZS5cbiAgICogQHBhcmFtIG9wdF9kaXYgSUQgb2YgdGhlIGRpdiB0aGF0IHdpbGwgY29udGFpbiB0aGlzIGFkIHVuaXQgb3IgT3V0T2ZQYWdlRm9ybWF0LlxuICAgKi9cbiAgZGVmaW5lT3V0T2ZQYWdlU2xvdChhZFVuaXRQYXRoOiBzdHJpbmcsIG9wdF9kaXY/OiBzdHJpbmcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIGFkIHNsb3Qgd2l0aCBhIGdpdmVuIGFkIHVuaXQgcGF0aCBhbmQgc2l6ZSBhbmQgYXNzb2NpYXRlcyBpdCB3aXRoIHRoZSBJRCBvZiBhIGRpdiBlbGVtZW50IG9uIHRoZSBwYWdlIHRoYXQgd2lsbCBjb250YWluIHRoZSBhZC5cbiAgICpcbiAgICogQHBhcmFtIGFkVW5pdFBhdGggRnVsbCBhZCB1bml0IHBhdGggd2l0aCB0aGUgbmV0d29yayBjb2RlIGFuZCB1bml0IGNvZGUuXG4gICAqIEBwYXJhbSBzaXplIFdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIGFkZGVkIHNsb3QuIFRoaXMgaXMgdGhlIHNpemUgdGhhdCBpcyB1c2VkIGluIHRoZSBhZCByZXF1ZXN0IGlmIG5vIHJlc3BvbnNpdmUgc2l6ZSBtYXBwaW5nIGlzIHByb3ZpZGVkIG9yIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydCBpcyBzbWFsbGVyIHRoYW4gdGhlIHNtYWxsZXN0IHNpemUgcHJvdmlkZWQgaW4gdGhlIG1hcHBpbmcuXG4gICAqIEBwYXJhbSBvcHRfZGl2IElEIG9mIHRoZSBkaXYgdGhhdCB3aWxsIGNvbnRhaW4gdGhpcyBhZCB1bml0LlxuICAgKi9cbiAgZGVmaW5lU2xvdChhZFVuaXRQYXRoOiBzdHJpbmcsIHNpemU6IEdlbmVyYWxTaXplLCBvcHRfZGl2Pzogc3RyaW5nKTogU2xvdDtcblxuICAvKipcbiAgICogRGVzdHJveXMgdGhlIGdpdmVuIHNsb3RzLCByZW1vdmluZyBhbGwgcmVsYXRlZCBvYmplY3RzIGFuZCByZWZlcmVuY2VzIG9mIHRob3NlIHNsb3RzIGZyb20gR1BULlxuICAgKiBAcGFyYW0gb3B0X3Nsb3RzIFRoZSBhcnJheSBvZiBzbG90cyB0byBkZXN0cm95LiBBcnJheSBpcyBvcHRpb25hbDsgYWxsIHNsb3RzIHdpbGwgYmUgZGVzdHJveWVkIGlmIGl0IGlzIHVuc3BlY2lmaWVkLlxuICAgKi9cbiAgZGVzdHJveVNsb3RzKG9wdF9zbG90cz86IFNsb3RbXSk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBHb29nbGUgUHVibGlzaGVyIENvbnNvbGUuXG4gICAqL1xuICBkaXNhYmxlUHVibGlzaGVyQ29uc29sZSgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBJbnN0cnVjdHMgc2xvdCBzZXJ2aWNlcyB0byByZW5kZXIgdGhlIHNsb3QuXG4gICAqXG4gICAqIEBwYXJhbSBkaXZPclNsb3QgRWl0aGVyIHRoZSBJRCBvZiB0aGUgZGl2IGVsZW1lbnQgY29udGFpbmluZyB0aGUgYWQgc2xvdCBvciB0aGUgZGl2IGVsZW1lbnQsIG9yIHRoZSBzbG90IG9iamVjdC4gSWYgYSBkaXYgZWxlbWVudCBpcyBwcm92aWRlZCwgaXQgbXVzdCBoYXZlIGFuICdpZCcgYXR0cmlidXRlIHdoaWNoIG1hdGNoZXMgdGhlIElEIHBhc3NlZCBpbnRvIGBnb29nbGV0YWcuZGVmaW5lU2xvdCgpYC5cbiAgICovXG4gIGRpc3BsYXkoZGl2T3JTbG90Pzogc3RyaW5nIHwgRWxlbWVudCB8IFNsb3QpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFsbCBHUFQgc2VydmljZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBmb3IgYWQgc2xvdHMgb24gdGhlIHBhZ2UuXG4gICAqL1xuICBlbmFibGVTZXJ2aWNlcygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgR1BULlxuICAgKi9cbiAgZ2V0VmVyc2lvbigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBHb29nbGUgUHVibGlzaGVyIENvbnNvbGUuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRfZGl2IElEIG9mIHRoZSBkaXYgZWxlbWVudCBjb250YWluaW5nIHRoZSBhZCBzbG90LlxuICAgKi9cbiAgb3BlbkNvbnNvbGUob3B0X2Rpdj86IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIHB1YmFkcyBzZXJ2aWNlLlxuICAgKi9cbiAgcHViYWRzKCk6IFB1YkFkc1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyB0aGF0IFB1YmFkcyBzZXJ2aWNlIGlzIGVuYWJsZWQsIGxvYWRlZCBhbmQgZnVsbHkgb3BlcmF0aW9uYWwuXG4gICAqL1xuICBwdWJhZHNSZWFkeTogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0cyB0aGF0IHRpdGxlIGZvciBhbGwgYWQgY29udGFpbmVyIGlmcmFtZXMgY3JlYXRlZCBieSBwdWJhZHMgc2VydmljZSwgZnJvbSB0aGlzIHBvaW50IG9ud2FyZHMuXG4gICAqXG4gICAqIEBwYXJhbSB0aXRsZSBUaGUgdGl0bGUgdG8gc2V0LlxuICAgKi9cbiAgc2V0QWRJZnJhbWVUaXRsZSh0aXRsZTogc3RyaW5nKTogdm9pZDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBTaXplTWFwcGluZ0J1aWxkZXIuXG4gICAqL1xuICBzaXplTWFwcGluZygpOiBTaXplTWFwcGluZ0J1aWxkZXI7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25nLWdwdC9zcmMvbGliL2dwdC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyYWxTaXplLCBTaW5nbGVTaXplQXJyYXksIFNpemVNYXBwaW5nQXJyYXkgfSBmcm9tICcuL2dwdC50eXBlJztcblxuaW50ZXJmYWNlIFJlc3BvbnNlSW5mb3JtYXRpb24ge1xuICBhZHZlcnRpc2VySWQ6IHN0cmluZztcbiAgY2FtcGFpZ25JZDogc3RyaW5nO1xuICBjcmVhdGl2ZUlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBjcmVhdGl2ZVRlbXBsYXRlSWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIGxpbmVJdGVtSWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FmZUZyYW1lQ29uZmlnIHtcbiAgYWxsb3dPdmVybGF5RXhwYW5zaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgYWxsb3dQdXNoRXhwYW5zaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgc2FuZGJveD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHVzZVVuaXF1ZURvbWFpbj86IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhenlMb2FkT3B0aW9uc0NvbmZpZyB7XG4gIGZldGNoTWFyZ2luUGVyY2VudD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcmVuZGVyTWFyZ2luUGVyY2VudD86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgbW9iaWxlU2NhbGluZz86IG51bWJlciB8IHVuZGVmaW5lZDtcbn1cblxuaW50ZXJmYWNlIFByaXZhY3lTZXR0aW5nc0NvbmZpZyB7XG4gIGNoaWxkRGlyZWN0ZWRUcmVhdG1lbnQ/OiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgbGltaXRlZEFkcz86IGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICByZXN0cmljdERhdGFQcm9jZXNzaW5nPzogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHVuZGVyQWdlT2ZDb25zZW50PzogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ7XG59XG5cbmludGVyZmFjZSBDb21tYW5kQXJyYXkge1xuICBwdXNoKGY6ICgpID0+IHZvaWQpOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZSB7XG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgZXZlbnRUeXBlOiAnc2xvdFJlbmRlckVuZGVkJyxcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBTbG90UmVuZGVyRW5kZWRFdmVudCkgPT4gdm9pZFxuICApOiBTZXJ2aWNlO1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIGV2ZW50VHlwZTogJ3Nsb3RSZXF1ZXN0ZWQnLFxuICAgIGxpc3RlbmVyOiAoZXZlbnQ6IFNsb3RSZXF1ZXN0ZWRFdmVudCkgPT4gdm9pZFxuICApOiBTZXJ2aWNlO1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIGV2ZW50VHlwZTogJ3Nsb3RSZXNwb25zZVJlY2VpdmVkJyxcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBTbG90UmVzcG9uc2VSZWNlaXZlZCkgPT4gdm9pZFxuICApOiBTZXJ2aWNlO1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIGV2ZW50VHlwZTogJ3Nsb3RWaXNpYmlsaXR5Q2hhbmdlZCcsXG4gICAgbGlzdGVuZXI6IChldmVudDogU2xvdFZpc2liaWxpdHlDaGFuZ2VkRXZlbnQpID0+IHZvaWRcbiAgKTogU2VydmljZTtcbiAgYWRkRXZlbnRMaXN0ZW5lcihcbiAgICBldmVudFR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZFxuICApOiBTZXJ2aWNlO1xuICBnZXRTbG90cygpOiBTbG90W107XG59XG5cbmludGVyZmFjZSBDb21wYW5pb25BZHNTZXJ2aWNlIGV4dGVuZHMgU2VydmljZSB7XG4gIGVuYWJsZVN5bmNMb2FkaW5nKCk6IHZvaWQ7XG4gIHNldFJlZnJlc2hVbmZpbGxlZFNsb3RzKHZhbHVlOiBib29sZWFuKTogdm9pZDtcbn1cblxuaW50ZXJmYWNlIENvbnRlbnRTZXJ2aWNlIGV4dGVuZHMgU2VydmljZSB7XG4gIHNldENvbnRlbnQoc2xvdDogU2xvdCwgY29udGVudDogc3RyaW5nKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJBZHNTZXJ2aWNlIGV4dGVuZHMgU2VydmljZSB7XG4gIC8qKlxuICAgKiBSZW1vdmVzIHRoZSBhZHMgZnJvbSB0aGUgZ2l2ZW4gc2xvdHMgYW5kIHJlcGxhY2VzIHRoZW0gd2l0aCBibGFuayBjb250ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gb3B0X3Nsb3RzIFRoZSBhcnJheSBvZiBzbG90cyB0byBjbGVhci4gQXJyYXkgaXMgb3B0aW9uYWw7IGFsbCBzbG90cyB3aWxsIGJlIGNsZWFyZWQgaWYgaXQgaXMgdW5zcGVjaWZpZWQuXG4gICAqL1xuICBjbGVhcihvcHRfc2xvdHM/OiBTbG90W10pOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIHBhZ2UtbGV2ZWwgYWQgY2F0ZWdvcnkgZXhjbHVzaW9uIGxhYmVscy5cbiAgICovXG4gIGNsZWFyQ2F0ZWdvcnlFeGNsdXNpb25zKCk6IFB1YkFkc1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIENsZWFycyBjdXN0b20gdGFyZ2V0aW5nIHBhcmFtZXRlcnMgZm9yIGEgc3BlY2lmaWMga2V5IG9yIGZvciBhbGwga2V5cy5cbiAgICpcbiAgICogQHBhcmFtIG9wdF9rZXkgVGFyZ2V0aW5nIHBhcmFtZXRlciBrZXkuIFRoZSBrZXkgaXMgb3B0aW9uYWw7IGFsbCB0YXJnZXRpbmcgcGFyYW1ldGVycyB3aWxsIGJlIGNsZWFyZWQgaWYgaXQgaXMgdW5zcGVjaWZpZWQuXG4gICAqL1xuICBjbGVhclRhcmdldGluZyhvcHRfa2V5Pzogc3RyaW5nKTogUHViQWRzU2VydmljZTtcblxuICAvKipcbiAgICogRW5hYmxlcyBjb2xsYXBzaW5nIG9mIHNsb3QgZGl2cyBzbyB0aGF0IHRoZXkgZG9uJ3QgdGFrZSB1cCBhbnkgc3BhY2Ugb24gdGhlIHBhZ2Ugd2hlbiB0aGVyZSBpcyBubyBhZCBjb250ZW50IHRvIGRpc3BsYXkuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRfY29sbGFwc2VCZWZvcmVBZEZldGNoIFdoZXRoZXIgdG8gY29sbGFwc2UgdGhlIHNsb3RzIGV2ZW4gYmVmb3JlIHRoZSBhZHMgYXJlIGZldGNoZWQuIFRoaXMgcGFyYW1ldGVyIGlzIG9wdGlvbmFsOyBpZiBub3QgcHJvdmlkZWQsIGZhbHNlIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCB2YWx1ZS5cbiAgICovXG4gIGNvbGxhcHNlRW1wdHlEaXZzKG9wdF9jb2xsYXBzZUJlZm9yZUFkRmV0Y2g/OiBib29sZWFuKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZXMgcmVxdWVzdHMgZm9yIGFkcyBvbiBwYWdlIGxvYWQsIGJ1dCBhbGxvd3MgYWRzIHRvIGJlIHJlcXVlc3RlZCB3aXRoIGEgYGdvb2dsZXRhZy5wdWJhZHMoKS5yZWZyZXNoKClgIGNhbGwuXG4gICAqL1xuICBkaXNhYmxlSW5pdGlhbExvYWQoKTogdm9pZDtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhbmQgZGlzcGxheXMgYW4gYWQgc2xvdCB3aXRoIHRoZSBnaXZlbiBhZCB1bml0IHBhdGggYW5kIHNpemUuXG4gICAqXG4gICAqIEBwYXJhbSBhZFVuaXRQYXRoIFRoZSBhZCB1bml0IHBhdGggb2Ygc2xvdCB0byBiZSByZW5kZXJlZC5cbiAgICogQHBhcmFtIHNpemUgV2lkdGggYW5kIGhlaWdodCBvZiB0aGUgc2xvdC5cbiAgICogQHBhcmFtIG9wdF9kaXYgRWl0aGVyIHRoZSBJRCBvZiB0aGUgZGl2IGNvbnRhaW5pbmcgdGhlIHNsb3Qgb3IgdGhlIGRpdiBlbGVtZW50IGl0c2VsZi5cbiAgICogQHBhcmFtIG9wdF9jbGlja1VybCBUaGUgY2xpY2sgVVJMIHRvIHVzZSBvbiB0aGlzIHNsb3QuXG4gICAqL1xuICBkaXNwbGF5KFxuICAgIGFkVW5pdFBhdGg6IHN0cmluZyxcbiAgICBzaXplOiBHZW5lcmFsU2l6ZSxcbiAgICBvcHRfZGl2Pzogc3RyaW5nIHwgRWxlbWVudCxcbiAgICBvcHRfY2xpY2tVcmw/OiBzdHJpbmdcbiAgKTogU2xvdDtcblxuICAvKipcbiAgICogRW5hYmxlcyBsYXp5IGxvYWRpbmcgaW4gR1BUIGFzIGRlZmluZWQgYnkgdGhlIGNvbmZpZyBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRfY29uZmlnIENvbmZpZ3VyYXRpb24gb2JqZWN0IGFsbG93cyBjdXN0b21pemF0aW9uIG9mIGxhenkgbG9hZGluZyBiZWhhdmlvci4gQW55IG9taXR0ZWQgY29uZmlndXJhdGlvbnMgd2lsbCB1c2UgYSBkZWZhdWx0IHNldCBieSBHb29nbGUgdGhhdCB3aWxsIGJlIHR1bmVkIG92ZXIgdGltZS4gVG8gZGlzYWJsZSBhIHBhcnRpY3VsYXIgc2V0dGluZywgc3VjaCBhcyBhIGZldGNoaW5nIG1hcmdpbiwgc2V0IHRoZSB2YWx1ZSB0byAtMS5cbiAgICpcbiAgICogZmV0Y2hNYXJnaW5QZXJjZW50IGlzIHRoZSBtaW5pbXVtIGRpc3RhbmNlIGZyb20gdGhlIGN1cnJlbnQgdmlld3BvcnQgYSBzbG90IG11c3QgYmUgYmVmb3JlIHdlIGZldGNoIHRoZSBhZCBhcyBhIHBlcmNlbnRhZ2Ugb2Ygdmlld3BvcnQgc2l6ZS4gMCBtZWFucyBcIndoZW4gdGhlIHNsb3QgZW50ZXJzIHRoZSB2aWV3cG9ydFwiLCAxMDAgbWVhbnMgXCJ3aGVuIHRoZSBhZCBpcyAxIHZpZXdwb3J0IGF3YXlcIiwgYW5kIHNvIG9uLlxuICAgKlxuICAgKiByZW5kZXJNYXJnaW5QZXJjZW50IGlzIHRoZSBtaW5pbXVtIGRpc3RhbmNlIGZyb20gdGhlIGN1cnJlbnQgdmlld3BvcnQgYSBzbG90IG11c3QgYmUgYmVmb3JlIHdlIHJlbmRlciBhbiBhZC4gVGhpcyBhbGxvd3MgZm9yIHByZWZldGNoaW5nIHRoZSBhZCwgYnV0IHdhaXRpbmcgdG8gcmVuZGVyIGFuZCBkb3dubG9hZCBvdGhlciBzdWJyZXNvdXJjZXMuIFRoZSB2YWx1ZSB3b3JrcyBqdXN0IGxpa2UgZmV0Y2hNYXJnaW5QZXJjZW50IGFzIGEgcGVyY2VudGFnZSBvZiB2aWV3cG9ydC5cbiAgICpcbiAgICogbW9iaWxlU2NhbGluZyBpcyBhIG11bHRpcGxpZXIgYXBwbGllZCB0byBtYXJnaW5zIG9uIG1vYmlsZSBkZXZpY2VzLiBUaGlzIGFsbG93cyB2YXJ5aW5nIG1hcmdpbnMgb24gbW9iaWxlIHZzLiBkZXNrdG9wLiBGb3IgZXhhbXBsZSwgYSBtb2JpbGVTY2FsaW5nIG9mIDIuMCB3aWxsIG11bHRpcGx5IGFsbCBtYXJnaW5zIGJ5IDIgb24gbW9iaWxlIGRldmljZXMsIGluY3JlYXNpbmcgdGhlIG1pbmltdW0gZGlzdGFuY2UgYSBzbG90IGNhbiBiZSBiZWZvcmUgZmV0Y2hpbmcgYW5kIHJlbmRlcmluZy5cbiAgICovXG4gIGVuYWJsZUxhenlMb2FkKG9wdF9jb25maWc/OiBMYXp5TG9hZE9wdGlvbnNDb25maWcpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHNpbmdsZSByZXF1ZXN0IG1vZGUgZm9yIGZldGNoaW5nIG11bHRpcGxlIGFkcyBhdCB0aGUgc2FtZSB0aW1lLlxuICAgKi9cbiAgZW5hYmxlU2luZ2xlUmVxdWVzdCgpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTaWduYWxzIHRvIEdQVCB0aGF0IHZpZGVvIGFkcyB3aWxsIGJlIHByZXNlbnQgb24gdGhlIHBhZ2UuXG4gICAqL1xuICBlbmFibGVWaWRlb0FkcygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBmb3IgdGhlIEFkU2Vuc2UgYXR0cmlidXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IE5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB0byBsb29rIGZvci5cbiAgICovXG4gIGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGF0dHJpYnV0ZSBrZXlzIHRoYXQgaGF2ZSBiZWVuIHNldCBvbiB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBnZXRBdHRyaWJ1dGVLZXlzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgc3BlY2lmaWMgY3VzdG9tIHNlcnZpY2UtbGV2ZWwgdGFyZ2V0aW5nIHBhcmFtZXRlciB0aGF0IGhhcyBiZWVuIHNldC5cbiAgICpcbiAgICogQHBhcmFtIGtleSBUaGUgdGFyZ2V0aW5nIGtleSB0byBsb29rIGZvci5cbiAgICovXG4gIGdldFRhcmdldGluZyhrZXk6IHN0cmluZyk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGFsbCBjdXN0b20gc2VydmljZS1sZXZlbCB0YXJnZXRpbmcga2V5cyB0aGF0IGhhdmUgYmVlbiBzZXQuXG4gICAqL1xuICBnZXRUYXJnZXRpbmdLZXlzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXIgb3Igbm90IGluaXRpYWwgcmVxdWVzdHMgZm9yIGFkcyB3YXMgc3VjY2Vzc2Z1bGx5IGRpc2FibGVkIGJ5IGEgcHJldmlvdXMgZGlzYWJsZUluaXRpYWxMb2FkIGNhbGwuXG4gICAqL1xuICBpc0luaXRpYWxMb2FkRGlzYWJsZWQoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmV0Y2hlcyBhbmQgZGlzcGxheXMgbmV3IGFkcyBmb3Igc3BlY2lmaWMgb3IgYWxsIHNsb3RzIG9uIHRoZSBwYWdlLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0X3Nsb3RzIFRoZSBzbG90cyB0byByZWZyZXNoLiBBcnJheSBpcyBvcHRpb25hbDsgYWxsIHNsb3RzIHdpbGwgYmUgcmVmcmVzaGVkIGlmIGl0IGlzIHVuc3BlY2lmaWVkLlxuICAgKiBAcGFyYW0gb3B0X29wdGlvbnMgQ29uZmlndXJhdGlvbiBvcHRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHJlZnJlc2ggY2FsbC4gY2hhbmdlQ29ycmVsYXRvciBzcGVjaWZpZXMgd2hldGhlciBvciBub3QgYSBuZXcgY29ycmVsYXRvciBpcyB0byBiZSBnZW5lcmF0ZWQgZm9yIGZldGNoaW5nIGFkcy4gT3VyIGFkIHNlcnZlcnMgbWFpbnRhaW4gdGhpcyBjb3JyZWxhdG9yIHZhbHVlIGJyaWVmbHkgKGN1cnJlbnRseSBmb3IgMzAgc2Vjb25kcywgYnV0IHN1YmplY3QgdG8gY2hhbmdlKSwgc3VjaCB0aGF0IHJlcXVlc3RzIHdpdGggdGhlIHNhbWUgY29ycmVsYXRvciByZWNlaXZlZCBjbG9zZSB0b2dldGhlciB3aWxsIGJlIGNvbnNpZGVyZWQgYSBzaW5nbGUgcGFnZSB2aWV3LiBCeSBkZWZhdWx0IGEgbmV3IGNvcnJlbGF0b3IgaXMgZ2VuZXJhdGVkIGZvciBldmVyeSByZWZyZXNoLiBOb3RlIHRoYXQgdGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdCBvbiBHUFQncyBsb25nLWxpdmVkIHBhZ2V2aWV3LCB3aGljaCBhdXRvbWF0aWNhbGx5IHJlZmxlY3RzIHRoZSBhZHMgY3VycmVudGx5IG9uIHRoZSBwYWdlIGFuZCBoYXMgbm8gZXhwaXJhdGlvbiB0aW1lLlxuICAgKi9cbiAgcmVmcmVzaChcbiAgICBvcHRfc2xvdHM/OiBTbG90W10sXG4gICAgb3B0X29wdGlvbnM/OiB7IGNoYW5nZUNvcnJlbGF0b3I6IGJvb2xlYW4gfVxuICApOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTZXRzIHZhbHVlcyBmb3IgQWRTZW5zZSBhdHRyaWJ1dGVzIHRoYXQgYXBwbHkgdG8gYWxsIGFkIHNsb3RzIHVuZGVyIHRoZSBwdWJsaXNoZXIgYWRzIHNlcnZpY2UuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZS5cbiAgICogQHBhcmFtIHZhbHVlIEF0dHJpYnV0ZSB2YWx1ZS5cbiAgICovXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IFB1YkFkc1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIFNldHMgYSBwYWdlLWxldmVsIGFkIGNhdGVnb3J5IGV4Y2x1c2lvbiBmb3IgdGhlIGdpdmVuIGxhYmVsIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBjYXRlZ29yeUV4Y2x1c2lvbiBUaGUgYWQgY2F0ZWdvcnkgZXhjbHVzaW9uIGxhYmVsIHRvIGFkZC5cbiAgICovXG4gIHNldENhdGVnb3J5RXhjbHVzaW9uKGNhdGVnb3J5RXhjbHVzaW9uOiBzdHJpbmcpOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFuZCBkaXNhYmxlcyBob3Jpem9udGFsIGNlbnRlcmluZyBvZiBhZHMuXG4gICAqXG4gICAqIEBwYXJhbSBjZW50ZXJBZHMgdHJ1ZSB0byBjZW50ZXIgYWRzLCBmYWxzZSB0byBsZWZ0LWFsaWduIHRoZW0uXG4gICAqL1xuICBzZXRDZW50ZXJpbmcoY2VudGVyQWRzOiBib29sZWFuKTogdm9pZDtcblxuICAvKipcbiAgICogU2V0cyBvcHRpb25zIGZvciBpZ25vcmluZyBHb29nbGUgQWQgTWFuYWdlciBjb29raWVzIG9uIHRoZSBjdXJyZW50IHBhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBjb29raWVPcHRpb25zIFRoZSBjb29raWUgb3B0aW9ucyB0byBzZXQuIFBvc3NpYmxlIHZhbHVlcyBhcmU6XG4gICAqXG4gICAqIDA6IEVuYWJsZXMgR29vZ2xlIEFkIE1hbmFnZXIgY29va2llcyBvbiBhZCByZXF1ZXN0cyBvbiB0aGUgcGFnZS4gVGhpcyBvcHRpb24gaXMgc2V0IGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIDE6IElnbm9yZXMgR29vZ2xlIEFkIE1hbmFnZXIgY29va2llcyBvbiBzdWJzZXF1ZW50IGFkIHJlcXVlc3RzIGFuZCBwcmV2ZW50cyBjb29raWVzIGZyb20gYmVpbmcgY3JlYXRlZCBvbiB0aGUgcGFnZS4gTm90ZSB0aGF0IGNvb2tpZXMgd2lsbCBub3QgYmUgaWdub3JlZCBvbiBjZXJ0YWluIHBpbmdiYWNrcyBhbmQgdGhhdCB0aGlzIG9wdGlvbiB3aWxsIGRpc2FibGUgZmVhdHVyZXMgdGhhdCByZWx5IG9uIGNvb2tpZXMsIHN1Y2ggYXMgZHluYW1pYyBhbGxvY2F0aW9uLlxuICAgKi9cbiAgc2V0Q29va2llT3B0aW9ucyhjb29raWVPcHRpb25zOiBudW1iZXIpOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIHdoZXRoZXIgYWxsIGFkcyBvbiB0aGUgcGFnZSBzaG91bGQgYmUgZm9yY2VkIHRvIGJlIHJlbmRlcmVkIHVzaW5nIGEgU2FmZUZyYW1lIGNvbnRhaW5lci5cbiAgICpcbiAgICogQHBhcmFtIGZvcmNlU2FmZUZyYW1lIHRydWUgdG8gZm9yY2UgYWxsIGFkcyBvbiB0aGUgcGFnZSB0byBiZSByZW5kZXJlZCBpbiBTYWZlRnJhbWVzIGFuZCBmYWxzZSB0byBjaGFuZ2UgdGhlIHByZXZpb3VzIHNldHRpbmcgdG8gZmFsc2UuIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aGVuIHVuc3BlY2lmaWVkIGVhcmxpZXIsIHdvbid0IGNoYW5nZSBhbnl0aGluZy5cbiAgICovXG4gIHNldEZvcmNlU2FmZUZyYW1lKGZvcmNlU2FmZUZyYW1lOiBib29sZWFuKTogUHViQWRzU2VydmljZTtcblxuICAvKipcbiAgICogUGFzc2VzIGxvY2F0aW9uIGluZm9ybWF0aW9uIGZyb20gd2Vic2l0ZXMgc28geW91IGNhbiBnZW8tdGFyZ2V0IGxpbmUgaXRlbXMgdG8gc3BlY2lmaWMgbG9jYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gYWRkcmVzcyBGcmVlZm9ybSBhZGRyZXNzLlxuICAgKi9cbiAgc2V0TG9jYXRpb24oYWRkcmVzczogc3RyaW5nKTogUHViQWRzU2VydmljZTtcblxuICAvKipcbiAgICogQWxsb3dzIGNvbmZpZ3VyYXRpb24gb2YgYWxsIHByaXZhY3kgc2V0dGluZ3MgZnJvbSBhIHNpbmdsZSBBUEkgdXNpbmcgYSBjb25maWcgb2JqZWN0LlxuICAgKiBAcGFyYW0gcHJpdmFjeVNldHRpbmdzXG4gICAqL1xuICBzZXRQcml2YWN5U2V0dGluZ3MocHJpdmFjeVNldHRpbmdzOiBQcml2YWN5U2V0dGluZ3NDb25maWcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2YWx1ZSBmb3IgdGhlIHB1Ymxpc2hlci1wcm92aWRlZCBJRC5cbiAgICpcbiAgICogQHBhcmFtIHBwaWQgQW4gYWxwaGFudW1lcmljIElEIHByb3ZpZGVkIGJ5IHRoZSBwdWJsaXNoZXIgd2l0aCBhIHJlY29tbWVuZGVkIG1heGltdW0gb2YgMTUwIGNoYXJhY3RlcnMuXG4gICAqL1xuICBzZXRQdWJsaXNoZXJQcm92aWRlZElkKHBwaWQ6IHN0cmluZyk6IFB1YkFkc1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgd2hldGhlciB0aGUgcGFnZSBzaG91bGQgcmVxdWVzdCBwZXJzb25hbGl6ZWQgb3Igbm9uLXBlcnNvbmFsaXplZCBhZHMuXG4gICAqXG4gICAqIEBwYXJhbSBub25QZXJzb25hbGl6ZWRBZHMgMCBmb3IgcGVyc29uYWxpemVkIGFkcywgMSBmb3Igbm9uLXBlcnNvbmFsaXplZCBhZHMuXG4gICAqL1xuICBzZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKG5vblBlcnNvbmFsaXplZEFkczogMCB8IDEpOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwYWdlLWxldmVsIHByZWZlcmVuY2VzIGZvciBTYWZlRnJhbWUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqL1xuICBzZXRTYWZlRnJhbWVDb25maWcoY29uZmlnOiBTYWZlRnJhbWVDb25maWcpOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgY3VzdG9tIHRhcmdldGluZyBwYXJhbWV0ZXIgZm9yIHRoaXMgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIGtleSBUYXJnZXRpbmcgcGFyYW1ldGVyIGtleS5cbiAgICogQHBhcmFtIHZhbHVlIFRhcmdldGluZyBwYXJhbWV0ZXIgdmFsdWUgb3IgYXJyYXkgb2YgdmFsdWVzLlxuICAgKi9cbiAgc2V0VGFyZ2V0aW5nKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pOiBQdWJBZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB2aWRlbyBjb250ZW50IGluZm9ybWF0aW9uIHRvIGJlIHNlbnQgYWxvbmcgd2l0aCB0aGUgYWQgcmVxdWVzdHMgZm9yIHRhcmdldGluZyBhbmQgY29udGVudCBleGNsdXNpb24gcHVycG9zZXMuXG4gICAqXG4gICAqIEBwYXJhbSB2aWRlb0NvbnRlbnRJZCBUaGUgdmlkZW8gY29udGVudCBJRC5cbiAgICogQHBhcmFtIHZpZGVvQ21zSWQgVGhlIHZpZGVvIENNUyBJRC5cbiAgICovXG4gIHNldFZpZGVvQ29udGVudCh2aWRlb0NvbnRlbnRJZDogc3RyaW5nLCB2aWRlb0Ntc0lkOiBzdHJpbmcpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBjb3JyZWxhdG9yIHRoYXQgaXMgc2VudCB3aXRoIGFkIHJlcXVlc3RzLCBlZmZlY3RpdmVseSBzdGFydGluZyBhIG5ldyBwYWdlIHZpZXcuXG4gICAqL1xuICB1cGRhdGVDb3JyZWxhdG9yKCk6IFB1YkFkc1NlcnZpY2U7XG59XG5cbmludGVyZmFjZSBTaXplTWFwcGluZ0J1aWxkZXIge1xuICAvKipcbiAgICogQWRkcyBhIG1hcHBpbmcgZnJvbSBhIHNpbmdsZS1zaXplIGFycmF5IHJlcHJlc2VudGluZyB0aGUgdmlld3BvcnQgdG8gZWl0aGVyIGEgc2luZ2xlLXNpemUgYXJyYXkgb3IgYSBtdWx0aS1zaXplIGFycmF5IHJlcHJlc2VudGluZyB0aGUgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIHZpZXdwb3J0U2l6ZSBUaGUgc2l6ZSBvZiB0aGUgdmlld3BvcnQgZm9yIHRoaXMgbWFwcGluZyBlbnRyeS5cbiAgICogQHBhcmFtIHNsb3RTaXplIFRoZSBzaXplcyBvZiB0aGUgc2xvdCBmb3IgdGhpcyBtYXBwaW5nIGVudHJ5LlxuICAgKi9cbiAgYWRkU2l6ZShcbiAgICB2aWV3cG9ydFNpemU6IFNpbmdsZVNpemVBcnJheSxcbiAgICBzbG90U2l6ZTogR2VuZXJhbFNpemVcbiAgKTogU2l6ZU1hcHBpbmdCdWlsZGVyO1xuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBzaXplIG1hcCBzcGVjaWZpY2F0aW9uIGZyb20gdGhlIG1hcHBpbmdzIGFkZGVkIHRvIHRoaXMgYnVpbGRlci5cbiAgICovXG4gIGJ1aWxkKCk6IFNpemVNYXBwaW5nQXJyYXk7XG59XG5cbmludGVyZmFjZSBFdmVudCB7XG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHNsb3Q6IFNsb3Q7XG59XG5cbmludGVyZmFjZSBTbG90UmVuZGVyRW5kZWRFdmVudCBleHRlbmRzIEV2ZW50IHtcbiAgYWR2ZXJ0aXNlcklkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBjYW1wYWlnbklkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBjcmVhdGl2ZUlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBpc0VtcHR5OiBib29sZWFuO1xuICBsaW5lSXRlbUlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBzaXplOiBudW1iZXJbXSB8IHN0cmluZztcbiAgc291cmNlQWdub3N0aWNDcmVhdGl2ZUlkPzogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBzb3VyY2VBZ25vc3RpY0xpbmVJdGVtSWQ/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eS1pbnRlcmZhY2VcbmludGVyZmFjZSBTbG90UmVxdWVzdGVkRXZlbnQgZXh0ZW5kcyBFdmVudCB7fVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tZW1wdHktaW50ZXJmYWNlXG5pbnRlcmZhY2UgU2xvdFJlc3BvbnNlUmVjZWl2ZWQgZXh0ZW5kcyBFdmVudCB7fVxuXG5pbnRlcmZhY2UgU2xvdFZpc2liaWxpdHlDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBFdmVudCB7XG4gIGluVmlld1BlcmNlbnRhZ2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbG90IHtcbiAgLyoqXG4gICAqIEFkZHMgYSBzZXJ2aWNlIHRvIHRoaXMgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIHNlcnZpY2UgVGhlIHNlcnZpY2UgdG8gYmUgYWRkZWQuXG4gICAqL1xuICBhZGRTZXJ2aWNlKHNlcnZpY2U6IFNlcnZpY2UpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBDbGVhcnMgYWxsIHNsb3QtbGV2ZWwgYWQgY2F0ZWdvcnkgZXhjbHVzaW9uIGxhYmVscyBmb3IgdGhpcyBzbG90LlxuICAgKi9cbiAgY2xlYXJDYXRlZ29yeUV4Y2x1c2lvbnMoKTogU2xvdDtcblxuICAvKipcbiAgICogQ2xlYXJzIHNwZWNpZmljIG9yIGFsbCBjdXN0b20gc2xvdC1sZXZlbCB0YXJnZXRpbmcgcGFyYW1ldGVycyBmb3IgdGhpcyBzbG90LlxuICAgKlxuICAgKiBAcGFyYW0gb3B0X2tleSBUYXJnZXRpbmcgcGFyYW1ldGVyIGtleS4gVGhlIGtleSBpcyBvcHRpb25hbDsgYWxsIHRhcmdldGluZyBwYXJhbWV0ZXJzIHdpbGwgYmUgY2xlYXJlZCBpZiBpdCBpcyB1bnNwZWNpZmllZC5cbiAgICovXG4gIGNsZWFyVGFyZ2V0aW5nKG9wdF9rZXk/OiBzdHJpbmcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBTZXRzIGFuIGFycmF5IG9mIG1hcHBpbmdzIGZyb20gYSBtaW5pbXVtIHZpZXdwb3J0IHNpemUgdG8gc2xvdCBzaXplIGZvciB0aGlzIHNsb3QuXG4gICAqXG4gICAqIEBwYXJhbSBzaXplTWFwcGluZyBBcnJheSBvZiBzaXplIG1hcHBpbmdzLiBZb3UgY2FuIHVzZSBgZ29vZ2xldGFnLlNpemVNYXBwaW5nQnVpbGRlcmAgdG8gY3JlYXRlIGl0LiBFYWNoIHNpemUgbWFwcGluZyBpcyBhbiBhcnJheSBvZiB0d28gZWxlbWVudHM6IGBnb29nbGV0YWcuU2luZ2xlU2l6ZUFycmF5YCBhbmQgYGdvb2dsZXRhZy5HZW5lcmFsU2l6ZWAuXG4gICAqL1xuICBkZWZpbmVTaXplTWFwcGluZyhzaXplTWFwcGluZzogU2l6ZU1hcHBpbmdBcnJheSk6IFNsb3Q7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZhbHVlIGZvciB0aGUgQWRTZW5zZSBhdHRyaWJ1dGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgTmFtZSBvZiB0aGUgYXR0cmlidXRlIHRvIGxvb2sgZm9yLlxuICAgKi9cbiAgZ2V0KGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZnVsbCBwYXRoIG9mIHRoZSBhZCB1bml0LCB3aXRoIHRoZSBuZXR3b3JrIGNvZGUgYW5kIGFkIHVuaXQgcGF0aC5cbiAgICovXG4gIGdldEFkVW5pdFBhdGgoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBsaXN0IG9mIGF0dHJpYnV0ZSBrZXlzIHNldCBvbiB0aGlzIHNsb3QuXG4gICAqL1xuICBnZXRBdHRyaWJ1dGVLZXlzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhZCBjYXRlZ29yeSBleGNsdXNpb24gbGFiZWxzIGZvciB0aGlzIHNsb3QuXG4gICAqL1xuICBnZXRDYXRlZ29yeUV4Y2x1c2lvbnMoKTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFkIHJlc3BvbnNlIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgZ2V0UmVzcG9uc2VJbmZvcm1hdGlvbigpOiBSZXNwb25zZUluZm9ybWF0aW9uO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBpZCBvZiB0aGUgc2xvdCBlbGVtZW50IHByb3ZpZGVkIHdoZW4gdGhlIHNsb3Qgd2FzIGRlZmluZWQuXG4gICAqL1xuICBnZXRTbG90RWxlbWVudElkKCk6IHN0cmluZztcblxuICAvKipcbiAgICogUmV0dXJucyBhIHNwZWNpZmljIGN1c3RvbSB0YXJnZXRpbmcgcGFyYW1ldGVyIHNldCBvbiB0aGlzIHNsb3QuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIHRhcmdldGluZyBrZXkgdG8gbG9vayBmb3IuXG4gICAqL1xuICBnZXRUYXJnZXRpbmcoa2V5OiBzdHJpbmcpOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbGlzdCBvZiBhbGwgY3VzdG9tIHRhcmdldGluZyBrZXlzIHNldCBvbiB0aGlzIHNsb3QuXG4gICAqL1xuICBnZXRUYXJnZXRpbmdLZXlzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgdmFsdWUgZm9yIGFuIEFkU2Vuc2UgYXR0cmlidXRlIG9uIGEgcGFydGljdWxhciBhZCBzbG90LlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUuXG4gICAqIEBwYXJhbSB2YWx1ZSBBdHRyaWJ1dGUgdmFsdWUuXG4gICAqL1xuICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgc2xvdC1sZXZlbCBhZCBjYXRlZ29yeSBleGNsdXNpb24gbGFiZWwgb24gdGhpcyBzbG90LlxuICAgKlxuICAgKiBAcGFyYW0gY2F0ZWdvcnlFeGNsdXNpb24gVGhlIGFkIGNhdGVnb3J5IGV4Y2x1c2lvbiBsYWJlbCB0byBhZGQuXG4gICAqL1xuICBzZXRDYXRlZ29yeUV4Y2x1c2lvbihjYXRlZ29yeUV4Y2x1c2lvbjogc3RyaW5nKTogU2xvdDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgY2xpY2sgVVJMIHRvIHdoaWNoIHVzZXJzIHdpbGwgYmUgcmVkaXJlY3RlZCBhZnRlciBjbGlja2luZyBvbiB0aGUgYWQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgY2xpY2sgVVJMIHRvIHNldC5cbiAgICovXG4gIHNldENsaWNrVXJsKHZhbHVlOiBzdHJpbmcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBTZXRzIHdoZXRoZXIgdGhlIHNsb3QgZGl2IHNob3VsZCBiZSBoaWRkZW4gd2hlbiB0aGVyZSBpcyBubyBhZCBpbiB0aGUgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIGNvbGxhcHNlIFdoZXRoZXIgdG8gY29sbGFwc2UgdGhlIHNsb3QgaWYgbm8gYWQgaXMgcmV0dXJuZWQuXG4gICAqIEBwYXJhbSBvcHRfY29sbGFwc2VCZWZvcmVBZEZldGNoIFdoZXRoZXIgdG8gY29sbGFwc2UgdGhlIHNsb3QgZXZlbiBiZWZvcmUgYW4gYWQgaXMgZmV0Y2hlZC4gSWdub3JlZCBpZiBjb2xsYXBzZSBpcyBub3QgdHJ1ZS5cbiAgICovXG4gIHNldENvbGxhcHNlRW1wdHlEaXYoXG4gICAgY29sbGFwc2U6IGJvb2xlYW4sXG4gICAgb3B0X2NvbGxhcHNlQmVmb3JlQWRGZXRjaD86IGJvb2xlYW5cbiAgKTogU2xvdDtcblxuICAvKipcbiAgICogQ29uZmlndXJlcyB3aGV0aGVyIGFkcyBpbiB0aGlzIHNsb3Qgc2hvdWxkIGJlIGZvcmNlZCB0byBiZSByZW5kZXJlZCB1c2luZyBhIFNhZmVGcmFtZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBwYXJhbSBmb3JjZVNhZmVGcmFtZSB0cnVlIHRvIGZvcmNlIGFsbCBhZHMgaW4gdGhpcyBzbG90IHRvIGJlIHJlbmRlcmVkIGluIFNhZmVGcmFtZXMgYW5kIGZhbHNlIHRvIG9wdC1vdXQgb2YgYSBwYWdlLWxldmVsIHNldHRpbmcgKGlmIHByZXNlbnQpLiBTZXR0aW5nIHRoaXMgdG8gZmFsc2Ugd2hlbiBub3Qgc3BlY2lmaWVkIGF0IHBhZ2UtbGV2ZWwsIHdvbid0IGNoYW5nZSBhbnl0aGluZy5cbiAgICovXG4gIHNldEZvcmNlU2FmZUZyYW1lKGZvcmNlU2FmZUZyYW1lOiBib29sZWFuKTogU2xvdDtcblxuICAvKipcbiAgICogU2V0cyB0aGUgc2xvdC1sZXZlbCBwcmVmZXJlbmNlcyBmb3IgU2FmZUZyYW1lIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKi9cbiAgc2V0U2FmZUZyYW1lQ29uZmlnKGNvbmZpZzogU2FmZUZyYW1lQ29uZmlnKTogU2xvdDtcblxuICAvKipcbiAgICogU2V0cyBhIGN1c3RvbSB0YXJnZXRpbmcgcGFyYW1ldGVyIGZvciB0aGlzIHNsb3QuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGFyZ2V0aW5nIHBhcmFtZXRlciBrZXkuXG4gICAqIEBwYXJhbSB2YWx1ZSBUYXJnZXRpbmcgcGFyYW1ldGVyIHZhbHVlIG9yIGFycmF5IG9mIHZhbHVlcy5cbiAgICovXG4gIHNldFRhcmdldGluZyhrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogU2xvdDtcblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gdGFyZ2V0aW5nIHBhcmFtZXRlcnMgZm9yIHRoaXMgc2xvdCwgZnJvbSBhIGtleTp2YWx1ZSBtYXAgaW4gYSBKU09OIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIG1hcCBUYXJnZXRpbmcgcGFyYW1ldGVyIGtleTp2YWx1ZSBtYXAuXG4gICAqL1xuICB1cGRhdGVUYXJnZXRpbmdGcm9tTWFwKG1hcDogb2JqZWN0KTogU2xvdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHb29nbGV0YWcge1xuICAvKipcbiAgICogRmxhZyBpbmRpY2F0aW5nIHRoYXQgR1BUIEFQSSBpcyBsb2FkZWQgYW5kIHJlYWR5IHRvIGJlIGNhbGxlZC5cbiAgICovXG4gIGFwaVJlYWR5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGdsb2JhbCBjb21tYW5kIHF1ZXVlIGZvciBhc3luY2hyb25vdXMgZXhlY3V0aW9uIG9mIEdQVC1yZWxhdGVkIGNhbGxzLlxuICAgKi9cbiAgY21kOiBDb21tYW5kQXJyYXk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIGNvbXBhbmlvbiBhZHMgc2VydmljZS5cbiAgICovXG4gIGNvbXBhbmlvbkFkcygpOiBDb21wYW5pb25BZHNTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBjb250ZW50IHNlcnZpY2UuXG4gICAqL1xuICBjb250ZW50KCk6IENvbnRlbnRTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIG91dC1vZi1wYWdlIChpbnRlcnN0aXRpYWwpIGFkIHNsb3Qgd2l0aCB0aGUgZ2l2ZW4gYWQgdW5pdCBwYXRoLlxuICAgKlxuICAgKiBAcGFyYW0gYWRVbml0UGF0aCBGdWxsIGFkIHVuaXQgcGF0aCB3aXRoIHRoZSBuZXR3b3JrIGNvZGUgYW5kIGFkIHVuaXQgY29kZS5cbiAgICogQHBhcmFtIG9wdF9kaXYgSUQgb2YgdGhlIGRpdiB0aGF0IHdpbGwgY29udGFpbiB0aGlzIGFkIHVuaXQgb3IgT3V0T2ZQYWdlRm9ybWF0LlxuICAgKi9cbiAgZGVmaW5lT3V0T2ZQYWdlU2xvdChhZFVuaXRQYXRoOiBzdHJpbmcsIG9wdF9kaXY/OiBzdHJpbmcpOiBTbG90O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIGFkIHNsb3Qgd2l0aCBhIGdpdmVuIGFkIHVuaXQgcGF0aCBhbmQgc2l6ZSBhbmQgYXNzb2NpYXRlcyBpdCB3aXRoIHRoZSBJRCBvZiBhIGRpdiBlbGVtZW50IG9uIHRoZSBwYWdlIHRoYXQgd2lsbCBjb250YWluIHRoZSBhZC5cbiAgICpcbiAgICogQHBhcmFtIGFkVW5pdFBhdGggRnVsbCBhZCB1bml0IHBhdGggd2l0aCB0aGUgbmV0d29yayBjb2RlIGFuZCB1bml0IGNvZGUuXG4gICAqIEBwYXJhbSBzaXplIFdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIGFkZGVkIHNsb3QuIFRoaXMgaXMgdGhlIHNpemUgdGhhdCBpcyB1c2VkIGluIHRoZSBhZCByZXF1ZXN0IGlmIG5vIHJlc3BvbnNpdmUgc2l6ZSBtYXBwaW5nIGlzIHByb3ZpZGVkIG9yIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydCBpcyBzbWFsbGVyIHRoYW4gdGhlIHNtYWxsZXN0IHNpemUgcHJvdmlkZWQgaW4gdGhlIG1hcHBpbmcuXG4gICAqIEBwYXJhbSBvcHRfZGl2IElEIG9mIHRoZSBkaXYgdGhhdCB3aWxsIGNvbnRhaW4gdGhpcyBhZCB1bml0LlxuICAgKi9cbiAgZGVmaW5lU2xvdChhZFVuaXRQYXRoOiBzdHJpbmcsIHNpemU6IEdlbmVyYWxTaXplLCBvcHRfZGl2Pzogc3RyaW5nKTogU2xvdDtcblxuICAvKipcbiAgICogRGVzdHJveXMgdGhlIGdpdmVuIHNsb3RzLCByZW1vdmluZyBhbGwgcmVsYXRlZCBvYmplY3RzIGFuZCByZWZlcmVuY2VzIG9mIHRob3NlIHNsb3RzIGZyb20gR1BULlxuICAgKiBAcGFyYW0gb3B0X3Nsb3RzIFRoZSBhcnJheSBvZiBzbG90cyB0byBkZXN0cm95LiBBcnJheSBpcyBvcHRpb25hbDsgYWxsIHNsb3RzIHdpbGwgYmUgZGVzdHJveWVkIGlmIGl0IGlzIHVuc3BlY2lmaWVkLlxuICAgKi9cbiAgZGVzdHJveVNsb3RzKG9wdF9zbG90cz86IFNsb3RbXSk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBHb29nbGUgUHVibGlzaGVyIENvbnNvbGUuXG4gICAqL1xuICBkaXNhYmxlUHVibGlzaGVyQ29uc29sZSgpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBJbnN0cnVjdHMgc2xvdCBzZXJ2aWNlcyB0byByZW5kZXIgdGhlIHNsb3QuXG4gICAqXG4gICAqIEBwYXJhbSBkaXZPclNsb3QgRWl0aGVyIHRoZSBJRCBvZiB0aGUgZGl2IGVsZW1lbnQgY29udGFpbmluZyB0aGUgYWQgc2xvdCBvciB0aGUgZGl2IGVsZW1lbnQsIG9yIHRoZSBzbG90IG9iamVjdC4gSWYgYSBkaXYgZWxlbWVudCBpcyBwcm92aWRlZCwgaXQgbXVzdCBoYXZlIGFuICdpZCcgYXR0cmlidXRlIHdoaWNoIG1hdGNoZXMgdGhlIElEIHBhc3NlZCBpbnRvIGBnb29nbGV0YWcuZGVmaW5lU2xvdCgpYC5cbiAgICovXG4gIGRpc3BsYXkoZGl2T3JTbG90Pzogc3RyaW5nIHwgRWxlbWVudCB8IFNsb3QpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFsbCBHUFQgc2VydmljZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5lZCBmb3IgYWQgc2xvdHMgb24gdGhlIHBhZ2UuXG4gICAqL1xuICBlbmFibGVTZXJ2aWNlcygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgR1BULlxuICAgKi9cbiAgZ2V0VmVyc2lvbigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBHb29nbGUgUHVibGlzaGVyIENvbnNvbGUuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRfZGl2IElEIG9mIHRoZSBkaXYgZWxlbWVudCBjb250YWluaW5nIHRoZSBhZCBzbG90LlxuICAgKi9cbiAgb3BlbkNvbnNvbGUob3B0X2Rpdj86IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIHB1YmFkcyBzZXJ2aWNlLlxuICAgKi9cbiAgcHViYWRzKCk6IFB1YkFkc1NlcnZpY2U7XG5cbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyB0aGF0IFB1YmFkcyBzZXJ2aWNlIGlzIGVuYWJsZWQsIGxvYWRlZCBhbmQgZnVsbHkgb3BlcmF0aW9uYWwuXG4gICAqL1xuICBwdWJhZHNSZWFkeTogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0cyB0aGF0IHRpdGxlIGZvciBhbGwgYWQgY29udGFpbmVyIGlmcmFtZXMgY3JlYXRlZCBieSBwdWJhZHMgc2VydmljZSwgZnJvbSB0aGlzIHBvaW50IG9ud2FyZHMuXG4gICAqXG4gICAqIEBwYXJhbSB0aXRsZSBUaGUgdGl0bGUgdG8gc2V0LlxuICAgKi9cbiAgc2V0QWRJZnJhbWVUaXRsZSh0aXRsZTogc3RyaW5nKTogdm9pZDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBTaXplTWFwcGluZ0J1aWxkZXIuXG4gICAqL1xuICBzaXplTWFwcGluZygpOiBTaXplTWFwcGluZ0J1aWxkZXI7XG59XG4iXX0=

@@ -46,2 +46,2 @@ import { NgModule } from '@angular/core';

}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWdwdC9zcmMvbGliL2dwdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsV0FBVyxFQUNYLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsb0JBQW9CLEdBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWdCM0UsTUFBTSxPQUFPLFNBQVM7SUFDcEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFrQjtRQUMvQixPQUFPO1lBQ0wsUUFBUSxFQUFFLFNBQVM7WUFDbkIsU0FBUyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksRUFBRSxFQUFFO2FBQ2hEO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3NHQVRVLFNBQVM7dUdBQVQsU0FBUyxpQkFiTCxjQUFjLGFBV25CLGNBQWM7dUdBRWIsU0FBUyxhQVhUO1FBQ1QsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixXQUFXO1FBQ1gsc0JBQXNCO1FBQ3RCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIscUJBQXFCO0tBQ3RCLFlBVFEsRUFBRTsyRkFZQSxTQUFTO2tCQWRyQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFO3dCQUNULGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixXQUFXO3dCQUNYLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcHRDb25maWcsIEdQVF9DT05GSUcgfSBmcm9tICcuL2dwdC5jb25maWcnO1xuaW1wb3J0IHsgR3B0QWREaXJlY3RpdmUgfSBmcm9tICcuL2dwdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgSHR0cEVycm9yU2VydmljZSxcbiAgU2NyaXB0SW5qZWN0b3JTZXJ2aWNlLFxuICBJZGxlU2VydmljZSxcbiAgUHViYWRzU2V0Q29uZmlnU2VydmljZSxcbiAgR3B0UmVmcmVzaFNlcnZpY2UsXG4gIFBhcnNlRHVyYXRpb25TZXJ2aWNlLFxufSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IEdwdElER2VuZXJhdG9yU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ3B0LWlkR2VuZXJhdG9yLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtHcHRBZERpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICBIdHRwRXJyb3JTZXJ2aWNlLFxuICAgIFNjcmlwdEluamVjdG9yU2VydmljZSxcbiAgICBJZGxlU2VydmljZSxcbiAgICBQdWJhZHNTZXRDb25maWdTZXJ2aWNlLFxuICAgIEdwdFJlZnJlc2hTZXJ2aWNlLFxuICAgIFBhcnNlRHVyYXRpb25TZXJ2aWNlLFxuICAgIEdwdElER2VuZXJhdG9yU2VydmljZSxcbiAgXSxcbiAgZXhwb3J0czogW0dwdEFkRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgR3B0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogR3B0Q29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxHcHRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEdwdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi4oY29uZmlnICYmIGNvbmZpZy5pZGxlTG9hZCA9PT0gdHJ1ZSA/IFtJZGxlU2VydmljZV0gOiBbXSksXG4gICAgICAgIHsgcHJvdmlkZTogR1BUX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB8fCB7fSB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL25nLWdwdC9zcmMvbGliL2dwdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsV0FBVyxFQUNYLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsb0JBQW9CLEdBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWdCM0UsTUFBTSxPQUFPLFNBQVM7SUFDcEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFrQjtRQUMvQixPQUFPO1lBQ0wsUUFBUSxFQUFFLFNBQVM7WUFDbkIsU0FBUyxFQUFFO2dCQUNULEdBQUcsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksRUFBRSxFQUFFO2FBQ2hEO1NBQ0YsQ0FBQztJQUNKLENBQUM7O3NHQVRVLFNBQVM7dUdBQVQsU0FBUyxpQkFiTCxjQUFjLGFBV25CLGNBQWM7dUdBRWIsU0FBUyxhQVhUO1FBQ1QsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixXQUFXO1FBQ1gsc0JBQXNCO1FBQ3RCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIscUJBQXFCO0tBQ3RCLFlBVFEsRUFBRTsyRkFZQSxTQUFTO2tCQWRyQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFO3dCQUNULGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixXQUFXO3dCQUNYLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcHRDb25maWcsIEdQVF9DT05GSUcgfSBmcm9tICcuL2dwdC5jb25maWcnO1xuaW1wb3J0IHsgR3B0QWREaXJlY3RpdmUgfSBmcm9tICcuL2dwdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgSHR0cEVycm9yU2VydmljZSxcbiAgU2NyaXB0SW5qZWN0b3JTZXJ2aWNlLFxuICBJZGxlU2VydmljZSxcbiAgUHViYWRzU2V0Q29uZmlnU2VydmljZSxcbiAgR3B0UmVmcmVzaFNlcnZpY2UsXG4gIFBhcnNlRHVyYXRpb25TZXJ2aWNlLFxufSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IEdwdElER2VuZXJhdG9yU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ3B0LWlkR2VuZXJhdG9yLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtHcHRBZERpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICBIdHRwRXJyb3JTZXJ2aWNlLFxuICAgIFNjcmlwdEluamVjdG9yU2VydmljZSxcbiAgICBJZGxlU2VydmljZSxcbiAgICBQdWJhZHNTZXRDb25maWdTZXJ2aWNlLFxuICAgIEdwdFJlZnJlc2hTZXJ2aWNlLFxuICAgIFBhcnNlRHVyYXRpb25TZXJ2aWNlLFxuICAgIEdwdElER2VuZXJhdG9yU2VydmljZSxcbiAgXSxcbiAgZXhwb3J0czogW0dwdEFkRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgR3B0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogR3B0Q29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxHcHRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEdwdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAuLi4oY29uZmlnICYmIGNvbmZpZy5pZGxlTG9hZCA9PT0gdHJ1ZSA/IFtJZGxlU2VydmljZV0gOiBbXSksXG4gICAgICAgIHsgcHJvdmlkZTogR1BUX0NPTkZJRywgdXNlVmFsdWU6IGNvbmZpZyB8fCB7fSB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG4iXX0=

@@ -109,2 +109,2 @@ import { isPlatformBrowser } from '@angular/common';

}] }, { type: i2.PubadsSetConfigService }, { type: i2.ScriptInjectorService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ncHQvc3JjL2xpYi9ncHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVd6QyxNQUFNLE9BQU8sVUFBVTtJQWVyQixZQUMrQixVQUFrQixFQUNuQixNQUFpQixFQUNqQyxRQUFxQixFQUN6QixlQUF1QyxFQUN2QyxjQUFxQztRQUpoQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVc7UUFFckMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQW5CdkMsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQTBCLEVBQUUsQ0FBQztRQUMzQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBb0IsRUFBRSxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBU3JCLElBQUksaUJB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Y0FBYyxFQUFFLENBQUM7YUFDekI7WUFDRCxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUMzQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBUztRQUNsQixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0QyxNQUFNLENBQUMsR0FBUSxNQUFNLEVBQ25CLFNBQVMsR0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRXJDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7dUdBcEdVLFVBQVUsa0JBZ0JYLFdBQVcsYUFDWCxVQUFVOzJHQWpCVCxVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjswREFpQjRDLE1BQU07MEJBQTlDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHViYWRzU2V0Q29uZmlnU2VydmljZSwgU2NyaXB0SW5qZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBHcHRDb25maWcsIEdQVF9DT05GSUcgfSBmcm9tICcuL2dwdC5jb25maWcnO1xuaW1wb3J0IHsgR1BUX1VSTCB9IGZyb20gJy4vZ3B0LmNvbnRhbnRzJztcbmltcG9ydCB7XG4gIEdvb2dsZXRhZyxcbiAgTGF6eUxvYWRPcHRpb25zQ29uZmlnLFxuICBTYWZlRnJhbWVDb25maWcsXG59IGZyb20gJy4vZ3B0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJZGxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaWRsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdwdFNlcnZpY2Uge1xuICBwcml2YXRlIGNvbGxhcHNlRW1wdHlEaXZzID0gdHJ1ZTtcbiAgcHJpdmF0ZSBlbmFibGVWaWRlb0FkcyA9IGZhbHNlO1xuICBwcml2YXRlIGVuYWJsZUxhenlMb2FkOiBMYXp5TG9hZE9wdGlvbnNDb25maWcgPSB7fTtcbiAgcHJpdmF0ZSBjZW50ZXJpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBwZXJzb25hbGl6ZWRBZHMgPSB0cnVlO1xuICBwcml2YXRlIGNvb2tpZXMgPSB0cnVlO1xuICBwcml2YXRlIGZvcmNlU2FmZUZyYW1lID0gZmFsc2U7XG4gIHByaXZhdGUgYWRkcmVzczogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgcHBpZDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgZ2xvYmFsVGFyZ2V0aW5nOiBvYmplY3QgPSB7fTtcbiAgcHJpdmF0ZSBzYWZlRnJhbWVDb25maWc6IFNhZmVGcmFtZUNvbmZpZyA9IHt9O1xuICBwcml2YXRlIGxvYWRHUFQgPSB0cnVlO1xuICBwcml2YXRlIGxvYWRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JRDogT2JqZWN0LFxuICAgIEBJbmplY3QoR1BUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEdwdENvbmZpZyxcbiAgICBAT3B0aW9uYWwoKSBpZGxlTG9hZDogSWRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwdWJhZHNTZXRDb25maWc6IFB1YmFkc1NldENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzY3JpcHRJbmplY3RvcjogU2NyaXB0SW5qZWN0b3JTZXJ2aWNlXG4gICkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICBjb25zdCB3OiBhbnkgPSB3aW5kb3csXG4gICAgICAgIGdvb2dsZXRhZzogR29vZ2xldGFnID0gdy5nb29nbGV0YWcgfHwge307XG5cbiAgICAgIHRoaXMuZ3B0Q29uZmlnKCk7XG5cbiAgICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdO1xuICAgICAgZ29vZ2xldGFnLmNtZC5wdXNoKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXR1cCgpO1xuICAgICAgfSk7XG4gICAgICB3Lmdvb2dsZXRhZyA9IGdvb2dsZXRhZztcblxuICAgICAgaWYgKHRoaXMubG9hZEdQVCkge1xuICAgICAgICBjb25zdCBsb2FkU2NyaXB0ID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2NyaXB0SW5qZWN0b3Iuc2NyaXB0SW5qZWN0b3IoR1BUX1VSTCkudGhlbigoc2NyaXB0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGlkbGVMb2FkKSB7XG4gICAgICAgICAgaWRsZUxvYWQucmVxdWVzdChsb2FkU2NyaXB0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2FkU2NyaXB0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdwdENvbmZpZygpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmNvbmZpZykge1xuICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICB0aGlzW2tleV0gPSB0aGlzLmNvbmZpZ1trZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXAoKSB7XG4gICAgY29uc3QgdzogYW55ID0gd2luZG93LFxuICAgICAgZ29vZ2xldGFnOiBHb29nbGV0YWcgPSB3Lmdvb2dsZXRhZyxcbiAgICAgIHB1YmFkcyA9IGdvb2dsZXRhZy5wdWJhZHMoKTtcblxuICAgIGlmICh0aGlzLmVuYWJsZVZpZGVvQWRzKSBwdWJhZHMuZW5hYmxlVmlkZW9BZHMoKTtcbiAgICBpZiAodGhpcy5jb2xsYXBzZUVtcHR5RGl2cykgcHViYWRzLmNvbGxhcHNlRW1wdHlEaXZzKCk7XG5cbiAgICBwdWJhZHMuZGlzYWJsZUluaXRpYWxMb2FkKCk7XG4gICAgcHViYWRzLnNldEZvcmNlU2FmZUZyYW1lKHRoaXMuZm9yY2VTYWZlRnJhbWUpO1xuICAgIHB1YmFkcy5zZXRDZW50ZXJpbmcodGhpcy5jZW50ZXJpbmcpO1xuICAgIHB1YmFkcy5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKHRoaXMucGVyc29uYWxpemVkQWRzID8gMCA6IDEpO1xuXG4gICAgdGhpcy5wdWJhZHNTZXRDb25maWcuYWRkTG9jYXRpb24odGhpcy5hZGRyZXNzLCBwdWJhZHMpO1xuICAgIHRoaXMucHViYWRzU2V0Q29uZmlnLmFkZFBQSUQodGhpcy5wcGlkLCBwdWJhZHMpO1xuICAgIHRoaXMucHViYWRzU2V0Q29uZmlnLmFkZFRhcmdldGluZyh0aGlzLmdsb2JhbFRhcmdldGluZywgcHViYWRzKTtcbiAgICB0aGlzLnB1YmFkc1NldENvbmZpZy5hZGRTYWZlRnJhbWVDb25maWcodGhpcy5zYWZlRnJhbWVDb25maWcsIHB1YmFkcyk7XG5cbiAgICBwdWJhZHMuc2V0Q29va2llT3B0aW9ucyh0aGlzLmNvb2tpZXMgPyAwIDogMSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2luZ2xlUmVxdWVzdE1vZGUgIT09IHRydWUpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5lbmFibGVWaWRlb0Fkcykge1xuICAgICAgICBwdWJhZHMuZW5hYmxlVmlkZW9BZHMoKTtcbiAgICAgIH1cbiAgICAgIGdvb2dsZXRhZy5lbmFibGVTZXJ2aWNlcygpO1xuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmVuYWJsZUxhenlMb2FkKS5sZW5ndGgpIHtcbiAgICAgIHB1YmFkcy5lbmFibGVMYXp5TG9hZCh0aGlzLmVuYWJsZUxhenlMb2FkKTtcbiAgICB9XG4gIH1cblxuICBoYXNMb2FkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZGVkO1xuICB9XG5cbiAgZGVmaW5lVGFzayh0YXNrOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgY29uc3QgdzogYW55ID0gd2luZG93LFxuICAgICAgICBnb29nbGV0YWc6IEdvb2dsZXRhZyA9IHcuZ29vZ2xldGFnO1xuXG4gICAgICBnb29nbGV0YWcuY21kLnB1c2godGFzayk7XG4gICAgfVxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9uZy1ncHQvc3JjL2xpYi9ncHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVd6QyxNQUFNLE9BQU8sVUFBVTtJQWVyQixZQUMrQixVQUFrQixFQUNuQixNQUFpQixFQUNqQyxRQUFxQixFQUN6QixlQUF1QyxFQUN2QyxjQUFxQztRQUpoQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVc7UUFFckMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQW5CdkMsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQTBCLEVBQUUsQ0FBQztRQUMzQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQVcsRUFBRSxDQUFDO1FBQ3JCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0Isb0JBQWUsR0FBb0IsRUFBRSxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBU3JCLElBQUksaUJBQWlCLENBQUMs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LENBQUM7YUFDekI7WUFDRCxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUMzQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBUztRQUNsQixJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN0QyxNQUFNLENBQUMsR0FBUSxNQUFNLEVBQ25CLFNBQVMsR0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRXJDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7dUdBcEdVLFVBQVUsa0JBZ0JYLFdBQVcsYUFDWCxVQUFVOzJHQWpCVCxVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjswREFpQjRDLE1BQU07MEJBQTlDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHViYWRzU2V0Q29uZmlnU2VydmljZSwgU2NyaXB0SW5qZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBHcHRDb25maWcsIEdQVF9DT05GSUcgfSBmcm9tICcuL2dwdC5jb25maWcnO1xuaW1wb3J0IHsgR1BUX1VSTCB9IGZyb20gJy4vZ3B0LmNvbnRhbnRzJztcbmltcG9ydCB7XG4gIEdvb2dsZXRhZyxcbiAgTGF6eUxvYWRPcHRpb25zQ29uZmlnLFxuICBTYWZlRnJhbWVDb25maWcsXG59IGZyb20gJy4vZ3B0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBJZGxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaWRsZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdwdFNlcnZpY2Uge1xuICBwcml2YXRlIGNvbGxhcHNlRW1wdHlEaXZzID0gdHJ1ZTtcbiAgcHJpdmF0ZSBlbmFibGVWaWRlb0FkcyA9IGZhbHNlO1xuICBwcml2YXRlIGVuYWJsZUxhenlMb2FkOiBMYXp5TG9hZE9wdGlvbnNDb25maWcgPSB7fTtcbiAgcHJpdmF0ZSBjZW50ZXJpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBwZXJzb25hbGl6ZWRBZHMgPSB0cnVlO1xuICBwcml2YXRlIGNvb2tpZXMgPSB0cnVlO1xuICBwcml2YXRlIGZvcmNlU2FmZUZyYW1lID0gZmFsc2U7XG4gIHByaXZhdGUgYWRkcmVzczogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgcHBpZDogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgZ2xvYmFsVGFyZ2V0aW5nOiBvYmplY3QgPSB7fTtcbiAgcHJpdmF0ZSBzYWZlRnJhbWVDb25maWc6IFNhZmVGcmFtZUNvbmZpZyA9IHt9O1xuICBwcml2YXRlIGxvYWRHUFQgPSB0cnVlO1xuICBwcml2YXRlIGxvYWRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JRDogT2JqZWN0LFxuICAgIEBJbmplY3QoR1BUX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEdwdENvbmZpZyxcbiAgICBAT3B0aW9uYWwoKSBpZGxlTG9hZDogSWRsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwdWJhZHNTZXRDb25maWc6IFB1YmFkc1NldENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzY3JpcHRJbmplY3RvcjogU2NyaXB0SW5qZWN0b3JTZXJ2aWNlXG4gICkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICBjb25zdCB3OiBhbnkgPSB3aW5kb3csXG4gICAgICAgIGdvb2dsZXRhZzogR29vZ2xldGFnID0gdy5nb29nbGV0YWcgfHwge307XG5cbiAgICAgIHRoaXMuZ3B0Q29uZmlnKCk7XG5cbiAgICAgIGdvb2dsZXRhZy5jbWQgPSBnb29nbGV0YWcuY21kIHx8IFtdO1xuICAgICAgZ29vZ2xldGFnLmNtZC5wdXNoKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXR1cCgpO1xuICAgICAgfSk7XG4gICAgICB3Lmdvb2dsZXRhZyA9IGdvb2dsZXRhZztcblxuICAgICAgaWYgKHRoaXMubG9hZEdQVCkge1xuICAgICAgICBjb25zdCBsb2FkU2NyaXB0ID0gKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2NyaXB0SW5qZWN0b3Iuc2NyaXB0SW5qZWN0b3IoR1BUX1VSTCkudGhlbigoc2NyaXB0OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGlkbGVMb2FkKSB7XG4gICAgICAgICAgaWRsZUxvYWQucmVxdWVzdChsb2FkU2NyaXB0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2FkU2NyaXB0KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdwdENvbmZpZygpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmNvbmZpZykge1xuICAgICAgaWYgKHRoaXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICB0aGlzW2tleV0gPSB0aGlzLmNvbmZpZ1trZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXAoKSB7XG4gICAgY29uc3QgdzogYW55ID0gd2luZG93LFxuICAgICAgZ29vZ2xldGFnOiBHb29nbGV0YWcgPSB3Lmdvb2dsZXRhZyxcbiAgICAgIHB1YmFkcyA9IGdvb2dsZXRhZy5wdWJhZHMoKTtcblxuICAgIGlmICh0aGlzLmVuYWJsZVZpZGVvQWRzKSBwdWJhZHMuZW5hYmxlVmlkZW9BZHMoKTtcbiAgICBpZiAodGhpcy5jb2xsYXBzZUVtcHR5RGl2cykgcHViYWRzLmNvbGxhcHNlRW1wdHlEaXZzKCk7XG5cbiAgICBwdWJhZHMuZGlzYWJsZUluaXRpYWxMb2FkKCk7XG4gICAgcHViYWRzLnNldEZvcmNlU2FmZUZyYW1lKHRoaXMuZm9yY2VTYWZlRnJhbWUpO1xuICAgIHB1YmFkcy5zZXRDZW50ZXJpbmcodGhpcy5jZW50ZXJpbmcpO1xuICAgIHB1YmFkcy5zZXRSZXF1ZXN0Tm9uUGVyc29uYWxpemVkQWRzKHRoaXMucGVyc29uYWxpemVkQWRzID8gMCA6IDEpO1xuXG4gICAgdGhpcy5wdWJhZHNTZXRDb25maWcuYWRkTG9jYXRpb24odGhpcy5hZGRyZXNzLCBwdWJhZHMpO1xuICAgIHRoaXMucHViYWRzU2V0Q29uZmlnLmFkZFBQSUQodGhpcy5wcGlkLCBwdWJhZHMpO1xuICAgIHRoaXMucHViYWRzU2V0Q29uZmlnLmFkZFRhcmdldGluZyh0aGlzLmdsb2JhbFRhcmdldGluZywgcHViYWRzKTtcbiAgICB0aGlzLnB1YmFkc1NldENvbmZpZy5hZGRTYWZlRnJhbWVDb25maWcodGhpcy5zYWZlRnJhbWVDb25maWcsIHB1YmFkcyk7XG5cbiAgICBwdWJhZHMuc2V0Q29va2llT3B0aW9ucyh0aGlzLmNvb2tpZXMgPyAwIDogMSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2luZ2xlUmVxdWVzdE1vZGUgIT09IHRydWUpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5lbmFibGVWaWRlb0Fkcykge1xuICAgICAgICBwdWJhZHMuZW5hYmxlVmlkZW9BZHMoKTtcbiAgICAgIH1cbiAgICAgIGdvb2dsZXRhZy5lbmFibGVTZXJ2aWNlcygpO1xuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmVuYWJsZUxhenlMb2FkKS5sZW5ndGgpIHtcbiAgICAgIHB1YmFkcy5lbmFibGVMYXp5TG9hZCh0aGlzLmVuYWJsZUxhenlMb2FkKTtcbiAgICB9XG4gIH1cblxuICBoYXNMb2FkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZGVkO1xuICB9XG5cbiAgZGVmaW5lVGFzayh0YXNrOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlEKSkge1xuICAgICAgY29uc3QgdzogYW55ID0gd2luZG93LFxuICAgICAgICBnb29nbGV0YWc6IEdvb2dsZXRhZyA9IHcuZ29vZ2xldGFnO1xuXG4gICAgICBnb29nbGV0YWcuY21kLnB1c2godGFzayk7XG4gICAgfVxuICB9XG59XG4iXX0=
export {};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ncHQvc3JjL2xpYi9ncHQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2luZ2xlU2l6ZUFycmF5ID0gbnVtYmVyW107XG5leHBvcnQgdHlwZSBOYW1lZFNpemUgPSBzdHJpbmcgfCBzdHJpbmdbXTtcbmV4cG9ydCB0eXBlIFNpbmdsZVNpemUgPSBTaW5nbGVTaXplQXJyYXkgfCBOYW1lZFNpemU7XG5leHBvcnQgdHlwZSBNdWx0aVNpemUgPSBTaW5nbGVTaXplW107XG5leHBvcnQgdHlwZSBHZW5lcmFsU2l6ZSA9IFNpbmdsZVNpemUgfCBNdWx0aVNpemU7XG5leHBvcnQgdHlwZSBTaXplTWFwcGluZyA9IEdlbmVyYWxTaXplW107XG5leHBvcnQgdHlwZSBTaXplTWFwcGluZ0FycmF5ID0gU2l6ZU1hcHBpbmdbXTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9uZy1ncHQvc3JjL2xpYi9ncHQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2luZ2xlU2l6ZUFycmF5ID0gbnVtYmVyW107XG5leHBvcnQgdHlwZSBOYW1lZFNpemUgPSBzdHJpbmcgfCBzdHJpbmdbXTtcbmV4cG9ydCB0eXBlIFNpbmdsZVNpemUgPSBTaW5nbGVTaXplQXJyYXkgfCBOYW1lZFNpemU7XG5leHBvcnQgdHlwZSBNdWx0aVNpemUgPSBTaW5nbGVTaXplW107XG5leHBvcnQgdHlwZSBHZW5lcmFsU2l6ZSA9IFNpbmdsZVNpemUgfCBNdWx0aVNpemU7XG5leHBvcnQgdHlwZSBTaXplTWFwcGluZyA9IEdlbmVyYWxTaXplW107XG5leHBvcnQgdHlwZSBTaXplTWFwcGluZ0FycmF5ID0gU2l6ZU1hcHBpbmdbXTtcbiJdfQ==

@@ -38,2 +38,2 @@ import { Injectable } from '@angular/core';

}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LWlkR2VuZXJhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ncHQvc3JjL2xpYi9zZXJ2aWNlcy9ncHQtaWRHZW5lcmF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBRVUsaUJBQVksR0FBRyxFQUFFLENBQUM7S0FtQzNCO0lBakNDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsUUFBUTtRQUN4QixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFWixHQUFHO1lBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxFQUFFLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7U0FDMUIsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtRQUVsQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUU3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBb0I7UUFDakMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDL0QsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ25CO1FBRUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDMUQsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztTQUNqQjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVEsQ0FBQyxFQUFVO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7O2tIQW5DVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR3B0SURHZW5lcmF0b3JTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBnZW5lcmF0ZWRJRHMgPSB7fTtcblxuICBnZW5lcmF0ZUlEKHR5cGUgPSAnZ3B0LWFkJyk6IHN0cmluZyB7XG4gICAgbGV0IGlkID0gJyc7XG5cbiAgICBkbyB7XG4gICAgICBjb25zdCBudW1iZXIgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKCkuc2xpY2UoMik7XG4gICAgICBpZCA9IHR5cGUgKyAnLScgKyBudW1iZXI7XG4gICAgfSB3aGlsZSAoaWQgaW4gdGhpcy5nZW5lcmF0ZWRJRHMpO1xuXG4gICAgdGhpcy5nZW5lcmF0ZWRJRHNbaWRdID0gdHJ1ZTtcblxuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGdwdElER2VuZXJhdG9yKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmlkICYmICEoZWxlbWVudC5pZCBpbiB0aGlzLmdlbmVyYXRlZElEcykpIHtcbiAgICAgIHJldHVybiBlbGVtZW50LmlkO1xuICAgIH1cblxuICAgIGNvbnN0IGlkID0gdGhpcy5nZW5lcmF0ZUlEKGVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5pZCA9IGlkO1xuICAgIH1cblxuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGlzVGFrZW4oaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpZCBpbiB0aGlzLmdlbmVyYXRlZElEcztcbiAgfVxuXG4gIGlzVW5pcXVlKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNUYWtlbihpZCk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LWlkR2VuZXJhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZy1ncHQvc3JjL2xpYi9zZXJ2aWNlcy9ncHQtaWRHZW5lcmF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBRVUsaUJBQVksR0FBRyxFQUFFLENBQUM7S0FtQzNCO0lBakNDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsUUFBUTtRQUN4QixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFWixHQUFHO1lBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxFQUFFLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7U0FDMUIsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtRQUVsQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUU3QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBb0I7UUFDakMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDL0QsT0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ25CO1FBRUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDMUQsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztTQUNqQjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVEsQ0FBQyxFQUFVO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLENBQUM7O2tIQW5DVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR3B0SURHZW5lcmF0b3JTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBnZW5lcmF0ZWRJRHMgPSB7fTtcblxuICBnZW5lcmF0ZUlEKHR5cGUgPSAnZ3B0LWFkJyk6IHN0cmluZyB7XG4gICAgbGV0IGlkID0gJyc7XG5cbiAgICBkbyB7XG4gICAgICBjb25zdCBudW1iZXIgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKCkuc2xpY2UoMik7XG4gICAgICBpZCA9IHR5cGUgKyAnLScgKyBudW1iZXI7XG4gICAgfSB3aGlsZSAoaWQgaW4gdGhpcy5nZW5lcmF0ZWRJRHMpO1xuXG4gICAgdGhpcy5nZW5lcmF0ZWRJRHNbaWRdID0gdHJ1ZTtcblxuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGdwdElER2VuZXJhdG9yKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmlkICYmICEoZWxlbWVudC5pZCBpbiB0aGlzLmdlbmVyYXRlZElEcykpIHtcbiAgICAgIHJldHVybiBlbGVtZW50LmlkO1xuICAgIH1cblxuICAgIGNvbnN0IGlkID0gdGhpcy5nZW5lcmF0ZUlEKGVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5pZCA9IGlkO1xuICAgIH1cblxuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGlzVGFrZW4oaWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpZCBpbiB0aGlzLmdlbmVyYXRlZElEcztcbiAgfVxuXG4gIGlzVW5pcXVlKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNUYWtlbihpZCk7XG4gIH1cbn1cbiJdfQ==

@@ -126,2 +126,2 @@ import { Injectable, EventEmitter, Optional, Inject, } from '@angular/core';

}] }, { type: i0.Injector }, { type: i1.ParseDurationService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LXJlZnJlc2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWdwdC9zcmMvbGliL3NlcnZpY2VzL2dwdC1yZWZyZXNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxFQUVSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFnQixLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpELE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFHdEQsTUFBTSxlQUFnQixTQUFRLEtBQUs7Q0FBRztBQUt0QyxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBR1UsTUFBaUIsRUFDakIsTUFBZ0IsRUFDaEIsYUFBbUM7UUFGbkMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQVY3QyxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBRXpCLGNBQVMsR0FBRyxFQUFFLENBQUM7SUFRcEIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxJQUFJLEVBQUUsZUFBZ0IsRUFBRSxXQUFXLEdBQUcsS0FBSztRQUNyRCxNQUFNLFFBQVEsR0FBaUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFDckQsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFFNUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBSSxJQUFJLENBQUMsZUFB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ckMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFlBQVksRUFBRSxhQUFhO1FBQ2xELElBQUksWUFBWSxHQUFHLElBQUksRUFBRTtZQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDcEU7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFDakMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxNQUFNLEVBQUU7Z0JBQzFCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU0sSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFO2dCQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzhHQTlIVSxpQkFBaUIsa0JBUWxCLFVBQVU7a0hBUlQsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQVFOLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3B0aW9uYWwsXG4gIEluamVjdG9yLFxuICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEdwdENvbmZpZywgR1BUX0NPTkZJRyB9IGZyb20gJy4uL2dwdC5jb25maWcnO1xuaW1wb3J0IHsgUGFyc2VEdXJhdGlvblNlcnZpY2UgfSBmcm9tICcuJztcblxuY2xhc3MgR1BUUmVmcmVzaEVycm9yIGV4dGVuZHMgRXJyb3Ige31cblxuZGVjbGFyZSB2YXIgZ29vZ2xldGFnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR3B0UmVmcmVzaFNlcnZpY2Uge1xuICByZWZyZXNoRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwcml2YXRlIHJlZnJlc2hTbG90czogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSBzaW5nbGVSZXF1ZXN0OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgaW50ZXJ2YWxzID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEdQVF9DT05GSUcpXG4gICAgcHJpdmF0ZSBjb25maWc6IEdwdENvbmZpZyxcbiAgICBwcml2YXRlIGluamVjdDogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBwYXJzZUR1cmF0aW9uOiBQYXJzZUR1cmF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgc2xvdFJlZnJlc2goc2xvdCwgcmVmcmVzaEludGVydmFsPywgaW5pdFJlZnJlc2ggPSBmYWxzZSkge1xuICAgIGNvbnN0IGRlZmVycmVkOiBQcm9taXNlPGFueT4gPSBmcm9tKFtzbG90XSkudG9Qcm9taXNlKCksXG4gICAgICB0YXNrID0geyBzbG90OiBzbG90LCBkZWZlcnJlZDogZGVmZXJyZWQgfTtcblxuICAgIGRlZmVycmVkLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaGFzU2xvdEludGVydmFsKHNsb3QpKSB7XG4gICAgICAgIHRoaXMuY2FuY2VsSW50ZXJ2YWwoc2xvdCk7XG4gICAgICB9XG4gICAgICBpZiAocmVmcmVzaEludGVydmFsKSB7XG4gICAgICAgIHRoaXMuYWRkU2xvdEludGVydmFsKHRhc2ssIHJlZnJlc2hJbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2luZ2xlUmVxdWVzdE1vZGUgPT09IHRydWUgJiYgaW5pdFJlZnJlc2gpIHtcbiAgICAgIC8vIFVzZSBhIHRpbWVyIHRvIGhhbmRsZSByZWZyZXNoIG9mIGEgc2luZ2xlIHJlcXVlc3QgbW9kZVxuICAgICAgdGhpcy5yZWZyZXNoU2xvdHMucHVzaChzbG90KTtcbiAgICAgIGlmICh0aGlzLnNpbmdsZVJlcXVlc3QgJiYgIXRoaXMuc2luZ2xlUmVxdWVzdC5jbG9zZWQpIHtcbiAgICAgICAgdGhpcy5zaW5nbGVSZXF1ZXN0LnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNpbmdsZVJlcXVlc3QgPSB0aW1lcigxMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHB1YmFkcyA9IGdvb2dsZXRhZy5wdWJhZHMoKTtcbiAgICAgICAgcHViYWRzLmVuYWJsZVNpbmdsZVJlcXVlc3QoKTtcbiAgICAgICAgZ29vZ2xldGFnLmVuYWJsZVNlcnZpY2VzKCk7XG4gICAgICAgIHRoaXMucmVmcmVzaFNsb3RzLmZvckVhY2goKHM6IGFueSkgPT4ge1xuICAgICAgICAgIGdvb2dsZXRhZy5kaXNwbGF5KHMuZ2V0U2xvdEVsZW1lbnRJZCgpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHB1YmFkcy5yZWZyZXNoKHRoaXMucmVmcmVzaFNsb3RzKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoU2xvdHMgPSBbXTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBnb29nbGV0YWcuZGlzcGxheShzbG90LmdldFNsb3RFbGVtZW50SWQoKSk7XG4gICAgICB0aGlzLnJlZnJlc2goW3Rhc2tdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmZXJyZWQ7XG4gIH1cblxuICBjYW5jZWxJbnRlcnZhbChzbG90KSB7XG4gICAgaWYgKCF0aGlzLmhhc1Nsb3RJbnRlcnZhbChzbG90KSkge1xuICAgICAgdGhyb3cgbmV3IEdQVFJlZnJlc2hFcnJvcignTm8gaW50ZXJ2YWwgZm9yIGdpdmVuIHNsb3QnKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRlcnZhbDogU3Vic2NyaXB0aW9uID0gdGhpcy5pbnRlcnZhbHNbdGhpcy5zbG90SW50ZXJ2YWxLZXkoc2xvdCldO1xuICAgIGludGVydmFsLnVuc3Vic2NyaWJlKCk7XG4gICAgZGVsZXRlIHRoaXMuaW50ZXJ2YWxzW3Nsb3RdO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIGhhc1Nsb3RJbnRlcnZhbChzbG90KSB7XG4gICAgcmV0dXJuIHRoaXMuc2xvdEludGVydmFsS2V5KHNsb3QpIGluIHRoaXMuaW50ZXJ2YWxzO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoKHRhc2tzPykge1xuICAgIGlmICh0YXNrcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBnb29nbGV0YWcuY21kLnB1c2goKCkgPT4ge1xuICAgICAgICBnb29nbGV0YWcucHViYWRzKCkucmVmcmVzaCgpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRhc2tzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGdvb2dsZXRhZy5jbWQucHVzaCgoKSA9PiB7XG4gICAgICBnb29nbGV0YWcucHViYWRzKCkucmVmcmVzaCh0YXNrcy5tYXAoKHRhc2spID0+IHRhc2suc2xvdCkpO1xuICAgICAgdGFza3MuZm9yRWFjaCgodGFzaykgPT4ge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUodGFzay5zbG90KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGFkZFNsb3RJbnRlcnZhbCh0YXNrLCBpbnRlcnZhbCkge1xuICAgIGNvbnN0IHBhcnNlZEludGVydmFsID0gdGhpcy5wYXJzZUR1cmF0aW9uLnBhcnNlRHVyYXRpb24oaW50ZXJ2YWwpO1xuICAgIHRoaXMudmFsaWRhdGVJbnRlcnZhbChwYXJzZWRJbnRlcnZhbCwgaW50ZXJ2YWwpO1xuXG4gICAgY29uc3QgcmVmcmVzaCA9IHRpbWVyKHBhcnNlZEludGVydmFsLCBwYXJzZWRJbnRlcnZhbCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGRvYyA9IHRoaXMuaW5qZWN0LmdldChET0NVTUVOVCk7XG4gICAgICBpZiAoIXRoaXMuaGlkZGVuQ2hlY2soZG9jLmdldEVsZW1lbnRCeUlkKHRhc2suc2xvdC5nZXRTbG90RWxlbWVudElkKCkpKSkge1xuICAgICAgICB0aGlzLnJlZnJlc2goW3Rhc2tdKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoRXZlbnQuZW1pdCh0YXNrLnNsb3QpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5pbnRlcnZhbHNbdGhpcy5zbG90SW50ZXJ2YWxLZXkodGFzay5zbG90KV0gPSByZWZyZXNoO1xuXG4gICAgcmV0dXJuIHJlZnJlc2g7XG4gIH1cblxuICBwcml2YXRlIHNsb3RJbnRlcnZhbEtleShzbG90KSB7XG4gICAgcmV0dXJuIHNsb3QuZ2V0U2xvdElkKCkuZ2V0RG9tSWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVJbnRlcnZhbChtaWxsaXNlY29uZHMsIGJlZm9yZVBhcnNpbmcpIHtcbiAgICBpZiAobWlsbGlzZWNvbmRzIDwgMTAwMCkge1xuICAgICAgY29uc29sZS53YXJuKCdDYXJlZnVsOiAke2JlZm9yZVBhcnNpbmd9IGlzIHF1aXRlIGEgbG93IGludGVydmFsIScpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGRlbkNoZWNrKGVsZW1lbnQ6IGFueSkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgY3NzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgICBpZiAoY3NzLmRpc3BsYXkgPT09ICdub25lJykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpZGRlbkNoZWNrKGVsZW1lbnQucGFyZW50RWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3B0LXJlZnJlc2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL25nLWdwdC9zcmMvbGliL3NlcnZpY2VzL2dwdC1yZWZyZXNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxFQUVSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFnQixLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpELE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFHdEQsTUFBTSxlQUFnQixTQUFRLEtBQUs7Q0FBRztBQUt0QyxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBR1UsTUFBaUIsRUFDakIsTUFBZ0IsRUFDaEIsYUFBbUM7UUFGbkMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQVY3QyxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdDLGlCQUFZLEdBQVUsRUFBRSxDQUFDO1FBRXpCLGNBQVMsR0FBRyxFQUFFLENBQUM7SUFRcEIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxJQUFJLEVBQUUsZUFBZ0IsRUFBRSxXQUFXLEdBQUcsS0FBSztRQUNyRCxNQUFNLFFBQVEsR0FBaUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFDckQsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFFNUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDakIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElB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QUVPLGdCQUFnQixDQUFDLFlBQVksRUFBRSxhQUFhO1FBQ2xELElBQUksWUFBWSxHQUFHLElBQUksRUFBRTtZQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7U0FDcEU7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQVk7UUFDdEIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFDakMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxNQUFNLEVBQUU7Z0JBQzFCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU0sSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFO2dCQUNoQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzhHQTlIVSxpQkFBaUIsa0JBUWxCLFVBQVU7a0hBUlQsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQVFOLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3B0aW9uYWwsXG4gIEluamVjdG9yLFxuICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEdwdENvbmZpZywgR1BUX0NPTkZJRyB9IGZyb20gJy4uL2dwdC5jb25maWcnO1xuaW1wb3J0IHsgUGFyc2VEdXJhdGlvblNlcnZpY2UgfSBmcm9tICcuJztcblxuY2xhc3MgR1BUUmVmcmVzaEVycm9yIGV4dGVuZHMgRXJyb3Ige31cblxuZGVjbGFyZSB2YXIgZ29vZ2xldGFnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR3B0UmVmcmVzaFNlcnZpY2Uge1xuICByZWZyZXNoRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwcml2YXRlIHJlZnJlc2hTbG90czogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSBzaW5nbGVSZXF1ZXN0OiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgaW50ZXJ2YWxzID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEdQVF9DT05GSUcpXG4gICAgcHJpdmF0ZSBjb25maWc6IEdwdENvbmZpZyxcbiAgICBwcml2YXRlIGluamVjdDogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBwYXJzZUR1cmF0aW9uOiBQYXJzZUR1cmF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgc2xvdFJlZnJlc2goc2xvdCwgcmVmcmVzaEludGVydmFsPywgaW5pdFJlZnJlc2ggPSBmYWxzZSkge1xuICAgIGNvbnN0IGRlZmVycmVkOiBQcm9taXNlPGFueT4gPSBmcm9tKFtzbG90XSkudG9Qcm9taXNlKCksXG4gICAgICB0YXNrID0geyBzbG90OiBzbG90LCBkZWZlcnJlZDogZGVmZXJyZWQgfTtcblxuICAgIGRlZmVycmVkLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaGFzU2xvdEludGVydmFsKHNsb3QpKSB7XG4gICAgICAgIHRoaXMuY2FuY2VsSW50ZXJ2YWwoc2xvdCk7XG4gICAgICB9XG4gICAgICBpZiAocmVmcmVzaEludGVydmFsKSB7XG4gICAgICAgIHRoaXMuYWRkU2xvdEludGVydmFsKHRhc2ssIHJlZnJlc2hJbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jb25maWcuc2luZ2xlUmVxdWVzdE1vZGUgPT09IHRydWUgJiYgaW5pdFJlZnJlc2gpIHtcbiAgICAgIC8vIFVzZSBhIHRpbWVyIHRvIGhhbmRsZSByZWZyZXNoIG9mIGEgc2luZ2xlIHJlcXVlc3QgbW9kZVxuICAgICAgdGhpcy5yZWZyZXNoU2xvdHMucHVzaChzbG90KTtcbiAgICAgIGlmICh0aGlzLnNpbmdsZVJlcXVlc3QgJiYgIXRoaXMuc2luZ2xlUmVxdWVzdC5jbG9zZWQpIHtcbiAgICAgICAgdGhpcy5zaW5nbGVSZXF1ZXN0LnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNpbmdsZVJlcXVlc3QgPSB0aW1lcigxMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHB1YmFkcyA9IGdvb2dsZXRhZy5wdWJhZHMoKTtcbiAgICAgICAgcHViYWRzLmVuYWJsZVNpbmdsZVJlcXVlc3QoKTtcbiAgICAgICAgZ29vZ2xldGFnLmVuYWJsZVNlcnZpY2VzKCk7XG4gICAgICAgIHRoaXMucmVmcmVzaFNsb3RzLmZvckVhY2goKHM6IGFueSkgPT4ge1xuICAgICAgICAgIGdvb2dsZXRhZy5kaXNwbGF5KHMuZ2V0U2xvdEVsZW1lbnRJZCgpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHB1YmFkcy5yZWZyZXNoKHRoaXMucmVmcmVzaFNsb3RzKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoU2xvdHMgPSBbXTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBnb29nbGV0YWcuZGlzcGxheShzbG90LmdldFNsb3RFbGVtZW50SWQoKSk7XG4gICAgICB0aGlzLnJlZnJlc2goW3Rhc2tdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmZXJyZWQ7XG4gIH1cblxuICBjYW5jZWxJbnRlcnZhbChzbG90KSB7XG4gICAgaWYgKCF0aGlzLmhhc1Nsb3RJbnRlcnZhbChzbG90KSkge1xuICAgICAgdGhyb3cgbmV3IEdQVFJlZnJlc2hFcnJvcignTm8gaW50ZXJ2YWwgZm9yIGdpdmVuIHNsb3QnKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRlcnZhbDogU3Vic2NyaXB0aW9uID0gdGhpcy5pbnRlcnZhbHNbdGhpcy5zbG90SW50ZXJ2YWxLZXkoc2xvdCldO1xuICAgIGludGVydmFsLnVuc3Vic2NyaWJlKCk7XG4gICAgZGVsZXRlIHRoaXMuaW50ZXJ2YWxzW3Nsb3RdO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcml2YXRlIGhhc1Nsb3RJbnRlcnZhbChzbG90KSB7XG4gICAgcmV0dXJuIHRoaXMuc2xvdEludGVydmFsS2V5KHNsb3QpIGluIHRoaXMuaW50ZXJ2YWxzO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoKHRhc2tzPykge1xuICAgIGlmICh0YXNrcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBnb29nbGV0YWcuY21kLnB1c2goKCkgPT4ge1xuICAgICAgICBnb29nbGV0YWcucHViYWRzKCkucmVmcmVzaCgpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRhc2tzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGdvb2dsZXRhZy5jbWQucHVzaCgoKSA9PiB7XG4gICAgICBnb29nbGV0YWcucHViYWRzKCkucmVmcmVzaCh0YXNrcy5tYXAoKHRhc2spID0+IHRhc2suc2xvdCkpO1xuICAgICAgdGFza3MuZm9yRWFjaCgodGFzaykgPT4ge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUodGFzay5zbG90KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGFkZFNsb3RJbnRlcnZhbCh0YXNrLCBpbnRlcnZhbCkge1xuICAgIGNvbnN0IHBhcnNlZEludGVydmFsID0gdGhpcy5wYXJzZUR1cmF0aW9uLnBhcnNlRHVyYXRpb24oaW50ZXJ2YWwpO1xuICAgIHRoaXMudmFsaWRhdGVJbnRlcnZhbChwYXJzZWRJbnRlcnZhbCwgaW50ZXJ2YWwpO1xuXG4gICAgY29uc3QgcmVmcmVzaCA9IHRpbWVyKHBhcnNlZEludGVydmFsLCBwYXJzZWRJbnRlcnZhbCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGRvYyA9IHRoaXMuaW5qZWN0LmdldChET0NVTUVOVCk7XG4gICAgICBpZiAoIXRoaXMuaGlkZGVuQ2hlY2soZG9jLmdldEVsZW1lbnRCeUlkKHRhc2suc2xvdC5nZXRTbG90RWxlbWVudElkKCkpKSkge1xuICAgICAgICB0aGlzLnJlZnJlc2goW3Rhc2tdKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoRXZlbnQuZW1pdCh0YXNrLnNsb3QpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5pbnRlcnZhbHNbdGhpcy5zbG90SW50ZXJ2YWxLZXkodGFzay5zbG90KV0gPSByZWZyZXNoO1xuXG4gICAgcmV0dXJuIHJlZnJlc2g7XG4gIH1cblxuICBwcml2YXRlIHNsb3RJbnRlcnZhbEtleShzbG90KSB7XG4gICAgcmV0dXJuIHNsb3QuZ2V0U2xvdElkKCkuZ2V0RG9tSWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVJbnRlcnZhbChtaWxsaXNlY29uZHMsIGJlZm9yZVBhcnNpbmcpIHtcbiAgICBpZiAobWlsbGlzZWNvbmRzIDwgMTAwMCkge1xuICAgICAgY29uc29sZS53YXJuKCdDYXJlZnVsOiAke2JlZm9yZVBhcnNpbmd9IGlzIHF1aXRlIGEgbG93IGludGVydmFsIScpO1xuICAgIH1cbiAgfVxuXG4gIGhpZGRlbkNoZWNrKGVsZW1lbnQ6IGFueSkge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgY3NzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgICBpZiAoY3NzLmRpc3BsYXkgPT09ICdub25lJykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoZWxlbWVudC5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpZGRlbkNoZWNrKGVsZW1lbnQucGFyZW50RWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19

@@ -21,2 +21,2 @@ import { Injectable } from '@angular/core';

}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZ3B0L3NyYy9saWIvc2VydmljZXMvaHR0cC1lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFNRSxnQkFBVyxHQUFHLFVBQVUsSUFBSTtZQUMxQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDckM7WUFDRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDekIsQ0FBQyxDQUFDO0tBQ0g7SUFWQyxTQUFTLENBQUMsUUFBYSxFQUFFLE9BQWU7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLFFBQVEsQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7NkdBSFUsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvclNlcnZpY2Uge1xuICBodHRwRXJyb3IocmVzcG9uc2U6IGFueSwgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2coYEVycm9yICgke3Jlc3BvbnNlLnN0YXR1c30pICR7bWVzc2FnZSA/IG1lc3NhZ2UgOiAnJ31gKTtcbiAgfVxuXG4gIGlzRXJyb3JDb2RlID0gZnVuY3Rpb24gKGNvZGUpIHtcbiAgICBpZiAodHlwZW9mIGNvZGUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gIShjb2RlID49IDIwMCAmJiBjb2RlIDwgMzAwKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvZGVbMF0gIT09ICcyJztcbiAgfTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmctZ3B0L3NyYy9saWIvc2VydmljZXMvaHR0cC1lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFNRSxnQkFBVyxHQUFHLFVBQVUsSUFBSTtZQUMxQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDckM7WUFDRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDekIsQ0FBQyxDQUFDO0tBQ0g7SUFWQyxTQUFTLENBQUMsUUFBYSxFQUFFLE9BQWU7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLFFBQVEsQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7NkdBSFUsZ0JBQWdCO2lIQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvclNlcnZpY2Uge1xuICBodHRwRXJyb3IocmVzcG9uc2U6IGFueSwgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgY29uc29sZS5sb2coYEVycm9yICgke3Jlc3BvbnNlLnN0YXR1c30pICR7bWVzc2FnZSA/IG1lc3NhZ2UgOiAnJ31gKTtcbiAgfVxuXG4gIGlzRXJyb3JDb2RlID0gZnVuY3Rpb24gKGNvZGUpIHtcbiAgICBpZiAodHlwZW9mIGNvZGUgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gIShjb2RlID49IDIwMCAmJiBjb2RlIDwgMzAwKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvZGVbMF0gIT09ICcyJztcbiAgfTtcbn1cbiJdfQ==

@@ -30,2 +30,2 @@ import { isPlatformBrowser } from '@angular/common';

}] }, { type: i0.NgZone }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZ3B0L3NyYy9saWIvc2VydmljZXMvaWRsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFVLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHeEUsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBaUMsVUFBa0IsRUFBRSxJQUFZO1FBQy9ELE1BQU0sQ0FBQyxHQUFRLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsRUFBRTtZQUN6QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtnQkFDM0MsT0FBTyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO2dCQUMzQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdELENBQUMsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFhO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDOzt3R0FsQlUsV0FBVyxrQkFHRixXQUFXOzRHQUhwQixXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVU7MERBSW9DLE1BQU07MEJBQXRDLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWRsZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlcXVlc3RJZGxlQ2FsbGJhY2s6IGFueTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsIHpvbmU6IE5nWm9uZSkge1xuICAgIGNvbnN0IHc6IGFueSA9IGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpID8gd2luZG93IDoge307XG4gICAgaWYgKHcucmVxdWVzdElkbGVDYWxsYmFjaykge1xuICAgICAgdGhpcy5yZXF1ZXN0SWRsZUNhbGxiYWNrID0gKGZ1bjogRnVuY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHcucmVxdWVzdElkbGVDYWxsYmFjayhmdW4pO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXF1ZXN0SWRsZUNhbGxiYWNrID0gKGZ1bjogRnVuY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdy5zZXRUaW1lb3V0KGZ1biwgNTApKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmVxdWVzdChmdW46IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5yZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bik7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmctZ3B0L3NyYy9saWIvc2VydmljZXMvaWRsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFVLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHeEUsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBaUMsVUFBa0IsRUFBRSxJQUFZO1FBQy9ELE1BQU0sQ0FBQyxHQUFRLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsRUFBRTtZQUN6QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxHQUFhLEVBQUUsRUFBRTtnQkFDM0MsT0FBTyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEdBQWEsRUFBRSxFQUFFO2dCQUMzQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdELENBQUMsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFhO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDOzt3R0FsQlUsV0FBVyxrQkFHRixXQUFXOzRHQUhwQixXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVU7MERBSW9DLE1BQU07MEJBQXRDLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSWRsZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlcXVlc3RJZGxlQ2FsbGJhY2s6IGFueTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsIHpvbmU6IE5nWm9uZSkge1xuICAgIGNvbnN0IHc6IGFueSA9IGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpID8gd2luZG93IDoge307XG4gICAgaWYgKHcucmVxdWVzdElkbGVDYWxsYmFjaykge1xuICAgICAgdGhpcy5yZXF1ZXN0SWRsZUNhbGxiYWNrID0gKGZ1bjogRnVuY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHcucmVxdWVzdElkbGVDYWxsYmFjayhmdW4pO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXF1ZXN0SWRsZUNhbGxiYWNrID0gKGZ1bjogRnVuY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdy5zZXRUaW1lb3V0KGZ1biwgNTApKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmVxdWVzdChmdW46IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5yZXF1ZXN0SWRsZUNhbGxiYWNrKGZ1bik7XG4gIH1cbn1cbiJdfQ==

@@ -7,2 +7,2 @@ export { ScriptInjectorService } from './script-injector.service';

export { GptRefreshService } from './gpt-refresh.service';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ncHQvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTY3JpcHRJbmplY3RvclNlcnZpY2UgfSBmcm9tICcuL3NjcmlwdC1pbmplY3Rvci5zZXJ2aWNlJztcbmV4cG9ydCB7IEh0dHBFcnJvclNlcnZpY2UgfSBmcm9tICcuL2h0dHAtZXJyb3Iuc2VydmljZSc7XG5leHBvcnQgeyBQdWJhZHNTZXRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9wdWJhZHMuc2V0Q29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0IHsgSWRsZVNlcnZpY2UgfSBmcm9tICcuL2lkbGUuc2VydmljZSc7XG5leHBvcnQgeyBQYXJzZUR1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vcGFyc2UtZHVyYXRpb24uc2VydmljZSc7XG5leHBvcnQgeyBHcHRSZWZyZXNoU2VydmljZSB9IGZyb20gJy4vZ3B0LXJlZnJlc2guc2VydmljZSc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZy1ncHQvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTY3JpcHRJbmplY3RvclNlcnZpY2UgfSBmcm9tICcuL3NjcmlwdC1pbmplY3Rvci5zZXJ2aWNlJztcbmV4cG9ydCB7IEh0dHBFcnJvclNlcnZpY2UgfSBmcm9tICcuL2h0dHAtZXJyb3Iuc2VydmljZSc7XG5leHBvcnQgeyBQdWJhZHNTZXRDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9wdWJhZHMuc2V0Q29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0IHsgSWRsZVNlcnZpY2UgfSBmcm9tICcuL2lkbGUuc2VydmljZSc7XG5leHBvcnQgeyBQYXJzZUR1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vcGFyc2UtZHVyYXRpb24uc2VydmljZSc7XG5leHBvcnQgeyBHcHRSZWZyZXNoU2VydmljZSB9IGZyb20gJy4vZ3B0LXJlZnJlc2guc2VydmljZSc7XG4iXX0=

@@ -51,2 +51,2 @@ import { Injectable } from '@angular/core';

}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZHVyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWdwdC9zcmMvbGliL3NlcnZpY2VzL3BhcnNlLWR1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxnQkFBaUIsU0FBUSxLQUFLO0lBQ2xDLFlBQVksUUFBUTtRQUNsQixLQUFLLENBQUMsc0JBQXNCLFFBQVEsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSTtRQUM5QixPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTVDLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQztTQUNwQjtRQUNELElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixPQUFPLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLO1FBQ1gsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQVE7UUFDcEIsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDL0MsTUFBTSxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDaEMsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFFRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUNoQyxNQUFNLElBQUksU0FBUyxDQUFDLElBQUksUUFBUSxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixNQUFNLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7aUhBL0NVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNsYXNzIEdQVER1cmF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGludGVydmFsKSB7XG4gICAgc3VwZXIoYEludmFsaWQgaW50ZXJ2YWw6ICcke2ludGVydmFsfSdsc2ApO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYXJzZUR1cmF0aW9uU2VydmljZSB7XG4gIGNvbnZlcnRUb01pbGxpc2Vjb25kcyh0aW1lLCB1bml0KSB7XG4gICAgY29uc29sZS5hc3NlcnQoL14obT9zfG1pbnxoKSQvZy50ZXN0KHVuaXQpKTtcblxuICAgIGlmICh1bml0ID09PSAnbXMnKSB7XG4gICAgICByZXR1cm4gdGltZTtcbiAgICB9XG4gICAgaWYgKHVuaXQgPT09ICdzJykge1xuICAgICAgcmV0dXJuIHRpbWUgKiAxMDAwO1xuICAgIH1cbiAgICBpZiAodW5pdCA9PT0gJ21pbicpIHtcbiAgICAgIHJldHVybiB0aW1lICogNjAgKiAxMDAwO1xuICAgIH1cblxuICAgIHJldHVybiB0aW1lICogNjAgKiA2MCAqIDEwMDA7XG4gIH1cblxuICBjb252ZXJ0KG1hdGNoKSB7XG4gICAgY29uc3QgdGltZSA9IHBhcnNlRmxvYXQobWF0Y2hbMV0pO1xuXG4gICAgaWYgKG1hdGNoLmxlbmd0aCA9PT0gMikge1xuICAgICAgcmV0dXJuIHRpbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29udmVydFRvTWlsbGlzZWNvbmRzKHRpbWUsIG1hdGNoWzJdKTtcbiAgfVxuXG4gIHBhcnNlRHVyYXRpb24oaW50ZXJ2YWwpIHtcbiAgICBpZiAoaW50ZXJ2YWwgPT09IHVuZGVmaW5lZCB8fCBpbnRlcnZhbCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEdQVER1cmF0aW9uRXJyb3IoaW50ZXJ2YWwpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW50ZXJ2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gaW50ZXJ2YWw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnRlcnZhbCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCcke2ludGVydmFsfScgbXVzdCBiZSBvZiBudW1iZXIgb3Igc3RyaW5nIHR5cGVgKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaCA9IGludGVydmFsLm1hdGNoKC8oKD86XFxkKyk/Lj9cXGQrKShtP3N8bWlufGgpPy8pO1xuXG4gICAgaWYgKCFtYXRjaCkge1xuICAgICAgdGhyb3cgbmV3IEdQVER1cmF0aW9uRXJyb3IoaW50ZXJ2YWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnZlcnQobWF0Y2gpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZHVyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL25nLWdwdC9zcmMvbGliL3NlcnZpY2VzL3BhcnNlLWR1cmF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsTUFBTSxnQkFBaUIsU0FBUSxLQUFLO0lBQ2xDLFlBQVksUUFBUTtRQUNsQixLQUFLLENBQUMsc0JBQXNCLFFBQVEsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSTtRQUM5QixPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRTVDLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUNqQixPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQztTQUNwQjtRQUNELElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixPQUFPLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLO1FBQ1gsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQVE7UUFDcEIsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDL0MsTUFBTSxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDaEMsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFFRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUNoQyxNQUFNLElBQUksU0FBUyxDQUFDLElBQUksUUFBUSxvQ0FBb0MsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixNQUFNLElBQUksZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7aUhBL0NVLG9CQUFvQjtxSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNsYXNzIEdQVER1cmF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKGludGVydmFsKSB7XG4gICAgc3VwZXIoYEludmFsaWQgaW50ZXJ2YWw6ICcke2ludGVydmFsfSdsc2ApO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYXJzZUR1cmF0aW9uU2VydmljZSB7XG4gIGNvbnZlcnRUb01pbGxpc2Vjb25kcyh0aW1lLCB1bml0KSB7XG4gICAgY29uc29sZS5hc3NlcnQoL14obT9zfG1pbnxoKSQvZy50ZXN0KHVuaXQpKTtcblxuICAgIGlmICh1bml0ID09PSAnbXMnKSB7XG4gICAgICByZXR1cm4gdGltZTtcbiAgICB9XG4gICAgaWYgKHVuaXQgPT09ICdzJykge1xuICAgICAgcmV0dXJuIHRpbWUgKiAxMDAwO1xuICAgIH1cbiAgICBpZiAodW5pdCA9PT0gJ21pbicpIHtcbiAgICAgIHJldHVybiB0aW1lICogNjAgKiAxMDAwO1xuICAgIH1cblxuICAgIHJldHVybiB0aW1lICogNjAgKiA2MCAqIDEwMDA7XG4gIH1cblxuICBjb252ZXJ0KG1hdGNoKSB7XG4gICAgY29uc3QgdGltZSA9IHBhcnNlRmxvYXQobWF0Y2hbMV0pO1xuXG4gICAgaWYgKG1hdGNoLmxlbmd0aCA9PT0gMikge1xuICAgICAgcmV0dXJuIHRpbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY29udmVydFRvTWlsbGlzZWNvbmRzKHRpbWUsIG1hdGNoWzJdKTtcbiAgfVxuXG4gIHBhcnNlRHVyYXRpb24oaW50ZXJ2YWwpIHtcbiAgICBpZiAoaW50ZXJ2YWwgPT09IHVuZGVmaW5lZCB8fCBpbnRlcnZhbCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEdQVER1cmF0aW9uRXJyb3IoaW50ZXJ2YWwpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW50ZXJ2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gaW50ZXJ2YWw7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnRlcnZhbCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCcke2ludGVydmFsfScgbXVzdCBiZSBvZiBudW1iZXIgb3Igc3RyaW5nIHR5cGVgKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaCA9IGludGVydmFsLm1hdGNoKC8oKD86XFxkKyk/Lj9cXGQrKShtP3N8bWlufGgpPy8pO1xuXG4gICAgaWYgKCFtYXRjaCkge1xuICAgICAgdGhyb3cgbmV3IEdQVER1cmF0aW9uRXJyb3IoaW50ZXJ2YWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNvbnZlcnQobWF0Y2gpO1xuICB9XG59XG4iXX0=

@@ -57,2 +57,2 @@ import { Injectable } from '@angular/core';

}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHViYWRzLnNldENvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZ3B0L3NyYy9saWIvc2VydmljZXMvcHViYWRzLnNldENvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsT0FBZSxFQUFFLE1BQXFCO1FBQ3ZELElBQUksT0FBTyxFQUFFO1lBQ1gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE9BQU8sQ0FBQyxJQUFZLEVBQUUsTUFBcUI7UUFDaEQsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxZQUFZLENBQUMsZUFBdUIsRUFBRSxNQUFxQjtRQUNoRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLEtBQUssTUFBTSxHQUFHLElBQUksZUFBZSxFQUFFO2dCQUNqQyxJQUFJLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3ZDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUNoRDthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxrQkFBa0IsQ0FDdkIsZUFBZ0MsRUFDaEMsTUFBcUI7UUFFckIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU07WUFDckMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7O21IQXJEVSxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHViQWRzU2VydmljZSwgU2FmZUZyYW1lQ29uZmlnIH0gZnJvbSAnLi4vZ3B0LmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQdWJhZHNTZXRDb25maWdTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFBhc3NlcyBsb2NhdGlvbiBpbmZvcm1hdGlvbiBmcm9tIHdlYnNpdGVzIHNvIHlvdSBjYW4gZ2VvLXRhcmdldCBsaW5lIGl0ZW1zIHRvIHNwZWNpZmljIGxvY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgRnJlZWZvcm0gYWRkcmVzcy5cbiAgICogQHBhcmFtIHB1YmFkcyBQdWJsaXNoZXIgQWRzIHNlcnZpY2UuIFRoaXMgc2VydmljZSBpcyB1c2VkIHRvIGZldGNoIGFuZCBzaG93IGFkcyBmcm9tIHlvdXIgR29vZ2xlIEFkIE1hbmFnZXIgYWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyBhZGRMb2NhdGlvbihhZGRyZXNzOiBzdHJpbmcsIHB1YmFkczogUHViQWRzU2VydmljZSk6IHZvaWQge1xuICAgIGlmIChhZGRyZXNzKSB7XG4gICAgICBwdWJhZHMuc2V0TG9jYXRpb24oYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIGZvciB0aGUgcHVibGlzaGVyLXByb3ZpZGVkIElELlxuICAgKlxuICAgKiBAcGFyYW0gcHBpZCBBbiBhbHBoYW51bWVyaWMgSUQgcHJvdmlkZWQgYnkgdGhlIHB1Ymxpc2hlciB3aXRoIGEgcmVjb21tZW5kZWQgbWF4aW11bSBvZiAxNTAgY2hhcmFjdGVycy5cbiAgICogQHBhcmFtIHB1YmFkcyBQdWJsaXNoZXIgQWRzIHNlcnZpY2UuIFRoaXMgc2VydmljZSBpcyB1c2VkIHRvIGZldGNoIGFuZCBzaG93IGFkcyBmcm9tIHlvdXIgR29vZ2xlIEFkIE1hbmFnZXIgYWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyBhZGRQUElEKHBwaWQ6IHN0cmluZywgcHViYWRzOiBQdWJBZHNTZXJ2aWNlKTogdm9pZCB7XG4gICAgaWYgKHBwaWQpIHtcbiAgICAgIHB1YmFkcy5zZXRQdWJsaXNoZXJQcm92aWRlZElkKHBwaWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGEgY3VzdG9tIHRhcmdldGluZyBwYXJhbWV0ZXIgZm9yIHRoaXMgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIGdsb2JhbFRhcmdldGluZ1xuICAgKiBAcGFyYW0gcHViYWRzIFB1Ymxpc2hlciBBZHMgc2VydmljZS4gVGhpcyBzZXJ2aWNlIGlzIHVzZWQgdG8gZmV0Y2ggYW5kIHNob3cgYWRzIGZyb20geW91ciBHb29nbGUgQWQgTWFuYWdlciBhY2NvdW50LlxuICAgKi9cbiAgcHVibGljIGFkZFRhcmdldGluZyhnbG9iYWxUYXJnZXRpbmc6IG9iamVjdCwgcHViYWRzOiBQdWJBZHNTZXJ2aWNlKTogdm9pZCB7XG4gICAgaWYgKE9iamVjdC5rZXlzKGdsb2JhbFRhcmdldGluZykubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBnbG9iYWxUYXJnZXRpbmcpIHtcbiAgICAgICAgaWYgKGdsb2JhbFRhcmdldGluZy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgcHViYWRzLnNldFRhcmdldGluZyhrZXksIGdsb2JhbFRhcmdldGluZ1trZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwYWdlLWxldmVsIHByZWZlcmVuY2VzIGZvciBTYWZlRnJhbWUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHNhZmVGcmFtZUNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEBwYXJhbSBwdWJhZHMgUHVibGlzaGVyIEFkcyBzZXJ2aWNlLiBUaGlzIHNlcnZpY2UgaXMgdXNlZCB0byBmZXRjaCBhbmQgc2hvdyBhZHMgZnJvbSB5b3VyIEdvb2dsZSBBZCBNYW5hZ2VyIGFjY291bnQuXG4gICAqL1xuICBwdWJsaWMgYWRkU2FmZUZyYW1lQ29uZmlnKFxuICAgIHNhZmVGcmFtZUNvbmZpZzogU2FmZUZyYW1lQ29uZmlnLFxuICAgIHB1YmFkczogUHViQWRzU2VydmljZVxuICApOiB2b2lkIHtcbiAgICBpZiAoT2JqZWN0LmtleXMoc2FmZUZyYW1lQ29uZmlnKS5sZW5ndGgpXG4gICAgICBwdWJhZHMuc2V0U2FmZUZyYW1lQ29uZmlnKHNhZmVGcmFtZUNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHViYWRzLnNldENvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmctZ3B0L3NyYy9saWIvc2VydmljZXMvcHViYWRzLnNldENvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxzQkFBc0I7SUFDakM7Ozs7O09BS0c7SUFDSSxXQUFXLENBQUMsT0FBZSxFQUFFLE1BQXFCO1FBQ3ZELElBQUksT0FBTyxFQUFFO1lBQ1gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE9BQU8sQ0FBQyxJQUFZLEVBQUUsTUFBcUI7UUFDaEQsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxZQUFZLENBQUMsZUFBdUIsRUFBRSxNQUFxQjtRQUNoRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3ZDLEtBQUssTUFBTSxHQUFHLElBQUksZUFBZSxFQUFFO2dCQUNqQyxJQUFJLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3ZDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUNoRDthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxrQkFBa0IsQ0FDdkIsZUFBZ0MsRUFDaEMsTUFBcUI7UUFFckIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU07WUFDckMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7O21IQXJEVSxzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHViQWRzU2VydmljZSwgU2FmZUZyYW1lQ29uZmlnIH0gZnJvbSAnLi4vZ3B0LmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQdWJhZHNTZXRDb25maWdTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFBhc3NlcyBsb2NhdGlvbiBpbmZvcm1hdGlvbiBmcm9tIHdlYnNpdGVzIHNvIHlvdSBjYW4gZ2VvLXRhcmdldCBsaW5lIGl0ZW1zIHRvIHNwZWNpZmljIGxvY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgRnJlZWZvcm0gYWRkcmVzcy5cbiAgICogQHBhcmFtIHB1YmFkcyBQdWJsaXNoZXIgQWRzIHNlcnZpY2UuIFRoaXMgc2VydmljZSBpcyB1c2VkIHRvIGZldGNoIGFuZCBzaG93IGFkcyBmcm9tIHlvdXIgR29vZ2xlIEFkIE1hbmFnZXIgYWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyBhZGRMb2NhdGlvbihhZGRyZXNzOiBzdHJpbmcsIHB1YmFkczogUHViQWRzU2VydmljZSk6IHZvaWQge1xuICAgIGlmIChhZGRyZXNzKSB7XG4gICAgICBwdWJhZHMuc2V0TG9jYXRpb24oYWRkcmVzcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHZhbHVlIGZvciB0aGUgcHVibGlzaGVyLXByb3ZpZGVkIElELlxuICAgKlxuICAgKiBAcGFyYW0gcHBpZCBBbiBhbHBoYW51bWVyaWMgSUQgcHJvdmlkZWQgYnkgdGhlIHB1Ymxpc2hlciB3aXRoIGEgcmVjb21tZW5kZWQgbWF4aW11bSBvZiAxNTAgY2hhcmFjdGVycy5cbiAgICogQHBhcmFtIHB1YmFkcyBQdWJsaXNoZXIgQWRzIHNlcnZpY2UuIFRoaXMgc2VydmljZSBpcyB1c2VkIHRvIGZldGNoIGFuZCBzaG93IGFkcyBmcm9tIHlvdXIgR29vZ2xlIEFkIE1hbmFnZXIgYWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyBhZGRQUElEKHBwaWQ6IHN0cmluZywgcHViYWRzOiBQdWJBZHNTZXJ2aWNlKTogdm9pZCB7XG4gICAgaWYgKHBwaWQpIHtcbiAgICAgIHB1YmFkcy5zZXRQdWJsaXNoZXJQcm92aWRlZElkKHBwaWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGEgY3VzdG9tIHRhcmdldGluZyBwYXJhbWV0ZXIgZm9yIHRoaXMgc2xvdC5cbiAgICpcbiAgICogQHBhcmFtIGdsb2JhbFRhcmdldGluZ1xuICAgKiBAcGFyYW0gcHViYWRzIFB1Ymxpc2hlciBBZHMgc2VydmljZS4gVGhpcyBzZXJ2aWNlIGlzIHVzZWQgdG8gZmV0Y2ggYW5kIHNob3cgYWRzIGZyb20geW91ciBHb29nbGUgQWQgTWFuYWdlciBhY2NvdW50LlxuICAgKi9cbiAgcHVibGljIGFkZFRhcmdldGluZyhnbG9iYWxUYXJnZXRpbmc6IG9iamVjdCwgcHViYWRzOiBQdWJBZHNTZXJ2aWNlKTogdm9pZCB7XG4gICAgaWYgKE9iamVjdC5rZXlzKGdsb2JhbFRhcmdldGluZykubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBnbG9iYWxUYXJnZXRpbmcpIHtcbiAgICAgICAgaWYgKGdsb2JhbFRhcmdldGluZy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgcHViYWRzLnNldFRhcmdldGluZyhrZXksIGdsb2JhbFRhcmdldGluZ1trZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwYWdlLWxldmVsIHByZWZlcmVuY2VzIGZvciBTYWZlRnJhbWUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHNhZmVGcmFtZUNvbmZpZyBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEBwYXJhbSBwdWJhZHMgUHVibGlzaGVyIEFkcyBzZXJ2aWNlLiBUaGlzIHNlcnZpY2UgaXMgdXNlZCB0byBmZXRjaCBhbmQgc2hvdyBhZHMgZnJvbSB5b3VyIEdvb2dsZSBBZCBNYW5hZ2VyIGFjY291bnQuXG4gICAqL1xuICBwdWJsaWMgYWRkU2FmZUZyYW1lQ29uZmlnKFxuICAgIHNhZmVGcmFtZUNvbmZpZzogU2FmZUZyYW1lQ29uZmlnLFxuICAgIHB1YmFkczogUHViQWRzU2VydmljZVxuICApOiB2b2lkIHtcbiAgICBpZiAoT2JqZWN0LmtleXMoc2FmZUZyYW1lQ29uZmlnKS5sZW5ndGgpXG4gICAgICBwdWJhZHMuc2V0U2FmZUZyYW1lQ29uZmlnKHNhZmVGcmFtZUNvbmZpZyk7XG4gIH1cbn1cbiJdfQ==

@@ -51,2 +51,2 @@ import { Injectable } from '@angular/core';

}], ctorParameters: function () { return [{ type: i1.HttpErrorService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LWluamVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1ncHQvc3JjL2xpYi9zZXJ2aWNlcy9zY3JpcHQtaW5qZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFHLENBQUM7SUFFM0MsV0FBVyxDQUFDLEdBQVc7UUFDN0IsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzFDLENBQUM7SUFFTyxZQUFZLENBQUMsR0FBVztRQUM5QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDaEMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBVyxFQUFFLEdBQVc7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDOUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ25CLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDcEIsTUFBTSxDQUFDO29CQUNMLElBQUksRUFBRSxHQUFHO29CQUNULE1BQU0sRUFBRSxLQUFLO2lCQUNkLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFXO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDOztrSEEvQ1UscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclNlcnZpY2UgfSBmcm9tICcuJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNjcmlwdEluamVjdG9yU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cEVycm9yOiBIdHRwRXJyb3JTZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgY29tcGxldGVVUkwodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzc2wgPSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOic7XG4gICAgcmV0dXJuIChzc2wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTY3JpcHQodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblxuICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICBzY3JpcHQuc3JjID0gdGhpcy5jb21wbGV0ZVVSTCh1cmwpO1xuXG4gICAgcmV0dXJuIHNjcmlwdDtcbiAgfVxuXG4gIHByaXZhdGUgcHJvbWlzZVNjcmlwdChzY3JpcHQ6IGFueSwgdXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgcmVzb2x2ZShzY3JpcHQpO1xuICAgICAgfTtcbiAgICAgIHNjcmlwdC5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICByZWplY3Qoe1xuICAgICAgICAgIHBhdGg6IHVybCxcbiAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBwcm9taXNlLmNhdGNoKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmh0dHBFcnJvci5odHRwRXJyb3IoeyBzdGF0dXM6IDQwMCB9LCBgbG9hZGluZyBzY3JpcHQgXCIke3VybH1cImApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cblxuICBpbmplY3RTY3JpcHQoc2NyaXB0OiBhbnkpIHtcbiAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkJyk7XG4gICAgaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICB9XG5cbiAgc2NyaXB0SW5qZWN0b3IodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmNyZWF0ZVNjcmlwdCh1cmwpO1xuICAgIHRoaXMuaW5qZWN0U2NyaXB0KHNjcmlwdCk7XG4gICAgcmV0dXJuIHRoaXMucHJvbWlzZVNjcmlwdChzY3JpcHQsIHVybCk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LWluamVjdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZy1ncHQvc3JjL2xpYi9zZXJ2aWNlcy9zY3JpcHQtaW5qZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFHLENBQUM7SUFFM0MsV0FBVyxDQUFDLEdBQVc7UUFDN0IsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzFDLENBQUM7SUFFTyxZQUFZLENBQUMsR0FBVztRQUM5QixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDaEMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRW5DLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBVyxFQUFFLEdBQVc7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDOUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ25CLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDcEIsTUFBTSxDQUFDO29CQUNMLElBQUksRUFBRSxHQUFHO29CQUNULE1BQU0sRUFBRSxLQUFLO2lCQUNkLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFXO1FBQ3RCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxjQUFjLENBQUMsR0FBVztRQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDOztrSEEvQ1UscUJBQXFCO3NIQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclNlcnZpY2UgfSBmcm9tICcuJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNjcmlwdEluamVjdG9yU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cEVycm9yOiBIdHRwRXJyb3JTZXJ2aWNlKSB7fVxuXG4gIHByaXZhdGUgY29tcGxldGVVUkwodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzc2wgPSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCA9PT0gJ2h0dHBzOic7XG4gICAgcmV0dXJuIChzc2wgPyAnaHR0cHM6JyA6ICdodHRwOicpICsgdXJsO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTY3JpcHQodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblxuICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICBzY3JpcHQuc3JjID0gdGhpcy5jb21wbGV0ZVVSTCh1cmwpO1xuXG4gICAgcmV0dXJuIHNjcmlwdDtcbiAgfVxuXG4gIHByaXZhdGUgcHJvbWlzZVNjcmlwdChzY3JpcHQ6IGFueSwgdXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgcmVzb2x2ZShzY3JpcHQpO1xuICAgICAgfTtcbiAgICAgIHNjcmlwdC5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICByZWplY3Qoe1xuICAgICAgICAgIHBhdGg6IHVybCxcbiAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBwcm9taXNlLmNhdGNoKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmh0dHBFcnJvci5odHRwRXJyb3IoeyBzdGF0dXM6IDQwMCB9LCBgbG9hZGluZyBzY3JpcHQgXCIke3VybH1cImApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cblxuICBpbmplY3RTY3JpcHQoc2NyaXB0OiBhbnkpIHtcbiAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuaGVhZCB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoZWFkJyk7XG4gICAgaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICB9XG5cbiAgc2NyaXB0SW5qZWN0b3IodXJsOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmNyZWF0ZVNjcmlwdCh1cmwpO1xuICAgIHRoaXMuaW5qZWN0U2NyaXB0KHNjcmlwdCk7XG4gICAgcmV0dXJuIHRoaXMucHJvbWlzZVNjcmlwdChzY3JpcHQsIHVybCk7XG4gIH1cbn1cbiJdfQ==

@@ -5,2 +5,2 @@ /**

export * from './public-api';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZ3B0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmctZ3B0L3NyYy9uZy1ncHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZ3B0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbmctZ3B0L3NyYy9uZy1ncHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==

@@ -7,2 +7,2 @@ /*

export * from "./lib/gpt.module";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLWdwdC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLWdwdFxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9ncHQuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2dwdC5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9ncHQubW9kdWxlXCI7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25nLWdwdC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLWdwdFxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9ncHQuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2dwdC5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9ncHQubW9kdWxlXCI7XG4iXX0=

@@ -479,2 +479,5 @@ import { isPlatformBrowser, DOCUMENT } from '@angular/common';

this.config = config;
this.sizes = "fluid";
this.sizeMapping = [];
this.targetingArguments = {};
this.afterRefresh = new EventEmitter();

@@ -486,3 +489,3 @@ this.scripts = [];

if (slot === this.slot) {
this.afterRefresh.emit({ type: 'refresh', slot: slot });
this.afterRefresh.emit({ type: "refresh", slot: slot });
}

@@ -496,3 +499,3 @@ });

!this.refresh &&
this.config.onSameNavigation === 'refresh') {
this.config.onSameNavigation === "refresh") {
this.refreshContent.call(this);

@@ -505,3 +508,4 @@ }

ngOnInit() {
if (isPlatformBrowser(this.platformID)) {
this.checkRequiredFields(this.adUnit, "adUnit");
if (isPlatformBrowser(this.platformID) && !this.id) {
this.gptIDGenerator.gptIDGenerator(this.elementRef.nativeElement);

@@ -552,6 +556,6 @@ }

}
googletag.pubads().addEventListener('slotRenderEnded', (event) => {
googletag.pubads().addEventListener("slotRenderEnded", (event) => {
if (event.slot === this.slot) {
this.afterRefresh.emit({
type: 'renderEnded',
type: "renderEnded",
slot: this.slot,

@@ -580,3 +584,3 @@ data: event,

this.gptRefresh.slotRefresh(this.slot, this.refresh, true).then((slot) => {
this.afterRefresh.emit({ type: 'init', slot: slot });
this.afterRefresh.emit({ type: "init", slot: slot });
});

@@ -588,7 +592,4 @@ }

getState() {
this.checkRequiredFields(this.id, 'id');
this.checkRequiredFields(this.adUnit, 'path');
this.checkRequiredFields(this.sizes, 'sizes');
return Object.freeze({
sizes: this.sizes,
sizes: typeof this.sizes === "string" ? [this.sizes] : this.sizes,
sizeMapping: this.sizeMapping,

@@ -611,5 +612,2 @@ targetingArguments: this.targetingArguments,

}
addSize(size) {
this.sizes.push(size);
}
addExclusion(exclusion) {

@@ -626,3 +624,3 @@ this.exclusions.push(exclusion);

type: Directive,
args: [{ selector: 'gpt-ad' }]
args: [{ selector: "gpt-ad" }]
}], ctorParameters: function () { return [{ type: Object, decorators: [{

@@ -629,0 +627,0 @@ type: Inject,

@@ -15,3 +15,3 @@ import { InjectionToken } from '@angular/core';

ppid?: string;
globalTargeting: object;
globalTargeting?: object;
safeFrameConfig?: SafeFrameConfig;

@@ -18,0 +18,0 @@ enableLazyLoad?: LazyLoadOptionsConfig;

@@ -1,7 +0,7 @@

import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { Router } from '@angular/router';
import { GptConfig } from './gpt.config';
import { GptService } from './gpt.service';
import { GptRefreshService } from './services';
import { GptIDGeneratorService } from './services/gpt-idGenerator.service';
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit } from "@angular/core";
import { Router } from "@angular/router";
import { GptConfig } from "./gpt.config";
import { GptService } from "./gpt.service";
import { GptRefreshService } from "./services";
import { GptIDGeneratorService } from "./services/gpt-idGenerator.service";
import * as i0 from "@angular/core";

@@ -20,3 +20,3 @@ export declare class GptRefreshEvent {

}
export declare class GptAdDirective implements AfterViewInit, OnDestroy {
export declare class GptAdDirective implements OnInit, AfterViewInit, OnDestroy {
private platformID;

@@ -30,3 +30,3 @@ private elementRef;

adUnit: string;
sizes: [number, number][];
sizes: [number, number][] | string;
sizeMapping: SizeMapping[];

@@ -52,3 +52,3 @@ forceSafeFrame: boolean;

getState(): Readonly<{
sizes: [number, number][];
sizes: string[] | [number, number][];
sizeMapping: SizeMapping[];

@@ -65,3 +65,2 @@ targetingArguments: TargetingArguments;

checkRequiredFields(input: any, name: string): void;
addSize(size: any): void;
addExclusion(exclusion: any): void;

@@ -68,0 +67,0 @@ addScript(script: any): void;

{
"name": "ng-gpt",
"version": "0.0.4",
"version": "0.0.5",
"description": "A Angular implementation of the google GPT API.",

@@ -5,0 +5,0 @@ "keywords": [

@@ -65,1 +65,13 @@ # Angular GPT

```
### Parameters
- **`adUnit`** [`string`] - **required** Full ad unit path with the network code and unit code.
- **`id`** [`string`] - ID of the div that will contain this ad unit.
- **`size`** [`[number, number][] | string`] - Width and height of the added slot. This is the size that is used in the ad request if no responsive size mapping is provided or the size of the viewport is smaller than the smallest size provided in the mapping. Default `fluid`.
- **`sizeMapping`** [`{viewport: [number, number]; sizes: [number, number][]}[]`] - Array of size mappings. Each size mapping is an array of two elements.
- **`forceSafeFrame`** [`boolean`] - true to force all ads in this slot to be rendered in SafeFrames and false to opt-out of a page-level setting (if present). Setting this to false when not specified at page-level, won't change anything.
- **`safeFrameConfig`** [`string`] - slot-level preferences for SafeFrame configuration. Any unrecognized keys in the config object will be ignored. The entire config will be ignored if an invalid value is passed for a recognized key.
- **`refresh`** [`number`] - refresh interval.
- **`collapseEmptyDivs`** [`boolean`] - Sets whether the slot div should be hidden when there is no ad in the slot.
- **`targetingArguments`** [`[key: string]: any`] - custom targeting parameters for a given key that apply to all pubads service ad slots.

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc