asap-feed-beta 12.7.8 → 12.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -48,13 +48,11 @@ export class AsapFeedBetaComponent {
48
48
  this.publication = this.controlService.publication;
49
49
  this.query = this.controlService.query;
50
50
  }
51
- console.log('Query ->', this.query);
52
51
  this.route.params.subscribe((/**
53
52
  * @param {?} param
54
53
  * @return {?}
55
54
  */
56
55
  param => {
57
- console.log('Params ->', param);
58
56
  if (param) {
59
57
  if (param.feed_id) {
60
58
  this.feedID = param.feed_id;
@@ -101,7 +99,6 @@ export class AsapFeedBetaComponent {
101
99
  * @return {?}
102
100
  */
103
101
  getFeed(feed_id = '') {
104
- console.log('[getFeed] Query', this.query, this.filterByMe);
105
102
  this.feeds = null;
106
103
  this.loading = true;
107
104
  this.feedService.getFeed(feed_id, this.global.loggedUser(), this.query, this.filterByMe).subscribe((/**
@@ -110,7 +107,6 @@ export class AsapFeedBetaComponent {
110
107
  */
111
108
  (response) => {
112
109
  this.feeds = response.data;
113
- console.log('Feeds', this.feeds);
114
110
  this.paginate = response.pagination;
115
111
  this.loading = false;
116
112
  this.hasFeed = (this.feeds.length > 0);
@@ -120,7 +116,6 @@ export class AsapFeedBetaComponent {
120
116
  * @return {?}
121
117
  */
122
118
  getMore() {
123
- console.log('[getMore]', this.paginate.next_document);
124
119
  if (this.paginate.next_document) {
125
120
  this.loading = true;
126
121
  this.feedService.getMoreFeed(5, this.paginate.next_document, this.global.loggedUser(), this.query, this.filterByMe).subscribe((/**
@@ -128,7 +123,6 @@ export class AsapFeedBetaComponent {
128
123
  * @return {?}
129
124
  */
130
125
  (response) => {
131
- console.log('[getMore] Got: ', response);
132
126
  response.data.map((/**
133
127
  * @param {?} item
134
128
  * @return {?}
@@ -327,11 +321,20 @@ export class AsapFeedBetaComponent {
327
321
  this.filterByMe = filterByMe;
328
322
  this.getFeed();
329
323
  }
324
+ /**
325
+ * @return {?}
326
+ */
327
+ get isScrollDisabled() {
328
+ return this.loading ||
329
+ this.paginate.count >= this.paginate.limit ||
330
+ this.isSinglePost ||
331
+ this.paginate.last_document === this.paginate.next_document;
332
+ }
330
333
  }
331
334
  AsapFeedBetaComponent.decorators = [
332
335
  { type: Component, args: [{
333
336
  selector: 'asap-feed-beta',
334
- template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"2000\" [infiniteScrollDisabled]=\"\n loading || \n paginate.count >= paginate.limit || \n isSinglePost || \n paginate.last_document === paginate.next_document\" (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
337
+ template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll \n [infiniteScrollDistance]=\"2\" \n [infiniteScrollThrottle]=\"2000\" \n [infiniteScrollDisabled]=\"isScrollDisabled\" \n (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
335
338
  styles: ['./asap-feed.beta.componente.scss']
336
339
  }] }
337
340
  ];
@@ -398,4 +401,4 @@ if (false) {
398
401
  /** @type {?} */
399
402
  AsapFeedBetaComponent.prototype.global;
400
403
  }
401
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFRbkMsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7Ozs7SUF3QjlCLFlBQ1ksV0FBNEIsRUFDN0IsRUFBb0IsRUFDcEIsS0FBcUIsRUFDckIsY0FBbUMsRUFDbkMsTUFBYztRQUpiLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM3QixPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTNCbEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHYixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUd4QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUliLHlCQUFvQixHQUFHLEdBQUcsQ0FB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RCxPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUNyRTtZQUNMLENBQUMsRUFBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxVQUFVLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLFVBQWU7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7OztZQXRRSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsZzVGQUE4Qzt5QkFDckMsa0NBQWtDO2FBQzlDOzs7O1lBWFEsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLE1BQU07OztpQkFhVixLQUFLOzRCQUNMLEtBQUs7dUJBQ0wsS0FBSzswQkE0SEwsWUFBWSxTQUFDLGVBQWU7Ozs7SUFqSTdCLHdDQUFzQjs7SUFDdEIsd0NBQXNCOztJQUV0QixtQ0FBWTs7SUFDWiw4Q0FBK0I7O0lBQy9CLHlDQUFrQjs7SUFFbEIsc0NBQXFCOztJQUVyQix3Q0FBc0I7O0lBQ3RCLHlDQUF3Qjs7SUFDeEIsNENBQTBCOztJQUMxQixzQ0FBb0I7O0lBQ3BCLHVDQUFjOztJQUNkLHNDQUFhOztJQUNiLHlDQUFnQjs7SUFDaEIscURBQWtDOztJQUNsQyxnREFBK0I7O0lBQy9CLDZDQUE0Qjs7SUFFNUIsMkNBQTBCOzs7OztJQUd0Qiw0Q0FBb0M7O0lBQ3BDLG1DQUEyQjs7SUFDM0Isc0NBQTRCOztJQUM1QiwrQ0FBMEM7O0lBQzFDLHVDQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzYXBGZWVkU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXNhcC1mZWVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuL2FzYXAtZmVlZC1iZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhc2FwLWZlZWQtYmV0YScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FzYXAtZmVlZC1iZXRhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFsnLi9hc2FwLWZlZWQuYmV0YS5jb21wb25lbnRlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBc2FwRmVlZEJldGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBwdWJsaWMgaGFzRmVlZCA9IHRydWU7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgaWQ7XG4gICAgQElucHV0KCkgaWdub3JlQ29udHJvbCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzO1xuXG4gICAgcHVibGljIGhhc0lEID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc3RvcmllcyA9IHRydWU7XG4gICAgcHVibGljIGFubm91bmNlID0gZmFsc2U7XG4gICAgcHVibGljIHB1YmxpY2F0aW9uID0gdHJ1ZTtcbiAgICBwdWJsaWMgcXVlcnkgPSBudWxsO1xuICAgIHB1YmxpYyBmZWVkSUQ7XG4gICAgcHVibGljIGZlZWRzO1xuICAgIHB1YmxpYyBwYWdpbmF0ZTtcbiAgICBwdWJsaWMgdG9wUG9zVG9TdGFydFNob3dpbmcgPSA0MDA7XG4gICAgcHVibGljIHNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1NpbmdsZVBvc3QgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBmaWx0ZXJCeU1lID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmZWVkU2VydmljZTogQXNhcEZlZWRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZGI6IEFuZ3VsYXJGaXJlc3RvcmUsXG4gICAgICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBjb250cm9sU2VydmljZTogQXNhcEZlZWRCZXRhU2VydmljZSxcbiAgICAgICAgcHVibGljIGdsb2JhbDogR2xvYmFsLFxuICAgICkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgICAgICBcbiAgICAgICAgaWYgKCF0aGlzLmlnbm9yZUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2UgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLmFubm91bmNlO1xuICAgICAgICAgICAgdGhpcy5zdG9yaWVzID0gdGhpcy5jb250cm9sU2VydmljZS5zdG9yaWVzO1xuICAgICAgICAgICAgdGhpcy5wdWJsaWNhdGlvbiA9IHRoaXMuY29udHJvbFNlcnZpY2UucHVibGljYXRpb247XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5jb250cm9sU2VydmljZS5xdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKCdRdWVyeSAtPicsIHRoaXMucXVlcnkpO1xuXG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUGFyYW1zIC0+JywgcGFyYW0pO1xuICAgICAgICAgICAgaWYgKHBhcmFtKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtLmZlZWRfaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWVkSUQgPSBwYXJhbS5mZWVkX2lkO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2luZ2xlUG9zdCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAgICAgICAgICAgICB9LCA2MDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRGZWVkKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGVja0ZlZWRDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZmVlZElEKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAgICAgfSwgNjAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzLmlkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzSUQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSkgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSA9IHt9O1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbFNlcnZpY2UucXVlcnkuc2VhcmNoQnkgPSAndXNlcl9pbmZvLmlkJztcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xTZXJ2aWNlLnF1ZXJ5LnNlYXJjaFZhbHVlID0gdGhpcy5pZCArICcmdHlwZVZhbHVlPW51bWJlcic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmVlZChmZWVkX2lkID0gJycpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1tnZXRGZWVkXSBRdWVyeScsIHRoaXMucXVlcnksIHRoaXMuZmlsdGVyQnlNZSk7XG4gICAgICAgIHRoaXMuZmVlZHMgPSBudWxsO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldEZlZWQoZmVlZF9pZCwgdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLCB0aGlzLnF1ZXJ5LCB0aGlzLmZpbHRlckJ5TWUpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRmVlZHMnLCB0aGlzLmZlZWRzKTtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGUgPSByZXNwb25zZS5wYWdpbmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhhc0ZlZWQgPSAodGhpcy5mZWVkcy5sZW5ndGggPiAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1vcmUoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbZ2V0TW9yZV0nLCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQpO1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0ZS5uZXh0X2RvY3VtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRNb3JlRmVlZCg1LCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQsIHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSwgdGhpcy5xdWVyeSwgdGhpcy5maWx0ZXJCeU1lKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW2dldE1vcmVdIEdvdDogJywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wZXJtaXR0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmVlZHMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0ZSA9IHJlc3BvbnNlLnBhZ2luYXRpb247XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja0ZlZWRDaGFuZ2UoKSB7XG4gICAgICAgIC8vIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQsIHJlZiA9PiB7XG4gICAgICAgIC8vICAgICByZXR1cm4gcmVmLm9yZGVyQnkoJ3VwZGF0ZWRfYXQnLCAnZGVzYycpO1xuICAgICAgICAvLyB9KTtcblxuICAgICAgICAvLyBjb2xsZWN0aW9uLnNuYXBzaG90Q2hhbmdlcygpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIltjaGVja0ZlZWRDaGFuZ2VdXCIscmVzcG9uc2UpO1xuICAgICAgICAvLyAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgIC8vICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW2NoZWNrRmVlZENoYW5nZV1cIilcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcbiAgICAgICAgLy8gICAgICAgICB9LCA2MDApO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9KVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxuICAgIGNoZWNrU2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICAgIGlmIChzY3JvbGxQb3NpdGlvbiA+PSB0aGlzLnRvcFBvc1RvU3RhcnRTaG93aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ290b1RvcCgpIHtcbiAgICAgICAgd2luZG93LnNjcm9sbCh7XG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHBlcm1pdHRlZChwb3N0KSB7XG4gICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuICAgICAgICAgICAgICAgIGlmICh1c2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3N0LnVzZXJfaW5mbyAmJiBwb3N0LnVzZXJfaW5mby5pZCA9PSB1c2VyLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHVzZXIuZXh0cmFzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleHRyYXMgPSB1c2VyLmV4dHJhc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybSBvZiBwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHBlcm0uZmllbGQgPT0gJ211bHRpLWNvbnRhJykgJiYgKHBlcm0udmFsdWUgPT0gdXNlci5jbGllbnRfaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChleHRyYXNbcGVybS5maWVsZF0gPT0gcGVybS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25OZXdGZWVkKGlkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbb25OZXdGZWVkXScsIGlkKTtcbiAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRGZWVkKGlkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCBpbmRleCA9IHRoaXMuZmVlZHMubGVuZ3RoO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgdGhpcy5mZWVkcykge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZlZWRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1tvbk5ld0ZlZWRdIEZlZWQnLCB0aGlzLmZlZWRzW2ldKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmVlZHNbaV0uaXNIaWdobGlnaHRlZCkge1xuICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IFtcbiAgICAgICAgICAgICAgICAuLi4gdGhpcy5mZWVkcy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgICAgICAgLi4uIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgLi4uIHRoaXMuZmVlZHMuc2xpY2UoaW5kZXgpXG4gICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ZvY3VzLW9uLW1lJylbMF07XG4gICAgICAgICAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgICAgICB9LCA1MDApO1xuXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZW5kVmlzaWJsZShpdGVtKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYW5kbyBjb21vIHZpc3VhbGl6YWRvXCIsIGl0ZW0pO1xuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcbiAgICAgICAgICAgIHBvc3RfaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IGl0ZW0udXBkYXRlZF9hdFxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgICAgcG9zdF9pZDogaXRlbS5pZCxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICB1cGRhdGVkX2F0OiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgdXNlcl9pbmZvOiB7XG4gICAgICAgICAgICAgICAgaWQ6IHVzZXIuaWQsXG4gICAgICAgICAgICAgICAgdXBkYXRlZF9hdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsXG4gICAgICAgICAgICAgICAgcGljdHVyZTogdXNlci5waWN0dXJlXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZG9jdW1lbnRJRCA9IGBmZWVkLXZpZXcvJHtpdGVtLmlkfWA7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kYi5kb2MoZG9jdW1lbnRJRCk7XG4gICAgICAgIGRvY3VtZW50LnNldChwb3N0RGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50SUQgPSBgZmVlZC12aWV3LyR7aXRlbS5pZH0vdmlld3MvJHt1c2VyLmlkfWA7XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuZGIuZG9jKGRvY3VtZW50SUQpO1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0KCkuc3Vic2NyaWJlKChkb2MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWRvYy5leGlzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jLnJlZi5zZXQoZGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYWRvIGNvbW8gdmlzdWFsaXphZG9cIiwgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBqw6EgZm9pIG1hcmNhZG8gY29tbyB2aXN1YWxpemFkb1wiLCBkb2MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kYi5jb2xsZWN0aW9uKGAke2RvY3VtZW50SUR9L2hpc3RvcnlgKS5hZGQoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbG9hZChmaWx0ZXJCeU1lOiBhbnkpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJCeU1lID0gZmlsdGVyQnlNZTtcbiAgICAgICAgdGhpcy5nZXRGZWVkKCk7XG4gICAgfVxuXG59XG4iXX0=
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFRbkMsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7Ozs7SUF3QjlCLFlBQ1ksV0FBNEIsRUFDN0IsRUFBb0IsRUFDcEIsS0FBcUIsRUFDckIsY0FBbUMsRUFDbkMsTUFBYztRQUpiLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM3QixPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTNCbEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHYixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUd4QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUliLHlCQUFvQixHQUFHLEdBQUcsQ0FB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QUFDLFFBQVEsQ0FBQyxLQUFLO1lBQzFDLElBQUksQ0FBQyxZQUFZO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFBO0lBQ3RFLENBQUM7OztZQW5RSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsb3lGQUE4Qzt5QkFDckMsa0NBQWtDO2FBQzlDOzs7O1lBWFEsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLE1BQU07OztpQkFhVixLQUFLOzRCQUNMLEtBQUs7dUJBQ0wsS0FBSzswQkFrSEwsWUFBWSxTQUFDLGVBQWU7Ozs7SUF2SDdCLHdDQUFzQjs7SUFDdEIsd0NBQXNCOztJQUV0QixtQ0FBWTs7SUFDWiw4Q0FBK0I7O0lBQy9CLHlDQUFrQjs7SUFFbEIsc0NBQXFCOztJQUVyQix3Q0FBc0I7O0lBQ3RCLHlDQUF3Qjs7SUFDeEIsNENBQTBCOztJQUMxQixzQ0FBb0I7O0lBQ3BCLHVDQUFjOztJQUNkLHNDQUFhOztJQUNiLHlDQUFnQjs7SUFDaEIscURBQWtDOztJQUNsQyxnREFBK0I7O0lBQy9CLDZDQUE0Qjs7SUFFNUIsMkNBQTBCOzs7OztJQUd0Qiw0Q0FBb0M7O0lBQ3BDLG1DQUEyQjs7SUFDM0Isc0NBQTRCOztJQUM1QiwrQ0FBMEM7O0lBQzFDLHVDQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzYXBGZWVkU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXNhcC1mZWVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuL2FzYXAtZmVlZC1iZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhc2FwLWZlZWQtYmV0YScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FzYXAtZmVlZC1iZXRhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFsnLi9hc2FwLWZlZWQuYmV0YS5jb21wb25lbnRlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBc2FwRmVlZEJldGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBwdWJsaWMgaGFzRmVlZCA9IHRydWU7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgaWQ7XG4gICAgQElucHV0KCkgaWdub3JlQ29udHJvbCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzO1xuXG4gICAgcHVibGljIGhhc0lEID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc3RvcmllcyA9IHRydWU7XG4gICAgcHVibGljIGFubm91bmNlID0gZmFsc2U7XG4gICAgcHVibGljIHB1YmxpY2F0aW9uID0gdHJ1ZTtcbiAgICBwdWJsaWMgcXVlcnkgPSBudWxsO1xuICAgIHB1YmxpYyBmZWVkSUQ7XG4gICAgcHVibGljIGZlZWRzO1xuICAgIHB1YmxpYyBwYWdpbmF0ZTtcbiAgICBwdWJsaWMgdG9wUG9zVG9TdGFydFNob3dpbmcgPSA0MDA7XG4gICAgcHVibGljIHNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1NpbmdsZVBvc3QgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBmaWx0ZXJCeU1lID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmZWVkU2VydmljZTogQXNhcEZlZWRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZGI6IEFuZ3VsYXJGaXJlc3RvcmUsXG4gICAgICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBjb250cm9sU2VydmljZTogQXNhcEZlZWRCZXRhU2VydmljZSxcbiAgICAgICAgcHVibGljIGdsb2JhbDogR2xvYmFsLFxuICAgICkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlnbm9yZUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2UgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLmFubm91bmNlO1xuICAgICAgICAgICAgdGhpcy5zdG9yaWVzID0gdGhpcy5jb250cm9sU2VydmljZS5zdG9yaWVzO1xuICAgICAgICAgICAgdGhpcy5wdWJsaWNhdGlvbiA9IHRoaXMuY29udHJvbFNlcnZpY2UucHVibGljYXRpb247XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5jb250cm9sU2VydmljZS5xdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbSA9PiB7XG4gICAgICAgICAgICBpZiAocGFyYW0pIHtcbiAgICAgICAgICAgICAgICBpZiAocGFyYW0uZmVlZF9pZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZlZWRJRCA9IHBhcmFtLmZlZWRfaWQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaW5nbGVQb3N0ID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RmVlZCh0aGlzLmZlZWRJRCk7XG4gICAgICAgICAgICAgICAgICAgIH0sIDYwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoZWNrRmVlZENoYW5nZSgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuZmVlZElEKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAgICAgfSwgNjAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzLmlkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzSUQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSkgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSA9IHt9O1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbFNlcnZpY2UucXVlcnkuc2VhcmNoQnkgPSAndXNlcl9pbmZvLmlkJztcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xTZXJ2aWNlLnF1ZXJ5LnNlYXJjaFZhbHVlID0gdGhpcy5pZCArICcmdHlwZVZhbHVlPW51bWJlcic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmVlZChmZWVkX2lkID0gJycpIHtcbiAgICAgICAgdGhpcy5mZWVkcyA9IG51bGw7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZmVlZFNlcnZpY2UuZ2V0RmVlZChmZWVkX2lkLCB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCksIHRoaXMucXVlcnksIHRoaXMuZmlsdGVyQnlNZSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZlZWRzID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGUgPSByZXNwb25zZS5wYWdpbmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhhc0ZlZWQgPSAodGhpcy5mZWVkcy5sZW5ndGggPiAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1vcmUoKSB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldE1vcmVGZWVkKDUsIHRoaXMucGFnaW5hdGUubmV4dF9kb2N1bWVudCwgdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLCB0aGlzLnF1ZXJ5LCB0aGlzLmZpbHRlckJ5TWUpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wZXJtaXR0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmVlZHMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0ZSA9IHJlc3BvbnNlLnBhZ2luYXRpb247XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja0ZlZWRDaGFuZ2UoKSB7XG4gICAgICAgIC8vIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQsIHJlZiA9PiB7XG4gICAgICAgIC8vICAgICByZXR1cm4gcmVmLm9yZGVyQnkoJ3VwZGF0ZWRfYXQnLCAnZGVzYycpO1xuICAgICAgICAvLyB9KTtcblxuICAgICAgICAvLyBjb2xsZWN0aW9uLnNuYXBzaG90Q2hhbmdlcygpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIltjaGVja0ZlZWRDaGFuZ2VdXCIscmVzcG9uc2UpO1xuICAgICAgICAvLyAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgIC8vICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW2NoZWNrRmVlZENoYW5nZV1cIilcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcbiAgICAgICAgLy8gICAgICAgICB9LCA2MDApO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9KVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxuICAgIGNoZWNrU2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICAgIGlmIChzY3JvbGxQb3NpdGlvbiA+PSB0aGlzLnRvcFBvc1RvU3RhcnRTaG93aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ290b1RvcCgpIHtcbiAgICAgICAgd2luZG93LnNjcm9sbCh7XG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHBlcm1pdHRlZChwb3N0KSB7XG4gICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuICAgICAgICAgICAgICAgIGlmICh1c2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3N0LnVzZXJfaW5mbyAmJiBwb3N0LnVzZXJfaW5mby5pZCA9PSB1c2VyLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHVzZXIuZXh0cmFzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleHRyYXMgPSB1c2VyLmV4dHJhc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybSBvZiBwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHBlcm0uZmllbGQgPT0gJ211bHRpLWNvbnRhJykgJiYgKHBlcm0udmFsdWUgPT0gdXNlci5jbGllbnRfaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChleHRyYXNbcGVybS5maWVsZF0gPT0gcGVybS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25OZXdGZWVkKGlkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbb25OZXdGZWVkXScsIGlkKTtcbiAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRGZWVkKGlkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCBpbmRleCA9IHRoaXMuZmVlZHMubGVuZ3RoO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgdGhpcy5mZWVkcykge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZlZWRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1tvbk5ld0ZlZWRdIEZlZWQnLCB0aGlzLmZlZWRzW2ldKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmVlZHNbaV0uaXNIaWdobGlnaHRlZCkge1xuICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IFtcbiAgICAgICAgICAgICAgICAuLi4gdGhpcy5mZWVkcy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgICAgICAgLi4uIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgLi4uIHRoaXMuZmVlZHMuc2xpY2UoaW5kZXgpXG4gICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ZvY3VzLW9uLW1lJylbMF07XG4gICAgICAgICAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgICAgICB9LCA1MDApO1xuXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZW5kVmlzaWJsZShpdGVtKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYW5kbyBjb21vIHZpc3VhbGl6YWRvXCIsIGl0ZW0pO1xuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcbiAgICAgICAgICAgIHBvc3RfaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IGl0ZW0udXBkYXRlZF9hdFxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgICAgcG9zdF9pZDogaXRlbS5pZCxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICB1cGRhdGVkX2F0OiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgdXNlcl9pbmZvOiB7XG4gICAgICAgICAgICAgICAgaWQ6IHVzZXIuaWQsXG4gICAgICAgICAgICAgICAgdXBkYXRlZF9hdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsXG4gICAgICAgICAgICAgICAgcGljdHVyZTogdXNlci5waWN0dXJlXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZG9jdW1lbnRJRCA9IGBmZWVkLXZpZXcvJHtpdGVtLmlkfWA7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kYi5kb2MoZG9jdW1lbnRJRCk7XG4gICAgICAgIGRvY3VtZW50LnNldChwb3N0RGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50SUQgPSBgZmVlZC12aWV3LyR7aXRlbS5pZH0vdmlld3MvJHt1c2VyLmlkfWA7XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuZGIuZG9jKGRvY3VtZW50SUQpO1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0KCkuc3Vic2NyaWJlKChkb2MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWRvYy5leGlzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jLnJlZi5zZXQoZGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYWRvIGNvbW8gdmlzdWFsaXphZG9cIiwgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBqw6EgZm9pIG1hcmNhZG8gY29tbyB2aXN1YWxpemFkb1wiLCBkb2MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kYi5jb2xsZWN0aW9uKGAke2RvY3VtZW50SUR9L2hpc3RvcnlgKS5hZGQoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbG9hZChmaWx0ZXJCeU1lOiBhbnkpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJCeU1lID0gZmlsdGVyQnlNZTtcbiAgICAgICAgdGhpcy5nZXRGZWVkKCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2Nyb2xsRGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmcgfHwgXG4gICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRlLmNvdW50ID49IHRoaXMucGFnaW5hdGUubGltaXQgfHwgXG4gICAgICAgICAgICAgICB0aGlzLmlzU2luZ2xlUG9zdCB8fCBcbiAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGUubGFzdF9kb2N1bWVudCA9PT0gdGhpcy5wYWdpbmF0ZS5uZXh0X2RvY3VtZW50XG4gICAgfVxuXG59XG4iXX0=
@@ -46,7 +46,6 @@ import { MatTabsModule } from '@angular/material/tabs';
46
46
  import { FeedPostsComponent } from './feed-posts/feed-posts.component';
47
47
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
48
48
  import { AutoCompleteComponent } from './components/auto-complete/auto-complete.component';
49
- // import { NgAisModule } from 'angular-instantsearch';
50
49
  export class AsapFeedBetaModule {
51
50
  /**
52
51
  * @param {?} global
@@ -139,4 +138,4 @@ if (false) {
139
138
  /** @type {?} */
140
139
  AsapFeedBetaModule.prototype.global;
141
140
  }
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FB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LGdCQUFnQjtvQkFDaEIsb0JBQW9CO29CQUNwQixnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsWUFBWTtvQkFDWixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsa0JBQWtCO29CQUNsQixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsU0FBUztvQkFDVCxjQUFjO29CQUNkLHVCQUF1QjtvQkFDdkIsYUFBYTtvQkFDYixZQUFZO29CQUNaLHFCQUFxQjtpQkFDeEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLHFCQUFxQjtvQkFDckIsaUJBQWlCO29CQUNqQixxQkFBcUI7b0JBQ3JCLG9CQUFvQjtvQkFDcEIsd0JBQXdCO29CQUN4QiwwQkFBMEI7b0JBQzFCLGtCQUFrQjtvQkFDbEIsZ0JBQWdCO29CQUNoQixzQkFBc0I7b0JBQ3RCLG9CQUFvQjtvQkFDcEIscUJBQXFCO2lCQUN4QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wscUJBQXFCO29CQUNyQixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtpQkFDdkI7Z0JBQ0QsZUFBZSxFQUFFO29CQUNiLHFCQUFxQjtvQkFDckIsMEJBQTBCO29CQUMxQixzQkFBc0I7aUJBQ3pCO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxZQUFZO2lCQUNmO2FBQ0o7Ozs7WUFoRlEsTUFBTTs7OztJQW1GQyxvQ0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBc2FwRmVlZEJldGFDb21wb25lbnQgfSBmcm9tICcuL2FzYXAtZmVlZC1iZXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRmVlZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2ZlZWQtaXRlbS9mZWVkLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1vbWVudE1vZHVsZSB9IGZyb20gJ25neC1tb21lbnQnO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxNb2R1bGUgfSBmcm9tICduZ3gtaW5maW5pdGUtc2Nyb2xsJztcbmltcG9ydCB7IEFzYXBTa2VsZXRvbk1vZHVsZSB9IGZyb20gJ2FzYXAtc2tlbGV0b24nO1xuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuL3BpcGVzL3BpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBOZ3hIbUNhcm91c2VsTW9kdWxlIH0gZnJvbSAnbmd4LWhtLWNhcm91c2VsJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmVlZENvbW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9mZWVkLWNvbW1lbnRzL2ZlZWQtY29tbWVudHMuY29tcG9uZW50JztcbmltcG9ydCB7IEZlZWRBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9mZWVkLWFjdGlvbnMvZmVlZC1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWVkUHVibGljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2ZlZWQtcHVibGljYXRpb24vZmVlZC1wdWJsaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVlZE1vZGFsSXRlbUVkaXRDb21wb25lbnQgfSBmcm9tICcuL2ZlZWQtcHVibGljYXRpb24vZmVlZC1tb2RhbC1pdGVtLWVkaXQvZmVlZC1tb2RhbC1pdGVtLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yaWVzQ29tcG9uZW50IH0gZnJvbSAnLi9zdG9yaWVzL3N0b3JpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IE93bE1vZHVsZSB9IGZyb20gJ25neC1vd2wtY2Fyb3VzZWwnO1xuaW1wb3J0IHsgQ2Fyb3VzZWxNb2R1bGUgfSBmcm9tICduZ3gtb3dsLWNhcm91c2VsLW8nO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1vZGFsQW5ub3VuY2VDb21wb25lbnQgfSBmcm9tICcuL2ZlZWQtcHVibGljYXRpb24vbW9kYWwtYW5ub3VuY2UvbW9kYWwtYW5ub3VuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICduZ3gtc21hcnQtcG9wb3Zlcic7XG5pbXBvcnQgeyBOZ3hTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ25neC1za2VsZXRvbi1sb2FkZXInO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBNYXRTdGVwcGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBTd2lwZXJNb2R1bGUgfSBmcm9tICduZ3gtc3dpcGVyLXdyYXBwZXInO1xuaW1wb3J0ICdtb21lbnQvbG9jYWxlL3B0LWJyJztcbmltcG9ydCB7IEFzYXBUYWJGZWVkQ29tcG9uZW50IH0gZnJvbSAnLi90YWItZmVlZC9hc2FwLXRhYi1mZWVkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBGZWVkUG9zdHNDb21wb25lbnQgfSBmcm9tICcuL2ZlZWQtcG9zdHMvZmVlZC1wb3N0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IEF1dG9Db21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdXRvLWNvbXBsZXRlL2F1dG8tY29tcGxldGUuY29tcG9uZW50JztcblxuLy8gaW1wb3J0IHsgTmdBaXNNb2R1bGUgfSBmcm9tICdhbmd1bGFyLWluc3RhbnRzZWFyY2gnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIE1hdExpc3RNb2R1bGUsXG4gICAgICAgIE1hdENhcmRNb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgICAgICBNYXRSYWRpb01vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgICAgICBNYXRTdGVwcGVyTW9kdWxlLFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBNb21lbnRNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgICAgIEFzYXBTa2VsZXRvbk1vZHVsZSxcbiAgICAgICAgUGlwZXNNb2R1bGUsXG4gICAgICAgIE5neEhtQ2Fyb3VzZWxNb2R1bGUsXG4gICAgICAgIE93bE1vZHVsZSxcbiAgICAgICAgQ2Fyb3VzZWxNb2R1bGUsXG4gICAgICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLFxuICAgICAgICBQb3BvdmVyTW9kdWxlLFxuICAgICAgICBTd2lwZXJNb2R1bGUsXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEFzYXBGZWVkQmV0YUNvbXBvbmVudCxcbiAgICAgICAgRmVlZEl0ZW1Db21wb25lbnQsXG4gICAgICAgIEZlZWRDb21tZW50c0NvbXBvbmVudCxcbiAgICAgICAgRmVlZEFjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIEZlZWRQdWJsaWNhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRmVlZE1vZGFsSXRlbUVkaXRDb21wb25lbnQsXG4gICAgICAgIEZlZWRQb3N0c0NvbXBvbmVudCxcbiAgICAgICAgU3Rvcmllc0NvbXBvbmVudCxcbiAgICAgICAgTW9kYWxBbm5vdW5jZUNvbXBvbmVudCxcbiAgICAgICAgQXNhcFRhYkZlZWRDb21wb25lbnQsXG4gICAgICAgIEF1dG9Db21wbGV0ZUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBBc2FwRmVlZEJldGFDb21wb25lbnQsXG4gICAgICAgIEZlZWRJdGVtQ29tcG9uZW50LFxuICAgICAgICBBc2FwVGFiRmVlZENvbXBvbmVudCxcbiAgICBdLFxuICAgIGVudHJ5Q29tcG9uZW50czogW1xuICAgICAgICBBc2FwRmVlZEJldGFDb21wb25lbnQsXG4gICAgICAgIEZlZWRNb2RhbEl0ZW1FZGl0Q29tcG9uZW50LFxuICAgICAgICBNb2RhbEFubm91bmNlQ29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVXRpbHNTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBc2FwRmVlZEJldGFNb2R1bGUge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGdsb2JhbDogR2xvYmFsKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbQXNhcEZlZWRCZXRhTW9kdWxlXScsIG5ldyBEYXRlKCkpO1xuICAgICAgICB0aGlzLmdsb2JhbC5nZXRPckNyZWF0ZVNlc3Npb25EYXRhKCdBc2FwTXlQYWdlTW9kdWxlLnRhYnMnLFtdKS5wdXNoKHtcbiAgICAgICAgICAgIGxhYmVsOiAnTWV1cyBQb3N0cycsXG4gICAgICAgICAgICBjb21wb25lbnQ6IEFzYXBGZWVkQmV0YUNvbXBvbmVudCxcbiAgICAgICAgICAgIGNvbmRpdGlvbjogKGNvbXBvbmVudCx0eXBlKSA9PiAodGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpICYmIHRoaXMuZ2xvYmFsLmhhc1Blcm1pc3Npb24oJ215LXBvc3RzJyx0eXBlKSAmJiBjb21wb25lbnQuaGFzRmVlZCksXG4gICAgICAgICAgICBsb2FkaW5nOiAoY29tcG9uZW50KSA9PiBjb21wb25lbnQubG9hZGluZ1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FB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Z0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsYUFBYTtvQkFDYixZQUFZO29CQUNaLGVBQWU7b0JBQ2Ysb0JBQW9CO29CQUNwQixrQkFBa0I7b0JBQ2xCLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixTQUFTO29CQUNULGNBQWM7b0JBQ2QsdUJBQXVCO29CQUN2QixhQUFhO29CQUNiLFlBQVk7b0JBQ1oscUJBQXFCO2lCQUN4QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1YscUJBQXFCO29CQUNyQixpQkFBaUI7b0JBQ2pCLHFCQUFxQjtvQkFDckIsb0JBQW9CO29CQUNwQix3QkFBd0I7b0JBQ3hCLDBCQUEwQjtvQkFDMUIsa0JBQWtCO29CQUNsQixnQkFBZ0I7b0JBQ2hCLHNCQUFzQjtvQkFDdEIsb0JBQW9CO29CQUNwQixxQkFBcUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCxxQkFBcUI7b0JBQ3JCLGlCQUFpQjtvQkFDakIsb0JBQW9CO2lCQUN2QjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2IscUJBQXFCO29CQUNyQiwwQkFBMEI7b0JBQzFCLHNCQUFzQjtpQkFDekI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLFlBQVk7aUJBQ2Y7YUFDSjs7OztZQTlFUSxNQUFNOzs7O0lBaUZDLG9DQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YUNvbXBvbmVudCB9IGZyb20gJy4vYXNhcC1mZWVkLWJldGEuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGZWVkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZmVlZC1pdGVtL2ZlZWQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9tZW50TW9kdWxlIH0gZnJvbSAnbmd4LW1vbWVudCc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbE1vZHVsZSB9IGZyb20gJ25neC1pbmZpbml0ZS1zY3JvbGwnO1xuaW1wb3J0IHsgQXNhcFNrZWxldG9uTW9kdWxlIH0gZnJvbSAnYXNhcC1za2VsZXRvbic7XG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IE5neEhtQ2Fyb3VzZWxNb2R1bGUgfSBmcm9tICduZ3gtaG0tY2Fyb3VzZWwnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGZWVkQ29tbWVudHNDb21wb25lbnQgfSBmcm9tICcuL2ZlZWQtY29tbWVudHMvZmVlZC1jb21tZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVlZEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2ZlZWQtYWN0aW9ucy9mZWVkLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEZlZWRQdWJsaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZmVlZC1wdWJsaWNhdGlvbi9mZWVkLXB1YmxpY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWVkTW9kYWxJdGVtRWRpdENvbXBvbmVudCB9IGZyb20gJy4vZmVlZC1wdWJsaWNhdGlvbi9mZWVkLW1vZGFsLWl0ZW0tZWRpdC9mZWVkLW1vZGFsLWl0ZW0tZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JpZXNDb21wb25lbnQgfSBmcm9tICcuL3N0b3JpZXMvc3Rvcmllcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3dsTW9kdWxlIH0gZnJvbSAnbmd4LW93bC1jYXJvdXNlbCc7XG5pbXBvcnQgeyBDYXJvdXNlbE1vZHVsZSB9IGZyb20gJ25neC1vd2wtY2Fyb3VzZWwtbyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTW9kYWxBbm5vdW5jZUNvbXBvbmVudCB9IGZyb20gJy4vZmVlZC1wdWJsaWNhdGlvbi9tb2RhbC1hbm5vdW5jZS9tb2RhbC1hbm5vdW5jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJ25neC1zbWFydC1wb3BvdmVyJztcbmltcG9ydCB7IE5neFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXNrZWxldG9uLWxvYWRlcic7XG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdhc2FwLWNydWQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IE1hdFN0ZXBwZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcbmltcG9ydCB7IFN3aXBlck1vZHVsZSB9IGZyb20gJ25neC1zd2lwZXItd3JhcHBlcic7XG5pbXBvcnQgJ21vbWVudC9sb2NhbGUvcHQtYnInO1xuaW1wb3J0IHsgQXNhcFRhYkZlZWRDb21wb25lbnQgfSBmcm9tICcuL3RhYi1mZWVkL2FzYXAtdGFiLWZlZWQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IEZlZWRQb3N0c0NvbXBvbmVudCB9IGZyb20gJy4vZmVlZC1wb3N0cy9mZWVkLXBvc3RzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgQXV0b0NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F1dG8tY29tcGxldGUvYXV0by1jb21wbGV0ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIE1hdExpc3RNb2R1bGUsXG4gICAgICAgIE1hdENhcmRNb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgICAgICBNYXRSYWRpb01vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgICAgICBNYXRTdGVwcGVyTW9kdWxlLFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBNb21lbnRNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgSW5maW5pdGVTY3JvbGxNb2R1bGUsXG4gICAgICAgIEFzYXBTa2VsZXRvbk1vZHVsZSxcbiAgICAgICAgUGlwZXNNb2R1bGUsXG4gICAgICAgIE5neEhtQ2Fyb3VzZWxNb2R1bGUsXG4gICAgICAgIE93bE1vZHVsZSxcbiAgICAgICAgQ2Fyb3VzZWxNb2R1bGUsXG4gICAgICAgIE5neFNrZWxldG9uTG9hZGVyTW9kdWxlLFxuICAgICAgICBQb3BvdmVyTW9kdWxlLFxuICAgICAgICBTd2lwZXJNb2R1bGUsXG4gICAgICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEFzYXBGZWVkQmV0YUNvbXBvbmVudCxcbiAgICAgICAgRmVlZEl0ZW1Db21wb25lbnQsXG4gICAgICAgIEZlZWRDb21tZW50c0NvbXBvbmVudCxcbiAgICAgICAgRmVlZEFjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIEZlZWRQdWJsaWNhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgRmVlZE1vZGFsSXRlbUVkaXRDb21wb25lbnQsXG4gICAgICAgIEZlZWRQb3N0c0NvbXBvbmVudCxcbiAgICAgICAgU3Rvcmllc0NvbXBvbmVudCxcbiAgICAgICAgTW9kYWxBbm5vdW5jZUNvbXBvbmVudCxcbiAgICAgICAgQXNhcFRhYkZlZWRDb21wb25lbnQsXG4gICAgICAgIEF1dG9Db21wbGV0ZUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBBc2FwRmVlZEJldGFDb21wb25lbnQsXG4gICAgICAgIEZlZWRJdGVtQ29tcG9uZW50LFxuICAgICAgICBBc2FwVGFiRmVlZENvbXBvbmVudCxcbiAgICBdLFxuICAgIGVudHJ5Q29tcG9uZW50czogW1xuICAgICAgICBBc2FwRmVlZEJldGFDb21wb25lbnQsXG4gICAgICAgIEZlZWRNb2RhbEl0ZW1FZGl0Q29tcG9uZW50LFxuICAgICAgICBNb2RhbEFubm91bmNlQ29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVXRpbHNTZXJ2aWNlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBc2FwRmVlZEJldGFNb2R1bGUge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGdsb2JhbDogR2xvYmFsKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbQXNhcEZlZWRCZXRhTW9kdWxlXScsIG5ldyBEYXRlKCkpO1xuICAgICAgICB0aGlzLmdsb2JhbC5nZXRPckNyZWF0ZVNlc3Npb25EYXRhKCdBc2FwTXlQYWdlTW9kdWxlLnRhYnMnLFtdKS5wdXNoKHtcbiAgICAgICAgICAgIGxhYmVsOiAnTWV1cyBQb3N0cycsXG4gICAgICAgICAgICBjb21wb25lbnQ6IEFzYXBGZWVkQmV0YUNvbXBvbmVudCxcbiAgICAgICAgICAgIGNvbmRpdGlvbjogKGNvbXBvbmVudCx0eXBlKSA9PiAodGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpICYmIHRoaXMuZ2xvYmFsLmhhc1Blcm1pc3Npb24oJ215LXBvc3RzJyx0eXBlKSAmJiBjb21wb25lbnQuaGFzRmVlZCksXG4gICAgICAgICAgICBsb2FkaW5nOiAoY29tcG9uZW50KSA9PiBjb21wb25lbnQubG9hZGluZ1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -44,8 +44,8 @@ export class FeedItemComponent {
44
44
  */
45
45
  ngOnInit() {
46
46
  this.loadVisibilityControls();
47
+ this.item.linkifiedTitle = this.sanitizedLinkify(this.item.title);
47
48
  if (this.item.files && this.item.files.length > 0) {
48
- this.item.linkifiedTitle = this.sanitizedLinkify(this.item.title);
49
49
  this.item.files.map((/**
50
50
  * @param {?} feed
51
51
  * @return {?}
@@ -375,4 +375,4 @@ if (false) {
375
375
  /** @type {?} */
376
376
  FeedItemComponent.prototype.sanitizer;
377
377
  }
378
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FzYXAtZmVlZC1iZXRhLyIsInNvdXJjZXMiOlsibGliL2ZlZWQtaXRlbS9mZWVkLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQTRCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDckgsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFRekMsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7Ozs7OztJQWtCNUIsWUFDUyxhQUE0QixFQUM1QixFQUFvQixFQUNwQixNQUFjLEVBQ2QsTUFBaUIsRUFDakIsT0FBcUIsRUFDckIsU0FBMkIsRUFDM0IsU0FBdUI7UUFOdkIsa0JBQWEsR0FB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QUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdELENBQUM7OztZQTVORixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLCt2cEJBQXlDO2dCQUV6QyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7O2FBQzNCOzs7O1lBbEJRLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsTUFBTTtZQUlOLFNBQVM7WUFEVCxZQUFZO1lBSVosZ0JBQWdCO1lBQ2hCLFlBQVk7OzttQkFXbEIsS0FBSzt1QkFDTCxLQUFLO29CQUNMLEtBQUs7d0JBQ0wsTUFBTTswQkFDTixTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs2QkFDekMsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOzs7O0lBTGhFLGlDQUFjOztJQUNkLHFDQUFrQjs7SUFDbEIsa0NBQWU7O0lBQ2Ysc0NBQXlDOztJQUN6Qyx3Q0FBbUU7O0lBQ25FLDJDQUFpRjs7SUFFakYseUNBQW9COztJQUNwQix3Q0FBMkI7O0lBQzNCLDRDQUErQjs7SUFDL0Isa0RBQTZCOztJQUM3QixnREFBaUU7O0lBQ2pFLHFDQUFnQjs7SUFDaEIseUNBQW9COztJQUNwQixzQ0FBaUI7O0lBR2YsMENBQW1DOztJQUNuQywrQkFBMkI7O0lBQzNCLG1DQUFxQjs7SUFDckIsbUNBQXdCOztJQUN4QixvQ0FBNEI7O0lBQzVCLHNDQUFrQzs7SUFDbEMsc0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0cmVhbVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdHJlYW0uc2VydmljZSc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IEZlZWRNb2RhbEl0ZW1FZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vZmVlZC1wdWJsaWNhdGlvbi9mZWVkLW1vZGFsLWl0ZW0tZWRpdC9mZWVkLW1vZGFsLWl0ZW0tZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgcGF0aCB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgU3dpcGVyQ29yZSwgeyBOYXZpZ2F0aW9uLCBQYWdpbmF0aW9uIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuU3dpcGVyQ29yZS51c2UoW05hdmlnYXRpb24sIFBhZ2luYXRpb25dKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZlZWQtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWVkLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vYXNhcC1mZWVkLmJldGEuY29tcG9uZW50ZS5zY3NzJywgJy4vZmVlZC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1N0cmVhbVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEZlZWRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGl0ZW07XG4gIEBJbnB1dCgpIHNldHRpbmdzO1xuICBASW5wdXQoKSBvd25lcjtcbiAgQE91dHB1dCgpIGlzVmlzaWJsZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSB2aWRlb3BsYXllcjogRWxlbWVudFJlZlxuICBAVmlld0NoaWxkKCd2aXNpYmxlQ29udHJvbCcsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSB2aXNpYmxlQ29udHJvbDtcblxuICBwdWJsaWMgY3VycmVudEluZGV4O1xuICBwdWJsaWMgaW1hZ2VMb2FkZWQgPSBmYWxzZTtcbiAgcHVibGljIGltYWdlRGF0YUxvYWRlZCA9IGZhbHNlO1xuICBwdWJsaWMgY3VycmVudENhcnJvdXNlbEluZGV4O1xuICBwdWJsaWMgYmx1ckJhY2tncm91bmRJbmRleCA9IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiA1KSArIDEpO1xuICBwdWJsaWMgb2JzZXJ2ZXI7XG4gIHB1YmxpYyB2aXNpYmxlVGltZXI7XG4gIHB1YmxpYyBzaG90VGltZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHN0cmVhbVNlcnZpY2U6IFN0cmVhbVNlcnZpY2UsXG4gICAgcHVibGljIGRiOiBBbmd1bGFyRmlyZXN0b3JlLFxuICAgIHB1YmxpYyBnbG9iYWw6IEdsb2JhbCxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHVibGljIHNlcnZpY2U6IFV0aWxzU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFZpc2liaWxpdHlDb250cm9scygpO1xuXG4gICAgaWYgKHRoaXMuaXRlbS5maWxlcyAmJiB0aGlzLml0ZW0uZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5pdGVtLmxpbmtpZmllZFRpdGxlID0gdGhpcy5zYW5pdGl6ZWRMaW5raWZ5KHRoaXMuaXRlbS50aXRsZSk7XG4gICAgICB0aGlzLml0ZW0uZmlsZXMubWFwKGZlZWQgPT4ge1xuICAgICAgICBpZiAoZmVlZC51cmwgJiYgZmVlZC51cmwuaW5jbHVkZXMoJ3lvdXR1YmUnKSkge1xuICAgICAgICAgIGZlZWQuaXNZb3V0dWJlID0gdHJ1ZTtcbiAgICAgICAgICBsZXQgeW91dHViZUlEID0gdGhpcy5nZXRZb3V0dWJlSUQoZmVlZC51cmwpO1xuICAgICAgICAgIGZlZWQudXJsID0gYGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7eW91dHViZUlEfWA7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coJ0lURU0gLT4nLCB0aGlzLml0ZW0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnZpc2libGVDb250cm9sLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnZpc2libGVUaW1lcik7XG4gIH1cblxuICBwdWJsaWMgbG9hZFZpc2liaWxpdHlDb250cm9scygpIHtcbiAgICB0aGlzLnZpc2libGVUaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvdFRpbWVyLS07XG4gICAgICBpZiAodGhpcy5zaG90VGltZXIgPT0gMCkge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZS5lbWl0KHRoaXMuaXRlbSk7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy52aXNpYmxlVGltZXIpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH1cbiAgICB9LCAxMDAwKTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByb290TWFyZ2luOiAnMHB4JyxcbiAgICAgIHRocmVzaG9sZDogWzAsIDAuMSwgMC4yLCAwLjMsIDAuNCwgMC41LCAwLjYsIDAuNywgMC44LCAwLjksIDEuMF1cbiAgICB9O1xuXG4gICAgdGhpcy5vYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcigoZW50cmllcywgb2JzZXJ2ZXIpID0+IHtcbiAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiB7XG4gICAgICAgIHRoaXMuc2hvdFRpbWVyID0gLTE7XG4gICAgICAgIHRoaXMuaXRlbS5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgaWYgKGVudHJ5LmludGVyc2VjdGlvblJhdGlvID09IDEpIHtcbiAgICAgICAgICB0aGlzLnNob3RUaW1lciA9IDU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIG9ubG9hZEltYWdlKGV2ZW50KSB7XG4gICAgdGhpcy5pbWFnZUxvYWRlZCA9IHRydWU7XG4gICAgdGhpcy5pbWFnZURhdGFMb2FkZWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG9uRXJyb3JJbWFnZShldmVudCkge1xuICB9XG5cbiAgcHVibGljIHBsYXlWaWRlbyhldmVudCkge1xuICAgIGlmICh0aGlzLnZpZGVvcGxheWVyKSB7XG4gICAgICB0aGlzLnZpZGVvcGxheWVyLm5hdGl2ZUVsZW1lbnQucGxheSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYW5pdGl6ZWRMaW5raWZ5KHN0cikge1xuICAgIGNvbnN0IHNhbml0aXplZCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMubGlua2lmeShzdHIpKTtcbiAgICByZXR1cm4gc2FuaXRpemVkO1xuICB9XG5cbiAgcHVibGljIGxpbmtpZnkoc3RyKSB7XG4gICAgdmFyIHJlOiBhbnk7XG4gICAgcmUgPSBbXG4gICAgICBcIlxcXFxiKCg/Omh0dHBzP3xmdHApOi8vW15cXFxcc1xcXCInPD5dKylcXFxcYlwiLFxuICAgICAgXCJcXFxcYih3d3dcXFxcLlteXFxcXHNcXFwiJzw+XSspXFxcXGJcIixcbiAgICAgIFwiXFxcXGIoXFxcXHdbXFxcXHcuKy1dKkBbXFxcXHcuLV0rXFxcXC5bYS16XXsyLDZ9KVxcXFxiXCIsXG4gICAgICBcIiMoW2EtejAtOV0rKVwiXTtcbiAgICByZSA9IG5ldyBSZWdFeHAocmUuam9pbignfCcpLCBcImdpXCIpO1xuXG4gICAgaWYgKHN0cikge1xuICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKHJlLCBmdW5jdGlvbiAobWF0Y2gsIHVybCwgd3d3LCBtYWlsLCB0d2l0bGVyKSB7XG4gICAgICAgIGlmICh1cmwpXG4gICAgICAgICAgcmV0dXJuIFwiPGEgY2xhc3M9J3RleHQtcHJpbWFyeScgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9XFxcIlwiICsgdXJsICsgXCJcXFwiPlwiICsgdXJsICsgXCI8L2E+XCI7XG4gICAgICAgIGlmICh3d3cpXG4gICAgICAgICAgcmV0dXJuIFwiPGEgY2xhc3M9J3RleHQtcHJpbWFyeScgaHJlZj1cXFwiaHR0cDovL1wiICsgd3d3ICsgXCJcXFwiPlwiICsgd3d3ICsgXCI8L2E+XCI7XG4gICAgICAgIGlmIChtYWlsKVxuICAgICAgICAgIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIGhyZWY9XFxcIm1haWx0bzovL1wiICsgbWFpbCArIFwiXFxcIj5cIiArIG1haWwgKyBcIjwvYT5cIjtcbiAgICAgICAgaWYgKHR3aXRsZXIpXG4gICAgICAgICAgcmV0dXJuIFwiPGEgY2xhc3M9J3RleHQtcHJpbWFyeScgaHJlZj1cXFwicG9ydGFsL3NlYXJjaC9cIiArIGVuY29kZVVSSUNvbXBvbmVudCgnIycgKyB0d2l0bGVyKSArIFwiXFxcIj4jXCIgKyB0d2l0bGVyICsgXCI8L2E+XCI7XG4gICAgICAgIC8vIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIGhyZWY9XFxcIiNcXFwiPiNcIiArIHR3aXRsZXIgKyBcIjwvYT5cIjtcblxuICAgICAgICAvLyBzaG91bGRudCBnZXQgaGVyZSwgYnV0IGp1c3QgaW4gY2FzZVxuICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hlY2tWaWRlb1JlbmRlcihpdGVtKSB7XG5cbiAgICBjb25zb2xlLmxvZygndmlkZW9SZW5kZXIgLT4nLCBpdGVtKTtcbiAgICB0aGlzLnN0cmVhbVNlcnZpY2Uuc3RhdHVzKGl0ZW0pLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdjaGVja1ZpZGVvUmVuZGVyJywgcmVzKTtcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIG9uRWRpdEl0ZW0oKSB7XG4gICAgY29uc29sZS5sb2coXCJbb25FZGl0SXRlbV1cIiwgdGhpcy5pdGVtKTtcbiAgICBpZiAodGhpcy5pdGVtLmNoYW5uZWxfaWQpIHtcbiAgICAgIHRoaXMuZ2xvYmFsLnN3YWwoe1xuICAgICAgICAgIHR5cGU6IFwid2FybmluZ1wiLFxuICAgICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ1RoaXNGZWVkQ2FuT25seUJlRWRpdGVkT25DaGFubmVsJylcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIC8vICBQcmVwYXJhciBmZWVkIHBhcmEgZWRpdGFyXG4gICAgICBsZXQgZmVlZDtcbiAgICAgIGZlZWQgPSB0aGlzLml0ZW07XG4gICAgICBkZWxldGUgZmVlZC5jb21tZW50cztcbiAgICAgIGRlbGV0ZSBmZWVkLmxpa2VzO1xuICBcbiAgICAgIGZlZWQuZmlsZXMubWFwKGZpbGUgPT4ge1xuICAgICAgICBmaWxlLm5ldyA9IGZhbHNlO1xuICAgICAgfSk7XG4gIFxuICAgICAgdGhpcy5kaWFsb2cub3BlbihGZWVkTW9kYWxJdGVtRWRpdENvbXBvbmVudCwge1xuICAgICAgICB3aWR0aDogJzYwMHB4JyxcbiAgICAgICAgZGF0YTogZmVlZCxcbiAgICAgICAgcGFuZWxDbGFzczogJ21vZGFsLWZlZWQtcHVibGljYXRpb24nXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIHByZUNvbnZlcnROdW1iZXIodmFsdWUpIHtcbiAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25SZW1vdmVJdGVtKGl0ZW0pIHtcbiAgICB0aGlzLmdsb2JhbC5zd2FsKHtcbiAgICAgIHRpdGxlOiAnVm9jw6ogcmVhbG1lbnRlIGRlc2VqYSByZW1vdmVyIGVzdGUgUG9zdD8nLFxuICAgICAgdGV4dDogJ1ZvY8OqIG7Do28gcG9kZXLDoSByZXZlcnRlciBlc3NhIGHDp8OjbyBkZXBvaXMgZGUgY29uZmlybWFkbycsXG4gICAgICB0eXBlOiBcIndhcm5pbmdcIixcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICBjb25maXJtQnV0dG9uVGV4dDogXCJTaW1cIixcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IFwiTsOjb1wiXG4gICAgfSkudGhlbihhc3luYyBjb25maXJtID0+IHtcbiAgICAgIGlmIChjb25maXJtLnZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpLmRvYyhpdGVtLmlkKTtcblxuICAgICAgICBpZiAoaXRlbS5maWxlcyAmJiBpdGVtLmZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgaXRlbS5maWxlcykge1xuICAgICAgICAgICAgaWYgKGZpbGUudHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICAgICAgICBpZiAoZmlsZS5uYW1lKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5kZWxldGVGaXJlU3RvcmFnZShgJHtwYXRoKCkuaW1hZ2VzfS8ke2ZpbGUubmFtZX1gKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1JlbW92ZW5kbyB1bSBwb3N0IGNvbSBpbWFnZW0gbsOjbyByZWZlcmVuY2lhZGEnLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29sbGVjdGlvbi5kZWxldGUoKTtcbiAgICAgICAgaXRlbS5kZWxldGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5nbG9iYWwudG9hc3QoJ1Bvc3QgcmVtb3ZpZG8gY29tIFN1Y2Vzc28nKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNoZWNrRmlsZU9yaWdpbihmaWxlKSB7XG5cbiAgfVxuXG4gIGlzWW91dHViZShmaWxlKSB7XG4gICAgY29uc29sZS5sb2coJ0lzWW91dHViZSAtPicsIGZpbGUpO1xuICAgIGlmIChmaWxlLmluY2x1ZGVzKCd5b3V0dWJlJykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRZb3V0dWJlSUQodXJsKSB7XG4gICAgdmFyIHJlZ0V4cCA9IC9eLiooKHlvdXR1LmJlXFwvKXwodlxcLyl8KFxcL3VcXC9cXHdcXC8pfChlbWJlZFxcLyl8KHdhdGNoXFw/KSlcXD8/dj89PyhbXiMmP10qKS4qLztcbiAgICB2YXIgbWF0Y2ggPSB1cmwubWF0Y2gocmVnRXhwKTtcbiAgICByZXR1cm4gKG1hdGNoICYmIG1hdGNoWzddLmxlbmd0aCA9PSAxMSkgPyBtYXRjaFs3XSA6IGZhbHNlO1xuICB9XG5cblxufVxuIl19
378
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FzYXAtZmVlZC1iZXRhLyIsInNvdXJjZXMiOlsibGliL2ZlZWQtaXRlbS9mZWVkLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQTRCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDckgsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFRekMsTUFBTSxPQUFPLGlCQUFpQjs7Ozs7Ozs7OztJQWtCNUIsWUFDUyxhQUE0QixFQUM1QixFQUFvQixFQUNwQixNQUFjLEVBQ2QsTUFBaUIsRUFDakIsT0FBcUIsRUFDckIsU0FBMkIsRUFDM0IsU0FBdUI7UUFOdkIsa0JBQWEsR0FB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QUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdELENBQUM7OztZQTVORixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLCt2cEJBQXlDO2dCQUV6QyxTQUFTLEVBQUUsQ0FBQyxhQUFhLENBQUM7O2FBQzNCOzs7O1lBbEJRLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsTUFBTTtZQUlOLFNBQVM7WUFEVCxZQUFZO1lBSVosZ0JBQWdCO1lBQ2hCLFlBQVk7OzttQkFXbEIsS0FBSzt1QkFDTCxLQUFLO29CQUNMLEtBQUs7d0JBQ0wsTUFBTTswQkFDTixTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs2QkFDekMsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOzs7O0lBTGhFLGlDQUFjOztJQUNkLHFDQUFrQjs7SUFDbEIsa0NBQWU7O0lBQ2Ysc0NBQXlDOztJQUN6Qyx3Q0FBbUU7O0lBQ25FLDJDQUFpRjs7SUFFakYseUNBQW9COztJQUNwQix3Q0FBMkI7O0lBQzNCLDRDQUErQjs7SUFDL0Isa0RBQTZCOztJQUM3QixnREFBaUU7O0lBQ2pFLHFDQUFnQjs7SUFDaEIseUNBQW9COztJQUNwQixzQ0FBaUI7O0lBR2YsMENBQW1DOztJQUNuQywrQkFBMkI7O0lBQzNCLG1DQUFxQjs7SUFDckIsbUNBQXdCOztJQUN4QixvQ0FBNEI7O0lBQzVCLHNDQUFrQzs7SUFDbEMsc0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0cmVhbVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdHJlYW0uc2VydmljZSc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IEZlZWRNb2RhbEl0ZW1FZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vZmVlZC1wdWJsaWNhdGlvbi9mZWVkLW1vZGFsLWl0ZW0tZWRpdC9mZWVkLW1vZGFsLWl0ZW0tZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgcGF0aCB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgU3dpcGVyQ29yZSwgeyBOYXZpZ2F0aW9uLCBQYWdpbmF0aW9uIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuU3dpcGVyQ29yZS51c2UoW05hdmlnYXRpb24sIFBhZ2luYXRpb25dKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZlZWQtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWVkLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vYXNhcC1mZWVkLmJldGEuY29tcG9uZW50ZS5zY3NzJywgJy4vZmVlZC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1N0cmVhbVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEZlZWRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGl0ZW07XG4gIEBJbnB1dCgpIHNldHRpbmdzO1xuICBASW5wdXQoKSBvd25lcjtcbiAgQE91dHB1dCgpIGlzVmlzaWJsZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSB2aWRlb3BsYXllcjogRWxlbWVudFJlZlxuICBAVmlld0NoaWxkKCd2aXNpYmxlQ29udHJvbCcsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSB2aXNpYmxlQ29udHJvbDtcblxuICBwdWJsaWMgY3VycmVudEluZGV4O1xuICBwdWJsaWMgaW1hZ2VMb2FkZWQgPSBmYWxzZTtcbiAgcHVibGljIGltYWdlRGF0YUxvYWRlZCA9IGZhbHNlO1xuICBwdWJsaWMgY3VycmVudENhcnJvdXNlbEluZGV4O1xuICBwdWJsaWMgYmx1ckJhY2tncm91bmRJbmRleCA9IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiA1KSArIDEpO1xuICBwdWJsaWMgb2JzZXJ2ZXI7XG4gIHB1YmxpYyB2aXNpYmxlVGltZXI7XG4gIHB1YmxpYyBzaG90VGltZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHN0cmVhbVNlcnZpY2U6IFN0cmVhbVNlcnZpY2UsXG4gICAgcHVibGljIGRiOiBBbmd1bGFyRmlyZXN0b3JlLFxuICAgIHB1YmxpYyBnbG9iYWw6IEdsb2JhbCxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHVibGljIHNlcnZpY2U6IFV0aWxzU2VydmljZSxcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubG9hZFZpc2liaWxpdHlDb250cm9scygpO1xuICAgIHRoaXMuaXRlbS5saW5raWZpZWRUaXRsZSA9IHRoaXMuc2FuaXRpemVkTGlua2lmeSh0aGlzLml0ZW0udGl0bGUpO1xuXG4gICAgaWYgKHRoaXMuaXRlbS5maWxlcyAmJiB0aGlzLml0ZW0uZmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5pdGVtLmZpbGVzLm1hcChmZWVkID0+IHtcbiAgICAgICAgaWYgKGZlZWQudXJsICYmIGZlZWQudXJsLmluY2x1ZGVzKCd5b3V0dWJlJykpIHtcbiAgICAgICAgICBmZWVkLmlzWW91dHViZSA9IHRydWU7XG4gICAgICAgICAgbGV0IHlvdXR1YmVJRCA9IHRoaXMuZ2V0WW91dHViZUlEKGZlZWQudXJsKTtcbiAgICAgICAgICBmZWVkLnVybCA9IGBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke3lvdXR1YmVJRH1gO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCdJVEVNIC0+JywgdGhpcy5pdGVtKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy52aXNpYmxlQ29udHJvbC5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy52aXNpYmxlVGltZXIpO1xuICB9XG5cbiAgcHVibGljIGxvYWRWaXNpYmlsaXR5Q29udHJvbHMoKSB7XG4gICAgdGhpcy52aXNpYmxlVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLnNob3RUaW1lci0tO1xuICAgICAgaWYgKHRoaXMuc2hvdFRpbWVyID09IDApIHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUuZW1pdCh0aGlzLml0ZW0pO1xuICAgICAgICBjbGVhckludGVydmFsKHRoaXMudmlzaWJsZVRpbWVyKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG5cbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcm9vdE1hcmdpbjogJzBweCcsXG4gICAgICB0aHJlc2hvbGQ6IFswLCAwLjEsIDAuMiwgMC4zLCAwLjQsIDAuNSwgMC42LCAwLjcsIDAuOCwgMC45LCAxLjBdXG4gICAgfTtcblxuICAgIHRoaXMub2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7XG4gICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4ge1xuICAgICAgICB0aGlzLnNob3RUaW1lciA9IC0xO1xuICAgICAgICB0aGlzLml0ZW0uYWN0aXZlID0gZmFsc2U7XG4gICAgICAgIGlmIChlbnRyeS5pbnRlcnNlY3Rpb25SYXRpbyA9PSAxKSB7XG4gICAgICAgICAgdGhpcy5zaG90VGltZXIgPSA1O1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9LCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBvbmxvYWRJbWFnZShldmVudCkge1xuICAgIHRoaXMuaW1hZ2VMb2FkZWQgPSB0cnVlO1xuICAgIHRoaXMuaW1hZ2VEYXRhTG9hZGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkVycm9ySW1hZ2UoZXZlbnQpIHtcbiAgfVxuXG4gIHB1YmxpYyBwbGF5VmlkZW8oZXZlbnQpIHtcbiAgICBpZiAodGhpcy52aWRlb3BsYXllcikge1xuICAgICAgdGhpcy52aWRlb3BsYXllci5uYXRpdmVFbGVtZW50LnBsYXkoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2FuaXRpemVkTGlua2lmeShzdHIpIHtcbiAgICBjb25zdCBzYW5pdGl6ZWQgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLmxpbmtpZnkoc3RyKSk7XG4gICAgcmV0dXJuIHNhbml0aXplZDtcbiAgfVxuXG4gIHB1YmxpYyBsaW5raWZ5KHN0cikge1xuICAgIHZhciByZTogYW55O1xuICAgIHJlID0gW1xuICAgICAgXCJcXFxcYigoPzpodHRwcz98ZnRwKTovL1teXFxcXHNcXFwiJzw+XSspXFxcXGJcIixcbiAgICAgIFwiXFxcXGIod3d3XFxcXC5bXlxcXFxzXFxcIic8Pl0rKVxcXFxiXCIsXG4gICAgICBcIlxcXFxiKFxcXFx3W1xcXFx3ListXSpAW1xcXFx3Li1dK1xcXFwuW2Etel17Miw2fSlcXFxcYlwiLFxuICAgICAgXCIjKFthLXowLTldKylcIl07XG4gICAgcmUgPSBuZXcgUmVnRXhwKHJlLmpvaW4oJ3wnKSwgXCJnaVwiKTtcblxuICAgIGlmIChzdHIpIHtcbiAgICAgIHJldHVybiBzdHIucmVwbGFjZShyZSwgZnVuY3Rpb24gKG1hdGNoLCB1cmwsIHd3dywgbWFpbCwgdHdpdGxlcikge1xuICAgICAgICBpZiAodXJsKVxuICAgICAgICAgIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIHRhcmdldD0nX2JsYW5rJyBocmVmPVxcXCJcIiArIHVybCArIFwiXFxcIj5cIiArIHVybCArIFwiPC9hPlwiO1xuICAgICAgICBpZiAod3d3KVxuICAgICAgICAgIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIGhyZWY9XFxcImh0dHA6Ly9cIiArIHd3dyArIFwiXFxcIj5cIiArIHd3dyArIFwiPC9hPlwiO1xuICAgICAgICBpZiAobWFpbClcbiAgICAgICAgICByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCJtYWlsdG86Ly9cIiArIG1haWwgKyBcIlxcXCI+XCIgKyBtYWlsICsgXCI8L2E+XCI7XG4gICAgICAgIGlmICh0d2l0bGVyKVxuICAgICAgICAgIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIGhyZWY9XFxcInBvcnRhbC9zZWFyY2gvXCIgKyBlbmNvZGVVUklDb21wb25lbnQoJyMnICsgdHdpdGxlcikgKyBcIlxcXCI+I1wiICsgdHdpdGxlciArIFwiPC9hPlwiO1xuICAgICAgICAvLyByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCIjXFxcIj4jXCIgKyB0d2l0bGVyICsgXCI8L2E+XCI7XG5cbiAgICAgICAgLy8gc2hvdWxkbnQgZ2V0IGhlcmUsIGJ1dCBqdXN0IGluIGNhc2VcbiAgICAgICAgcmV0dXJuIG1hdGNoO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoZWNrVmlkZW9SZW5kZXIoaXRlbSkge1xuXG4gICAgY29uc29sZS5sb2coJ3ZpZGVvUmVuZGVyIC0+JywgaXRlbSk7XG4gICAgdGhpcy5zdHJlYW1TZXJ2aWNlLnN0YXR1cyhpdGVtKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnY2hlY2tWaWRlb1JlbmRlcicsIHJlcyk7XG4gICAgfSlcbiAgfVxuXG4gIHB1YmxpYyBvbkVkaXRJdGVtKCkge1xuICAgIGNvbnNvbGUubG9nKFwiW29uRWRpdEl0ZW1dXCIsIHRoaXMuaXRlbSk7XG4gICAgaWYgKHRoaXMuaXRlbS5jaGFubmVsX2lkKSB7XG4gICAgICB0aGlzLmdsb2JhbC5zd2FsKHtcbiAgICAgICAgICB0eXBlOiBcIndhcm5pbmdcIixcbiAgICAgICAgICB0ZXh0OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdUaGlzRmVlZENhbk9ubHlCZUVkaXRlZE9uQ2hhbm5lbCcpXG4gICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAvLyAgUHJlcGFyYXIgZmVlZCBwYXJhIGVkaXRhclxuICAgICAgbGV0IGZlZWQ7XG4gICAgICBmZWVkID0gdGhpcy5pdGVtO1xuICAgICAgZGVsZXRlIGZlZWQuY29tbWVudHM7XG4gICAgICBkZWxldGUgZmVlZC5saWtlcztcbiAgXG4gICAgICBmZWVkLmZpbGVzLm1hcChmaWxlID0+IHtcbiAgICAgICAgZmlsZS5uZXcgPSBmYWxzZTtcbiAgICAgIH0pO1xuICBcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oRmVlZE1vZGFsSXRlbUVkaXRDb21wb25lbnQsIHtcbiAgICAgICAgd2lkdGg6ICc2MDBweCcsXG4gICAgICAgIGRhdGE6IGZlZWQsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdtb2RhbC1mZWVkLXB1YmxpY2F0aW9uJ1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBwcmVDb252ZXJ0TnVtYmVyKHZhbHVlKSB7XG4gICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG9uUmVtb3ZlSXRlbShpdGVtKSB7XG4gICAgdGhpcy5nbG9iYWwuc3dhbCh7XG4gICAgICB0aXRsZTogJ1ZvY8OqIHJlYWxtZW50ZSBkZXNlamEgcmVtb3ZlciBlc3RlIFBvc3Q/JyxcbiAgICAgIHRleHQ6ICdWb2PDqiBuw6NvIHBvZGVyw6EgcmV2ZXJ0ZXIgZXNzYSBhw6fDo28gZGVwb2lzIGRlIGNvbmZpcm1hZG8nLFxuICAgICAgdHlwZTogXCJ3YXJuaW5nXCIsXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiU2ltXCIsXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiBcIk7Do29cIlxuICAgIH0pLnRoZW4oYXN5bmMgY29uZmlybSA9PiB7XG4gICAgICBpZiAoY29uZmlybS52YWx1ZSkge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKS5kb2MoaXRlbS5pZCk7XG5cbiAgICAgICAgaWYgKGl0ZW0uZmlsZXMgJiYgaXRlbS5maWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGl0ZW0uZmlsZXMpIHtcbiAgICAgICAgICAgIGlmIChmaWxlLnR5cGUgPT09ICdpbWFnZScpIHtcbiAgICAgICAgICAgICAgaWYgKGZpbGUubmFtZSkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuZGVsZXRlRmlyZVN0b3JhZ2UoYCR7cGF0aCgpLmltYWdlc30vJHtmaWxlLm5hbWV9YCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdSZW1vdmVuZG8gdW0gcG9zdCBjb20gaW1hZ2VtIG7Do28gcmVmZXJlbmNpYWRhJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbGxlY3Rpb24uZGVsZXRlKCk7XG4gICAgICAgIGl0ZW0uZGVsZXRlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZ2xvYmFsLnRvYXN0KCdQb3N0IHJlbW92aWRvIGNvbSBTdWNlc3NvJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjaGVja0ZpbGVPcmlnaW4oZmlsZSkge1xuXG4gIH1cblxuICBpc1lvdXR1YmUoZmlsZSkge1xuICAgIGNvbnNvbGUubG9nKCdJc1lvdXR1YmUgLT4nLCBmaWxlKTtcbiAgICBpZiAoZmlsZS5pbmNsdWRlcygneW91dHViZScpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0WW91dHViZUlEKHVybCkge1xuICAgIHZhciByZWdFeHAgPSAvXi4qKCh5b3V0dS5iZVxcLyl8KHZcXC8pfChcXC91XFwvXFx3XFwvKXwoZW1iZWRcXC8pfCh3YXRjaFxcPykpXFw/P3Y/PT8oW14jJj9dKikuKi87XG4gICAgdmFyIG1hdGNoID0gdXJsLm1hdGNoKHJlZ0V4cCk7XG4gICAgcmV0dXJuIChtYXRjaCAmJiBtYXRjaFs3XS5sZW5ndGggPT0gMTEpID8gbWF0Y2hbN10gOiBmYWxzZTtcbiAgfVxuXG5cbn1cbiJdfQ==
@@ -3,7 +3,7 @@
3
3
  * Generated from: lib/tab-feed/asap-tab-feed.component.ts
4
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
5
  */
6
- import { Component, Input, ViewChild } from '@angular/core';
6
+ import { Component, Input, QueryList, ViewChildren } from '@angular/core';
7
7
  import { AsapFeedBetaService } from '../asap-feed-beta.service';
8
8
  import { Global } from 'asap-crud';
9
9
  import { AsapFeedBetaComponent } from '../asap-feed-beta.component';
@@ -118,12 +118,22 @@ export class AsapTabFeedComponent {
118
118
  * @return {?}
119
119
  */
120
120
  onNewFeed(id) {
121
+ console.log('Chegou evento feedCreated com ID:', id);
122
+ if (this.feeds) {
123
+ this.feeds.forEach((/**
124
+ * @param {?} feed
125
+ * @return {?}
126
+ */
127
+ (feed) => {
128
+ feed.getFeed();
129
+ }));
130
+ }
121
131
  }
122
132
  }
123
133
  AsapTabFeedComponent.decorators = [
124
134
  { type: Component, args: [{
125
135
  selector: 'asap-tab-feed',
126
- template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [hideFilterByMe]=\"true\" [announce]=\"false\" (feedCreated)=\"feed?.onNewFeed($event)\"></feed-publication>\n\n<div *ngIf=\"settings?.tabs\" class=\"asap-tab-feed\">\n <mat-tab-group (selectedTabChange)=\"onChangeTab($event)\" dynamicHeight>\n \n <!-- \u2705 SE o cliente tem canal -->\n <ng-container *ngIf=\"settings.tabs.channel_list?.length; else semCanal\">\n <mat-tab [label]=\"settings.tabs.channel\">\n <ng-container *ngIf=\"canShow == 0\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-container>\n \n <!-- \uD83D\uDEAB SE o cliente N\u00C3O tem canal -->\n <ng-template #semCanal>\n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-template>\n </mat-tab-group>\n </div>\n ",
136
+ template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories></app-stories>\n</ng-container>\n\n<feed-publication\n [settings]=\"settings\"\n [hideFilterByMe]=\"true\"\n [announce]=\"false\"\n (feedCreated)=\"onNewFeed($event)\">\n</feed-publication>\n\n<div *ngIf=\"settings?.tabs\" class=\"asap-tab-feed\">\n <mat-tab-group (selectedTabChange)=\"onChangeTab($event)\" dynamicHeight>\n \n <!-- \u2705 SE o cliente tem canal -->\n <ng-container *ngIf=\"settings.tabs.channel_list?.length; else semCanal\">\n <mat-tab [label]=\"settings.tabs.channel\">\n <ng-container *ngIf=\"canShow == 0\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-container>\n \n <!-- \uD83D\uDEAB SE o cliente N\u00C3O tem canal -->\n <ng-template #semCanal>\n <mat-tab *ngIf=\"settings.tabs.allFeed\" [label]=\"settings.tabs.allFeed\">\n <ng-container *ngIf=\"canShow == 3\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed\" [label]=\"settings.tabs.feed\">\n <ng-container *ngIf=\"canShow == 1\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n \n <mat-tab *ngIf=\"settings.tabs.feed_users\" [label]=\"settings.tabs.feed_users\">\n <ng-container *ngIf=\"canShow == 2\">\n <asap-feed-beta [settings]=\"settings\"></asap-feed-beta>\n </ng-container>\n </mat-tab>\n </ng-template>\n </mat-tab-group>\n </div>\n ",
127
137
  styles: [""]
128
138
  }] }
129
139
  ];
@@ -133,12 +143,12 @@ AsapTabFeedComponent.ctorParameters = () => [
133
143
  { type: AsapFeedBetaService }
134
144
  ];
135
145
  AsapTabFeedComponent.propDecorators = {
136
- feed: [{ type: ViewChild, args: ['feed', { static: false },] }],
146
+ feeds: [{ type: ViewChildren, args: [AsapFeedBetaComponent,] }],
137
147
  settings: [{ type: Input }]
138
148
  };
139
149
  if (false) {
140
150
  /** @type {?} */
141
- AsapTabFeedComponent.prototype.feed;
151
+ AsapTabFeedComponent.prototype.feeds;
142
152
  /** @type {?} */
143
153
  AsapTabFeedComponent.prototype.settings;
144
154
  /** @type {?} */
@@ -148,4 +158,4 @@ if (false) {
148
158
  /** @type {?} */
149
159
  AsapTabFeedComponent.prototype.service;
150
160
  }
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC10YWItZmVlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hc2FwLWZlZWQtYmV0YS8iLCJzb3VyY2VzIjpbImxpYi90YWItZmVlZC9hc2FwLXRhYi1mZWVkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNuQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9wRSxNQUFNLE9BQU8sb0JBQW9COzs7OztJQVEvQixZQUNTLE1BQWMsRUFDZCxPQUE0QjtRQUQ1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFKOUIsWUFBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBTWxCLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Ozs7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTs7a0JBQy9CLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7WUFFL0IsK0NBQStDO1lBQy9DLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtnQkFDakQsSUFBSSxDQUFDLFFBQVEs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RSxLQUFLLEVBQUU7dUJBRW5DLEtBQUs7Ozs7SUFGTixvQ0FBbUU7O0lBRW5FLHdDQUF1Qjs7SUFFdkIsdUNBQW9COztJQUdsQixzQ0FBcUI7O0lBQ3JCLHVDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuLi9hc2FwLWZlZWQtYmV0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ2FzYXAtY3J1ZCc7XG5pbXBvcnQgeyBBc2FwRmVlZEJldGFDb21wb25lbnQgfSBmcm9tICcuLi9hc2FwLWZlZWQtYmV0YS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhc2FwLXRhYi1mZWVkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FzYXAtdGFiLWZlZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc2FwLXRhYi1mZWVkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXNhcFRhYkZlZWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZCgnZmVlZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBmZWVkITogQXNhcEZlZWRCZXRhQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpIHNldHRpbmdzOiBhbnk7XG5cbiAgcHVibGljIGNhblNob3cgPSAtMTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZ2xvYmFsOiBHbG9iYWwsXG4gICAgcHVibGljIHNlcnZpY2U6IEFzYXBGZWVkQmV0YVNlcnZpY2VcbiAgKSB7XG4gICAgY29uc29sZS5sb2coXCJbQXNhcFRhYkZlZWRDb21wb25lbnRdXCIsIHRoaXMuc2V0dGluZ3MpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXJ2aWNlLnB1YmxpY2F0aW9uID0gZmFsc2U7XG4gICAgdGhpcy5zZXJ2aWNlLnN0b3JpZXMgPSBmYWxzZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zZXR0aW5ncyAmJiB0aGlzLnNldHRpbmdzKSB7XG4gICAgICBjb25zdCB0YWJzID0gdGhpcy5zZXR0aW5ncy50YWJzO1xuICBcbiAgICAgIC8vIOKchSBTZSBvIGNsaWVudGUgdGVtIGNhbmFsLCBwcmlvcml6YSBvIGNoYW5uZWxcbiAgICAgIGlmICh0YWJzLmNoYW5uZWxfbGlzdCAmJiB0YWJzLmNoYW5uZWxfbGlzdC5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5mZWVkTG9hZCh0YWJzLmNoYW5uZWwpO1xuICAgICAgfVxuICAgICAgLy8g4pyFIENhc28gbsOjbyB0ZW5oYSBjYW5hbCwgbWFudMOpbSBhIG9yZGVtIG9yaWdpbmFsXG4gICAgICBlbHNlIGlmICh0YWJzLmFsbEZlZWQpIHtcbiAgICAgICAgdGhpcy5mZWVkTG9hZCh0YWJzLmFsbEZlZWQpO1xuICAgICAgfSBlbHNlIGlmICh0YWJzLmZlZWQpIHtcbiAgICAgICAgdGhpcy5mZWVkTG9hZCh0YWJzLmZlZWQpO1xuICAgICAgfSBlbHNlIGlmICh0YWJzLmZlZWRfdXNlcnMpIHtcbiAgICAgICAgdGhpcy5mZWVkTG9hZCh0YWJzLmZlZWRfdXNlcnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcblxuICBwdWJsaWMgb25DaGFuZ2VUYWIoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZmVlZExvYWQoZXZlbnQudGFiLnRleHRMYWJlbCk7XG4gIH1cblxuICBwdWJsaWMgZmVlZExvYWQodGFiTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jYW5TaG93ID0gLTE7XG4gICAgaWYgKHRhYk5hbWUgPT0gdGhpcy5zZXR0aW5ncy50YWJzLmNoYW5uZWwpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlcnZpY2UucXVlcnkgPSB7XG4gICAgICAgICAgc2VhcmNoQnk6ICdjaGFubmVsX2lkJyxcbiAgICAgICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZXR0aW5ncy50YWJzLmNoYW5uZWxfbGlzdC5tYXAoYyA9PiBjLmNoYW5uZWxfaWQpLmpvaW4oJywnKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2FuU2hvdyA9IDA7XG4gICAgICB9LCAxMDApO1xuICAgIH1cbiAgICBpZiAodGFiTmFtZSA9PSB0aGlzLnNldHRpbmdzLnRhYnMuZmVlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VydmljZS5xdWVyeSA9IHtcbiAgICAgICAgICBzZWFyY2hCeTogJ3VzZXJfaW5mby5pZCcsXG4gICAgICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5pZCxcbiAgICAgICAgICB0eXBlVmFsdWU6ICdudW1iZXInXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYW5TaG93ID0gMTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICAgIGlmICh0YWJOYW1lID09IHRoaXMuc2V0dGluZ3MudGFicy5mZWVkX3VzZXJzKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnF1ZXJ5ID0ge1xuICAgICAgICAgIHNlYXJjaEJ5OiAndXNlcl9pbmZvLmlkJyxcbiAgICAgICAgICBzZWFyY2hWYWx1ZTogJ2FsbCdcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhblNob3cgPSAyO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gICAgaWYgKHRhYk5hbWUgPT0gdGhpcy5zZXR0aW5ncy50YWJzLmFsbEZlZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlcnZpY2UucXVlcnkgPSB7fVxuICAgICAgICB0aGlzLmNhblNob3cgPSAzO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25OZXdGZWVkKGlkOiBhbnkpIHtcblxuICB9XG5cbn1cbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC10YWItZmVlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hc2FwLWZlZWQtYmV0YS8iLCJzb3VyY2VzIjpbImxpYi90YWItZmVlZC9hc2FwLXRhYi1mZWVkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQTRCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBT3BFLE1BQU0sT0FBTyxvQkFBb0I7Ozs7O0lBUS9CLFlBQ1MsTUFBYyxFQUNkLE9BQTRCO1FBRDVCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUo5QixZQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFNbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7OztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7Ozs7O0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFOztrQkFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUUvQiwrQ0FBK0M7WUFDL0MsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUNqRCxJQUFJ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QUFJLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLENBQUMsRUFBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7WUEvRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixvN0VBQTZDOzthQUU5Qzs7OztZQVBRLE1BQU07WUFETixtQkFBbUI7OztvQkFXekIsWUFBWSxTQUFDLHFCQUFxQjt1QkFFbEMsS0FBSzs7OztJQUZOLHFDQUE4RTs7SUFFOUUsd0NBQXVCOztJQUV2Qix1Q0FBb0I7O0lBR2xCLHNDQUFxQjs7SUFDckIsdUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuLi9hc2FwLWZlZWQtYmV0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEdsb2JhbCB9IGZyb20gJ2FzYXAtY3J1ZCc7XG5pbXBvcnQgeyBBc2FwRmVlZEJldGFDb21wb25lbnQgfSBmcm9tICcuLi9hc2FwLWZlZWQtYmV0YS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhc2FwLXRhYi1mZWVkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FzYXAtdGFiLWZlZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hc2FwLXRhYi1mZWVkLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXNhcFRhYkZlZWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZHJlbihBc2FwRmVlZEJldGFDb21wb25lbnQpIGZlZWRzITogUXVlcnlMaXN0PEFzYXBGZWVkQmV0YUNvbXBvbmVudD47XG5cbiAgQElucHV0KCkgc2V0dGluZ3M6IGFueTtcblxuICBwdWJsaWMgY2FuU2hvdyA9IC0xO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBnbG9iYWw6IEdsb2JhbCxcbiAgICBwdWJsaWMgc2VydmljZTogQXNhcEZlZWRCZXRhU2VydmljZVxuICApIHtcbiAgICBjb25zb2xlLmxvZyhcIltBc2FwVGFiRmVlZENvbXBvbmVudF1cIiwgdGhpcy5zZXR0aW5ncyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlcnZpY2UucHVibGljYXRpb24gPSBmYWxzZTtcbiAgICB0aGlzLnNlcnZpY2Uuc3RvcmllcyA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnNldHRpbmdzICYmIHRoaXMuc2V0dGluZ3MpIHtcbiAgICAgIGNvbnN0IHRhYnMgPSB0aGlzLnNldHRpbmdzLnRhYnM7XG4gIFxuICAgICAgLy8g4pyFIFNlIG8gY2xpZW50ZSB0ZW0gY2FuYWwsIHByaW9yaXphIG8gY2hhbm5lbFxuICAgICAgaWYgKHRhYnMuY2hhbm5lbF9saXN0ICYmIHRhYnMuY2hhbm5lbF9saXN0Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLmZlZWRMb2FkKHRhYnMuY2hhbm5lbCk7XG4gICAgICB9XG4gICAgICAvLyDinIUgQ2FzbyBuw6NvIHRlbmhhIGNhbmFsLCBtYW50w6ltIGEgb3JkZW0gb3JpZ2luYWxcbiAgICAgIGVsc2UgaWYgKHRhYnMuYWxsRmVlZCkge1xuICAgICAgICB0aGlzLmZlZWRMb2FkKHRhYnMuYWxsRmVlZCk7XG4gICAgICB9IGVsc2UgaWYgKHRhYnMuZmVlZCkge1xuICAgICAgICB0aGlzLmZlZWRMb2FkKHRhYnMuZmVlZCk7XG4gICAgICB9IGVsc2UgaWYgKHRhYnMuZmVlZF91c2Vycykge1xuICAgICAgICB0aGlzLmZlZWRMb2FkKHRhYnMuZmVlZF91c2Vycyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuXG4gIHB1YmxpYyBvbkNoYW5nZVRhYihldmVudDogYW55KSB7XG4gICAgdGhpcy5mZWVkTG9hZChldmVudC50YWIudGV4dExhYmVsKTtcbiAgfVxuXG4gIHB1YmxpYyBmZWVkTG9hZCh0YWJOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNhblNob3cgPSAtMTtcbiAgICBpZiAodGFiTmFtZSA9PSB0aGlzLnNldHRpbmdzLnRhYnMuY2hhbm5lbCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VydmljZS5xdWVyeSA9IHtcbiAgICAgICAgICBzZWFyY2hCeTogJ2NoYW5uZWxfaWQnLFxuICAgICAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNldHRpbmdzLnRhYnMuY2hhbm5lbF9saXN0Lm1hcChjID0+IGMuY2hhbm5lbF9pZCkuam9pbignLCcpXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jYW5TaG93ID0gMDtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICAgIGlmICh0YWJOYW1lID09IHRoaXMuc2V0dGluZ3MudGFicy5mZWVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLnF1ZXJ5ID0ge1xuICAgICAgICAgIHNlYXJjaEJ5OiAndXNlcl9pbmZvLmlkJyxcbiAgICAgICAgICBzZWFyY2hWYWx1ZTogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLmlkLFxuICAgICAgICAgIHR5cGVWYWx1ZTogJ251bWJlcidcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhblNob3cgPSAxO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gICAgaWYgKHRhYk5hbWUgPT0gdGhpcy5zZXR0aW5ncy50YWJzLmZlZWRfdXNlcnMpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlcnZpY2UucXVlcnkgPSB7XG4gICAgICAgICAgc2VhcmNoQnk6ICd1c2VyX2luZm8uaWQnLFxuICAgICAgICAgIHNlYXJjaFZhbHVlOiAnYWxsJ1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2FuU2hvdyA9IDI7XG4gICAgICB9LCAxMDApO1xuICAgIH1cbiAgICBpZiAodGFiTmFtZSA9PSB0aGlzLnNldHRpbmdzLnRhYnMuYWxsRmVlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2VydmljZS5xdWVyeSA9IHt9XG4gICAgICAgIHRoaXMuY2FuU2hvdyA9IDM7XG4gICAgICB9LCAxMDApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk5ld0ZlZWQoaWQ6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCdDaGVnb3UgZXZlbnRvIGZlZWRDcmVhdGVkIGNvbSBJRDonLCBpZCk7XG4gIFxuICAgIGlmICh0aGlzLmZlZWRzKSB7XG4gICAgICB0aGlzLmZlZWRzLmZvckVhY2goKGZlZWQpID0+IHtcbiAgICAgICAgZmVlZC5nZXRGZWVkKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgXG5cbn1cbiJdfQ==