asap-feed-beta 12.2.0-dev.2 → 12.2.1-dev.1

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.
Files changed (26) hide show
  1. package/asap-feed-beta.metadata.json +1 -1
  2. package/bundles/asap-feed-beta.umd.js +10 -10
  3. package/bundles/asap-feed-beta.umd.js.map +1 -1
  4. package/bundles/asap-feed-beta.umd.min.js +1 -1
  5. package/bundles/asap-feed-beta.umd.min.js.map +1 -1
  6. package/esm2015/lib/asap-feed-beta.component.js +2 -2
  7. package/esm2015/lib/feed-actions/feed-actions.component.js +1 -1
  8. package/esm2015/lib/feed-comments/feed-comments.component.js +3 -3
  9. package/esm2015/lib/feed-item/feed-item.component.js +3 -3
  10. package/esm2015/lib/feed-publication/feed-modal-item-edit/feed-modal-item-edit.component.js +1 -1
  11. package/esm2015/lib/feed-publication/feed-publication.component.js +1 -1
  12. package/esm2015/lib/feed-publication/modal-announce/modal-announce.component.js +1 -1
  13. package/esm2015/lib/stories/stories.component.js +1 -1
  14. package/esm5/lib/asap-feed-beta.component.js +2 -2
  15. package/esm5/lib/feed-actions/feed-actions.component.js +1 -1
  16. package/esm5/lib/feed-comments/feed-comments.component.js +3 -3
  17. package/esm5/lib/feed-item/feed-item.component.js +3 -3
  18. package/esm5/lib/feed-publication/feed-modal-item-edit/feed-modal-item-edit.component.js +1 -1
  19. package/esm5/lib/feed-publication/feed-publication.component.js +1 -1
  20. package/esm5/lib/feed-publication/modal-announce/modal-announce.component.js +1 -1
  21. package/esm5/lib/stories/stories.component.js +1 -1
  22. package/fesm2015/asap-feed-beta.js +10 -10
  23. package/fesm2015/asap-feed-beta.js.map +1 -1
  24. package/fesm5/asap-feed-beta.js +10 -10
  25. package/fesm5/asap-feed-beta.js.map +1 -1
  26. package/package.json +1 -1
@@ -321,7 +321,7 @@ export class AsapFeedBetaComponent {
321
321
  AsapFeedBetaComponent.decorators = [
322
322
  { type: Component, args: [{
323
323
  selector: 'asap-feed-beta',
324
- template: "<!-- <code>{{publication}}/{{hasID}}/{{isSinglePost}}</code> -->\r\n<div class=\"pb-5\">\r\n <feed-publication [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\r\n<app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\r\n\r\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\r\n<ng-container *ngIf=\"!feeds\" >\r\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\r\n <ng-container *ngFor=\"let item of [0,1]\">\r\n <div class=\"mt-5\">\r\n <mat-card class=\"feed-card\" >\r\n <mat-card-header class=\"feed-header\">\r\n <div mat-card-avatar>\r\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\"></ngx-skeleton-loader>\r\n </div>\r\n <mat-card-title>\r\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'20px','transform': 'initial'}\"></ngx-skeleton-loader>\r\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\"></ngx-skeleton-loader>\r\n </mat-card-title>\r\n\r\n </mat-card-header>\r\n\r\n <ng-container>\r\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\"></ngx-skeleton-loader>\r\n </ng-container>\r\n\r\n </mat-card>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"feeds\">\r\n <ng-container *ngFor=\"let item of feeds\">\r\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\r\n <app-feed-item [owner]=\"this\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\r\n </div>\r\n </ng-container>\r\n</ng-container>\r\n</div>\r\n\r\n<div infiniteScroll \r\n [infiniteScrollDistance]=\"2\" \r\n [infiniteScrollThrottle]=\"2000\"\r\n [infiniteScrollDisabled]=\"\r\n loading || \r\n paginate.count >= paginate.limit || \r\n isSinglePost || \r\n paginate.last_document === paginate.next_document\"\r\n (scrolled)=\"getMore()\">\r\n</div>\r\n\r\n<button *ngIf=\"showToTopButton\" (click)=\"gotoTop()\"\r\n style=\"position: fixed;\r\n bottom: 0;\r\n right: 0;\r\n color:#FFFF;\r\n font-size: 20px;\r\n margin-right: 10px;\r\n margin-bottom: 10px;\r\n height: 35px;\r\n width: 35px;\r\n border: none;\r\n text-align: center;\r\n border-radius: 50%;\r\n outline: none;\r\n transition: all 1s ease-in;\r\n background-color: var(--main-color);\r\n z-index: 99999;\r\n \">\r\n <i class=\"fa fa-angle-up\"></i>\r\n</button>\r\n\r\n",
324
+ template: "<!-- <code>{{publication}}/{{hasID}}/{{isSinglePost}}</code> -->\r\n<feed-publication [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\"\r\n *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\r\n<app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\r\n\r\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\r\n<ng-container *ngIf=\"!feeds\">\r\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\r\n <ng-container *ngFor=\"let item of [0,1]\">\r\n <div class=\"mt-5\">\r\n <mat-card class=\"feed-card\">\r\n <mat-card-header class=\"feed-header\">\r\n <div mat-card-avatar>\r\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\r\n </ngx-skeleton-loader>\r\n </div>\r\n <mat-card-title>\r\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'20px','transform': 'initial'}\">\r\n </ngx-skeleton-loader>\r\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\r\n </ngx-skeleton-loader>\r\n </mat-card-title>\r\n\r\n </mat-card-header>\r\n\r\n <ng-container>\r\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\r\n </ngx-skeleton-loader>\r\n </ng-container>\r\n\r\n </mat-card>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"feeds\">\r\n <ng-container *ngFor=\"let item of feeds\">\r\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\r\n <app-feed-item [owner]=\"this\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\r\n </div>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"2000\" [infiniteScrollDisabled]=\"\r\n loading || \r\n paginate.count >= paginate.limit || \r\n isSinglePost || \r\n paginate.last_document === paginate.next_document\" (scrolled)=\"getMore()\">\r\n</div>\r\n\r\n<button *ngIf=\"showToTopButton\" (click)=\"gotoTop()\" style=\"position: fixed;\r\n bottom: 0;\r\n right: 0;\r\n color:#FFFF;\r\n font-size: 20px;\r\n margin-right: 10px;\r\n margin-bottom: 10px;\r\n height: 35px;\r\n width: 35px;\r\n border: none;\r\n text-align: center;\r\n border-radius: 50%;\r\n outline: none;\r\n transition: all 1s ease-in;\r\n background-color: var(--main-color);\r\n z-index: 99999;\r\n \">\r\n <i class=\"fa fa-angle-up\"></i>\r\n</button>\r\n",
325
325
  styles: ['./asap-feed.beta.componente.scss']
326
326
  }] }
327
327
  ];
@@ -383,4 +383,4 @@ if (false) {
383
383
  /** @type {?} */
384
384
  AsapFeedBetaComponent.prototype.global;
385
385
  }
386
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFPbkMsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7Ozs7SUFxQjlCLFlBQ1ksV0FBNEIsRUFDN0IsRUFBb0IsRUFDcEIsS0FBcUIsRUFDckIsY0FBbUMsRUFDbkMsTUFBYztRQUpiLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM3QixPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXhCbEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHYixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV4QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUliLHlCQUFvQixHQUFHLEdBQUcsQ0FBQztRQUMzQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQVN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDOzs7O0lBRUQsUUFBUTtRQUdKLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQ25ELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7U0FDMUM7UUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUzs7OztRQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLElBQUksS0FBSyxFQUFFO2dCQUNQLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7b0JBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO29CQUV6QixVQUFVOzs7b0JBQUMsR0FBRyxFQUFFO3dCQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM5QixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7aUJBQ1g7cUJBQ0k7b0JBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUNsQjthQUNKO1FBQ0wsQ0FBQyxFQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JELFVBQVU7OztZQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixDQUFDLEdBQUUsR0FBRyxDQUFDLENBQUM7U0FDWDtRQUVELElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSztvQkFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxHQUFHLG1CQUFtQixDQUFDO2FBQ3pFO1NBQ0o7SUFDTCxDQUFDOzs7OztJQUVNLE9BQU8sQ0FBQyxPQUFPLEdBQUcsRUFBRTtRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDaEcsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7OztJQUVNLE9BQU87UUFDVixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVM7Ozs7WUFBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUMzSCxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUc7Ozs7Z0JBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3JCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3pCO2dCQUNMLENBQUMsRUFBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQyxFQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7Ozs7SUFFTSxlQUFlO1FBQ2xCLDhEQUE4RDtRQUM5RCxnREFBZ0Q7UUFDaEQsTUFBTTtRQUVOLHVEQUF1RDtRQUN2RCxpREFBaUQ7UUFDakQsc0JBQXNCO1FBQ3RCLDZCQUE2QjtRQUM3QiwrQ0FBK0M7UUFDL0MseUNBQXlDO1FBQ3pDLG1CQUFtQjtRQUNuQixRQUFRO1FBQ1IsS0FBSztJQUNULENBQUM7Ozs7SUFHRCxXQUFXOztjQUNELGNBQWMsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUM7UUFDL0csSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQzdDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1NBQy9CO2FBQU07WUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztTQUNoQztJQUNMLENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNWLEdBQUcsRUFBRSxDQUFDO1lBQ04sSUFBSSxFQUFFLENBQUM7WUFDUCxRQUFRLEVBQUUsUUFBUTtTQUNyQixDQUFDLENBQUM7SUFDUCxDQUFDOzs7OztJQUVELFNBQVMsQ0FBQyxJQUFJO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFOztvQkFDeEIsTUFBTSxHQUFHLEtBQUs7O3NCQUNaLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtnQkFDckMsSUFBSSxJQUFJLEVBQUU7b0JBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7d0JBQ2hELE1BQU0sR0FBRyxJQUFJLENBQUM7cUJBQ2pCO3lCQUNJLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTs7OEJBQ1osTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3dCQUM3QixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7NEJBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0NBQ2pFLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0NBQ2QsTUFBTTs2QkFDVDtpQ0FDSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQ0FDdkMsTUFBTSxHQUFHLElBQUksQ0FBQztnQ0FDZCxNQUFNOzZCQUNUO3lCQUNKO3FCQUNKO2lCQUNKO2dCQUNELE9BQU8sTUFBTSxDQUFDO2FBQ2pCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7OztJQUVNLFNBQVMsQ0FBQyxFQUFFO1FBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUzs7OztRQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7O2dCQUNqRCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBRTdCLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtnQkFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7YUFDckI7WUFFRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2FBQ3RCO1lBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFO29CQUM5QixLQUFLLEdBQUcsQ0FBQyxDQUFDO29CQUNWLE1BQU07aUJBQ1Q7YUFDSjtZQUVELElBQUksQ0FBQyxLQUFLLEdBQUc7Z0JBQ1QsR0FBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO2dCQUM5QixHQUFJLFFBQVEsQ0FBQyxJQUFJO2dCQUNqQixHQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQzthQUM5QixDQUFDO1lBRUYsVUFBVTs7O1lBQUMsR0FBRyxFQUFFOztzQkFDTixFQUFFLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUQsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLENBQUMsR0FBRSxHQUFHLENBQUMsQ0FBQztRQUVaLENBQUMsRUFBQyxDQUFDO0lBQ1AsQ0FBQzs7Ozs7SUFFTSxXQUFXLENBQUMsSUFBSTtRQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLHlDQUF5QyxFQUFFLElBQUksQ0FBQyxDQUFDOztjQUN2RCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7O1lBRWpDLFFBQVEsR0FBRztZQUNYLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzlCOztZQUVHLElBQUksR0FBRztZQUNQLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNoQixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN0QixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO2dCQUNYLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUN0QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3hCO1NBQ0o7O2NBRUssVUFBVSxHQUFHLGFBQWEsSUFBSSxDQUFDLEVBQUUsRUFBRTs7Y0FDbkMsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUN4QyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUk7Ozs7UUFBQyxDQUFDLFFBQVEsRUFBRSxFQUFFOztrQkFDL0IsVUFBVSxHQUFHLGFBQWEsSUFBSSxDQUFDLEVBQUUsVUFBVSxJQUFJLENBQUMsRUFBRSxFQUFFOztrQkFDcEQsUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztZQUN4QyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUzs7OztZQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO29CQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUk7Ozs7b0JBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTt3QkFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3Q0FBd0MsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDcEUsQ0FBQyxFQUFDLENBQUM7aUJBQ047cUJBQ0k7b0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDckU7WUFDTCxDQUFDLEVBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7WUE3UEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLDZnR0FBOEM7eUJBQ3JDLGtDQUFrQzthQUM5Qzs7OztZQVZRLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixNQUFNOzs7aUJBWVYsS0FBSzs0QkFDTCxLQUFLOzBCQXlITCxZQUFZLFNBQUMsZUFBZTs7OztJQTdIN0Isd0NBQXNCOztJQUN0Qix3Q0FBc0I7O0lBRXRCLG1DQUFZOztJQUNaLDhDQUErQjs7SUFFL0Isc0NBQXFCOztJQUVyQix3Q0FBc0I7O0lBQ3RCLHlDQUF3Qjs7SUFDeEIsNENBQTBCOztJQUMxQixzQ0FBb0I7O0lBQ3BCLHVDQUFjOztJQUNkLHNDQUFhOztJQUNiLHlDQUFnQjs7SUFDaEIscURBQWtDOztJQUNsQyxnREFBK0I7O0lBQy9CLDZDQUE0Qjs7Ozs7SUFHeEIsNENBQW9DOztJQUNwQyxtQ0FBMkI7O0lBQzNCLHNDQUE0Qjs7SUFDNUIsK0NBQTBDOztJQUMxQyx1Q0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFzYXBGZWVkU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXNhcC1mZWVkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuL2FzYXAtZmVlZC1iZXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdhc2FwLWNydWQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FzYXAtZmVlZC1iZXRhJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hc2FwLWZlZWQtYmV0YS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZXM6IFsnLi9hc2FwLWZlZWQuYmV0YS5jb21wb25lbnRlLnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNhcEZlZWRCZXRhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAgIHB1YmxpYyBoYXNGZWVkID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBsb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBpZDtcclxuICAgIEBJbnB1dCgpIGlnbm9yZUNvbnRyb2wgPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgaGFzSUQgPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgc3RvcmllcyA9IHRydWU7XHJcbiAgICBwdWJsaWMgYW5ub3VuY2UgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBwdWJsaWNhdGlvbiA9IHRydWU7XHJcbiAgICBwdWJsaWMgcXVlcnkgPSBudWxsO1xyXG4gICAgcHVibGljIGZlZWRJRDtcclxuICAgIHB1YmxpYyBmZWVkcztcclxuICAgIHB1YmxpYyBwYWdpbmF0ZTtcclxuICAgIHB1YmxpYyB0b3BQb3NUb1N0YXJ0U2hvd2luZyA9IDQwMDtcclxuICAgIHB1YmxpYyBzaG93VG9Ub3BCdXR0b24gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc1NpbmdsZVBvc3QgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGZlZWRTZXJ2aWNlOiBBc2FwRmVlZFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGRiOiBBbmd1bGFyRmlyZXN0b3JlLFxyXG4gICAgICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHVibGljIGNvbnRyb2xTZXJ2aWNlOiBBc2FwRmVlZEJldGFTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBnbG9iYWw6IEdsb2JhbCxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5xdWVyeSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICghdGhpcy5pZ25vcmVDb250cm9sKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2UgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLmFubm91bmNlO1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JpZXMgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLnN0b3JpZXM7XHJcbiAgICAgICAgICAgIHRoaXMucHVibGljYXRpb24gPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLnB1YmxpY2F0aW9uO1xyXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5jb250cm9sU2VydmljZS5xdWVyeTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKCdRdWVyeSAtPicsIHRoaXMucXVlcnkpO1xyXG5cclxuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW0gPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUGFyYW1zIC0+JywgcGFyYW0pO1xyXG4gICAgICAgICAgICBpZiAocGFyYW0pIHtcclxuICAgICAgICAgICAgICAgIGlmIChwYXJhbS5mZWVkX2lkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWVkSUQgPSBwYXJhbS5mZWVkX2lkO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaW5nbGVQb3N0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RmVlZCh0aGlzLmZlZWRJRCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgNjAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RmVlZCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jaGVja0ZlZWRDaGFuZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0hhc0NoYW5nZXMgLT4nLCBjaGFuZ2VzKTtcclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuZmVlZElEKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdIYXNDaGFuZ2VzIFtmZWVkSURdLT4nLCBjaGFuZ2VzLmZlZWRJRCk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcclxuICAgICAgICAgICAgfSwgNjAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLmlkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0lEID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSkgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeS5zZWFyY2hCeSA9ICd1c2VyX2luZm8uaWQnO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeS5zZWFyY2hWYWx1ZSA9IHRoaXMuaWQgKyAnJnR5cGVWYWx1ZT1udW1iZXInO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRGZWVkKGZlZWRfaWQgPSAnJykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdbZ2V0RmVlZF0gUXVlcnknLCB0aGlzLnF1ZXJ5KTtcclxuICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldEZlZWQoZmVlZF9pZCwgdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLCB0aGlzLnF1ZXJ5KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IHJlc3BvbnNlLmRhdGE7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGZWVkcycsIHRoaXMuZmVlZHMpO1xyXG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRlID0gcmVzcG9uc2UucGFnaW5hdGlvbjtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzRmVlZCA9ICh0aGlzLmZlZWRzLmxlbmd0aCA+IDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRNb3JlKCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdbZ2V0TW9yZV0nLCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQpO1xyXG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRNb3JlRmVlZCg1LCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQsIHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSwgdGhpcy5xdWVyeSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNwb25zZS5kYXRhLm1hcChpdGVtID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wZXJtaXR0ZWQoaXRlbSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWVkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGUgPSByZXNwb25zZS5wYWdpbmF0aW9uO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2hlY2tGZWVkQ2hhbmdlKCkge1xyXG4gICAgICAgIC8vIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQsIHJlZiA9PiB7XHJcbiAgICAgICAgLy8gICAgIHJldHVybiByZWYub3JkZXJCeSgndXBkYXRlZF9hdCcsICdkZXNjJyk7XHJcbiAgICAgICAgLy8gfSk7XHJcblxyXG4gICAgICAgIC8vIGNvbGxlY3Rpb24uc25hcHNob3RDaGFuZ2VzKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAvLyAgICAgY29uc29sZS5sb2coXCJbY2hlY2tGZWVkQ2hhbmdlXVwiLHJlc3BvbnNlKTtcclxuICAgICAgICAvLyAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIltjaGVja0ZlZWRDaGFuZ2VdXCIpXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcclxuICAgICAgICAvLyAgICAgICAgIH0sIDYwMCk7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9KVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxyXG4gICAgY2hlY2tTY3JvbGwoKSB7XHJcbiAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fCAwO1xyXG4gICAgICAgIGlmIChzY3JvbGxQb3NpdGlvbiA+PSB0aGlzLnRvcFBvc1RvU3RhcnRTaG93aW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1RvVG9wQnV0dG9uID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnb3RvVG9wKCkge1xyXG4gICAgICAgIHdpbmRvdy5zY3JvbGwoe1xyXG4gICAgICAgICAgICB0b3A6IDAsXHJcbiAgICAgICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHBlcm1pdHRlZChwb3N0KSB7XHJcbiAgICAgICAgaWYgKHBvc3QucGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICBpZiAocG9zdC5wZXJtaXNzaW9uLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodXNlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3N0LnVzZXJfaW5mbyAmJiBwb3N0LnVzZXJfaW5mby5pZCA9PSB1c2VyLmlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHVzZXIuZXh0cmFzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4dHJhcyA9IHVzZXIuZXh0cmFzWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBlcm0gb2YgcG9zdC5wZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHBlcm0uZmllbGQgPT0gJ211bHRpLWNvbnRhJykgJiYgKHBlcm0udmFsdWUgPT0gdXNlci5jbGllbnRfaWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV4dHJhc1twZXJtLmZpZWxkXSA9PSBwZXJtLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uTmV3RmVlZChpZCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdbb25OZXdGZWVkXScsIGlkKTtcclxuICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldEZlZWQoaWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgaW5kZXggPSB0aGlzLmZlZWRzLmxlbmd0aDtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmVlZCBvZiByZXNwb25zZS5kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBmZWVkLmZvY3VzID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZm9yIChjb25zdCBmZWVkIG9mIHRoaXMuZmVlZHMpIHtcclxuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZlZWRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW29uTmV3RmVlZF0gRmVlZCcsIHRoaXMuZmVlZHNbaV0pO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZlZWRzW2ldLmlzSGlnaGxpZ2h0ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuZmVlZHMgPSBbXHJcbiAgICAgICAgICAgICAgICAuLi4gdGhpcy5mZWVkcy5zbGljZSgwLCBpbmRleCksXHJcbiAgICAgICAgICAgICAgICAuLi4gcmVzcG9uc2UuZGF0YSxcclxuICAgICAgICAgICAgICAgIC4uLiB0aGlzLmZlZWRzLnNsaWNlKGluZGV4KVxyXG4gICAgICAgICAgICBdO1xyXG5cclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ZvY3VzLW9uLW1lJylbMF07XHJcbiAgICAgICAgICAgICAgICBlbC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICAgICAgICAgICAgfSwgNTAwKTtcclxuXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNlbmRWaXNpYmxlKGl0ZW0pIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIltzZW5kVmlzaWJsZV0gbWFyY2FuZG8gY29tbyB2aXN1YWxpemFkb1wiLCBpdGVtKTtcclxuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xyXG5cclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIHBvc3RfaWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgICBjcmVhdGVkX2F0OiBpdGVtLnVwZGF0ZWRfYXRcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgcG9zdF9pZDogaXRlbS5pZCxcclxuICAgICAgICAgICAgY3JlYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgdXBkYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgdXNlcl9pbmZvOiB7XHJcbiAgICAgICAgICAgICAgICBpZDogdXNlci5pZCxcclxuICAgICAgICAgICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KCksXHJcbiAgICAgICAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsXHJcbiAgICAgICAgICAgICAgICBwaWN0dXJlOiB1c2VyLnBpY3R1cmVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IGRvY3VtZW50SUQgPSBgZmVlZC12aWV3LyR7aXRlbS5pZH1gO1xyXG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kYi5kb2MoZG9jdW1lbnRJRCk7XHJcbiAgICAgICAgZG9jdW1lbnQuc2V0KHBvc3REYXRhKS50aGVuKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudElEID0gYGZlZWQtdmlldy8ke2l0ZW0uaWR9L3ZpZXdzLyR7dXNlci5pZH1gO1xyXG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuZGIuZG9jKGRvY3VtZW50SUQpO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5nZXQoKS5zdWJzY3JpYmUoKGRvYykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFkb2MuZXhpc3RzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jLnJlZi5zZXQoZGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJbc2VuZFZpc2libGVdIG1hcmNhZG8gY29tbyB2aXN1YWxpemFkb1wiLCByZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIltzZW5kVmlzaWJsZV0gasOhIGZvaSBtYXJjYWRvIGNvbW8gdmlzdWFsaXphZG9cIiwgZG9jKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGIuY29sbGVjdGlvbihgJHtkb2N1bWVudElEfS9oaXN0b3J5YCkuYWRkKGRhdGEpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFPbkMsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7Ozs7SUFxQjlCLFlBQ1ksV0FBNEIsRUFDN0IsRUFBb0IsRUFDcEIsS0FBcUIsRUFDckIsY0FBbUMsRUFDbkMsTUFBYztRQUpiLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM3QixPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFDbkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXhCbEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHYixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV4QixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBRWQsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsVUFBSyxHQUFHLElBQUksQ0FBQztRQUliLHlCQUFvQixHQUFHLEdBQUcsQ0FB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QUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUFDLENBQUM7SUFDUCxDQUFDOzs7WUE3UEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHl6RkFBOEM7eUJBQ3JDLGtDQUFrQzthQUM5Qzs7OztZQVZRLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixNQUFNOzs7aUJBWVYsS0FBSzs0QkFDTCxLQUFLOzBCQXlITCxZQUFZLFNBQUMsZUFBZTs7OztJQTdIN0Isd0NBQXNCOztJQUN0Qix3Q0FBc0I7O0lBRXRCLG1DQUFZOztJQUNaLDhDQUErQjs7SUFFL0Isc0NBQXFCOztJQUVyQix3Q0FBc0I7O0lBQ3RCLHlDQUF3Qjs7SUFDeEIsNENBQTBCOztJQUMxQixzQ0FBb0I7O0lBQ3BCLHVDQUFjOztJQUNkLHNDQUFhOztJQUNiLHlDQUFnQjs7SUFDaEIscURBQWtDOztJQUNsQyxnREFBK0I7O0lBQy9CLDZDQUE0Qjs7Ozs7SUFHeEIsNENBQW9DOztJQUNwQyxtQ0FBMkI7O0lBQzNCLHNDQUE0Qjs7SUFDNUIsK0NBQTBDOztJQUMxQyx1Q0FBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFzYXBGZWVkU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXNhcC1mZWVkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbmd1bGFyRmlyZXN0b3JlIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9maXJlc3RvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuL2FzYXAtZmVlZC1iZXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHbG9iYWwgfSBmcm9tICdhc2FwLWNydWQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FzYXAtZmVlZC1iZXRhJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hc2FwLWZlZWQtYmV0YS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZXM6IFsnLi9hc2FwLWZlZWQuYmV0YS5jb21wb25lbnRlLnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNhcEZlZWRCZXRhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAgIHB1YmxpYyBoYXNGZWVkID0gdHJ1ZTtcclxuICAgIHB1YmxpYyBsb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKSBpZDtcclxuICAgIEBJbnB1dCgpIGlnbm9yZUNvbnRyb2wgPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgaGFzSUQgPSBmYWxzZTtcclxuXHJcbiAgICBwdWJsaWMgc3RvcmllcyA9IHRydWU7XHJcbiAgICBwdWJsaWMgYW5ub3VuY2UgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBwdWJsaWNhdGlvbiA9IHRydWU7XHJcbiAgICBwdWJsaWMgcXVlcnkgPSBudWxsO1xyXG4gICAgcHVibGljIGZlZWRJRDtcclxuICAgIHB1YmxpYyBmZWVkcztcclxuICAgIHB1YmxpYyBwYWdpbmF0ZTtcclxuICAgIHB1YmxpYyB0b3BQb3NUb1N0YXJ0U2hvd2luZyA9IDQwMDtcclxuICAgIHB1YmxpYyBzaG93VG9Ub3BCdXR0b24gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpc1NpbmdsZVBvc3QgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGZlZWRTZXJ2aWNlOiBBc2FwRmVlZFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGRiOiBBbmd1bGFyRmlyZXN0b3JlLFxyXG4gICAgICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHVibGljIGNvbnRyb2xTZXJ2aWNlOiBBc2FwRmVlZEJldGFTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyBnbG9iYWw6IEdsb2JhbCxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5xdWVyeSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgICAgIFxyXG4gICAgICAgIGlmICghdGhpcy5pZ25vcmVDb250cm9sKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2UgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLmFubm91bmNlO1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JpZXMgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLnN0b3JpZXM7XHJcbiAgICAgICAgICAgIHRoaXMucHVibGljYXRpb24gPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLnB1YmxpY2F0aW9uO1xyXG4gICAgICAgICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5jb250cm9sU2VydmljZS5xdWVyeTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKCdRdWVyeSAtPicsIHRoaXMucXVlcnkpO1xyXG5cclxuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW0gPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUGFyYW1zIC0+JywgcGFyYW0pO1xyXG4gICAgICAgICAgICBpZiAocGFyYW0pIHtcclxuICAgICAgICAgICAgICAgIGlmIChwYXJhbS5mZWVkX2lkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWVkSUQgPSBwYXJhbS5mZWVkX2lkO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTaW5nbGVQb3N0ID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RmVlZCh0aGlzLmZlZWRJRCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgNjAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RmVlZCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jaGVja0ZlZWRDaGFuZ2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0hhc0NoYW5nZXMgLT4nLCBjaGFuZ2VzKTtcclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuZmVlZElEKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdIYXNDaGFuZ2VzIFtmZWVkSURdLT4nLCBjaGFuZ2VzLmZlZWRJRCk7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcclxuICAgICAgICAgICAgfSwgNjAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLmlkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0lEID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSkgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeS5zZWFyY2hCeSA9ICd1c2VyX2luZm8uaWQnO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeS5zZWFyY2hWYWx1ZSA9IHRoaXMuaWQgKyAnJnR5cGVWYWx1ZT1udW1iZXInO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRGZWVkKGZlZWRfaWQgPSAnJykge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdbZ2V0RmVlZF0gUXVlcnknLCB0aGlzLnF1ZXJ5KTtcclxuICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldEZlZWQoZmVlZF9pZCwgdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLCB0aGlzLnF1ZXJ5KS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IHJlc3BvbnNlLmRhdGE7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGZWVkcycsIHRoaXMuZmVlZHMpO1xyXG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRlID0gcmVzcG9uc2UucGFnaW5hdGlvbjtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzRmVlZCA9ICh0aGlzLmZlZWRzLmxlbmd0aCA+IDApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRNb3JlKCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdbZ2V0TW9yZV0nLCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQpO1xyXG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRNb3JlRmVlZCg1LCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQsIHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSwgdGhpcy5xdWVyeSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNwb25zZS5kYXRhLm1hcChpdGVtID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wZXJtaXR0ZWQoaXRlbSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWVkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdGUgPSByZXNwb25zZS5wYWdpbmF0aW9uO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2hlY2tGZWVkQ2hhbmdlKCkge1xyXG4gICAgICAgIC8vIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQsIHJlZiA9PiB7XHJcbiAgICAgICAgLy8gICAgIHJldHVybiByZWYub3JkZXJCeSgndXBkYXRlZF9hdCcsICdkZXNjJyk7XHJcbiAgICAgICAgLy8gfSk7XHJcblxyXG4gICAgICAgIC8vIGNvbGxlY3Rpb24uc25hcHNob3RDaGFuZ2VzKCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcclxuICAgICAgICAvLyAgICAgY29uc29sZS5sb2coXCJbY2hlY2tGZWVkQ2hhbmdlXVwiLHJlc3BvbnNlKTtcclxuICAgICAgICAvLyAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIltjaGVja0ZlZWRDaGFuZ2VdXCIpXHJcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcclxuICAgICAgICAvLyAgICAgICAgIH0sIDYwMCk7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9KVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxyXG4gICAgY2hlY2tTY3JvbGwoKSB7XHJcbiAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSB3aW5kb3cucGFnZVlPZmZzZXQgfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCB8fCBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCB8fCAwO1xyXG4gICAgICAgIGlmIChzY3JvbGxQb3NpdGlvbiA+PSB0aGlzLnRvcFBvc1RvU3RhcnRTaG93aW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1RvVG9wQnV0dG9uID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnb3RvVG9wKCkge1xyXG4gICAgICAgIHdpbmRvdy5zY3JvbGwoe1xyXG4gICAgICAgICAgICB0b3A6IDAsXHJcbiAgICAgICAgICAgIGxlZnQ6IDAsXHJcbiAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHBlcm1pdHRlZChwb3N0KSB7XHJcbiAgICAgICAgaWYgKHBvc3QucGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICBpZiAocG9zdC5wZXJtaXNzaW9uLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAodXNlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3N0LnVzZXJfaW5mbyAmJiBwb3N0LnVzZXJfaW5mby5pZCA9PSB1c2VyLmlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHVzZXIuZXh0cmFzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4dHJhcyA9IHVzZXIuZXh0cmFzWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBlcm0gb2YgcG9zdC5wZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHBlcm0uZmllbGQgPT0gJ211bHRpLWNvbnRhJykgJiYgKHBlcm0udmFsdWUgPT0gdXNlci5jbGllbnRfaWQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV4dHJhc1twZXJtLmZpZWxkXSA9PSBwZXJtLnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uTmV3RmVlZChpZCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdbb25OZXdGZWVkXScsIGlkKTtcclxuICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldEZlZWQoaWQpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgaW5kZXggPSB0aGlzLmZlZWRzLmxlbmd0aDtcclxuXHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmVlZCBvZiByZXNwb25zZS5kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBmZWVkLmZvY3VzID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZm9yIChjb25zdCBmZWVkIG9mIHRoaXMuZmVlZHMpIHtcclxuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZlZWRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW29uTmV3RmVlZF0gRmVlZCcsIHRoaXMuZmVlZHNbaV0pO1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmZlZWRzW2ldLmlzSGlnaGxpZ2h0ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuZmVlZHMgPSBbXHJcbiAgICAgICAgICAgICAgICAuLi4gdGhpcy5mZWVkcy5zbGljZSgwLCBpbmRleCksXHJcbiAgICAgICAgICAgICAgICAuLi4gcmVzcG9uc2UuZGF0YSxcclxuICAgICAgICAgICAgICAgIC4uLiB0aGlzLmZlZWRzLnNsaWNlKGluZGV4KVxyXG4gICAgICAgICAgICBdO1xyXG5cclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ZvY3VzLW9uLW1lJylbMF07XHJcbiAgICAgICAgICAgICAgICBlbC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcclxuICAgICAgICAgICAgfSwgNTAwKTtcclxuXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNlbmRWaXNpYmxlKGl0ZW0pIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIltzZW5kVmlzaWJsZV0gbWFyY2FuZG8gY29tbyB2aXN1YWxpemFkb1wiLCBpdGVtKTtcclxuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xyXG5cclxuICAgICAgICBsZXQgcG9zdERhdGEgPSB7XHJcbiAgICAgICAgICAgIHBvc3RfaWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxyXG4gICAgICAgICAgICBjcmVhdGVkX2F0OiBpdGVtLnVwZGF0ZWRfYXRcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgcG9zdF9pZDogaXRlbS5pZCxcclxuICAgICAgICAgICAgY3JlYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgdXBkYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgdXNlcl9pbmZvOiB7XHJcbiAgICAgICAgICAgICAgICBpZDogdXNlci5pZCxcclxuICAgICAgICAgICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KCksXHJcbiAgICAgICAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsXHJcbiAgICAgICAgICAgICAgICBwaWN0dXJlOiB1c2VyLnBpY3R1cmVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IGRvY3VtZW50SUQgPSBgZmVlZC12aWV3LyR7aXRlbS5pZH1gO1xyXG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kYi5kb2MoZG9jdW1lbnRJRCk7XHJcbiAgICAgICAgZG9jdW1lbnQuc2V0KHBvc3REYXRhKS50aGVuKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudElEID0gYGZlZWQtdmlldy8ke2l0ZW0uaWR9L3ZpZXdzLyR7dXNlci5pZH1gO1xyXG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuZGIuZG9jKGRvY3VtZW50SUQpO1xyXG4gICAgICAgICAgICBkb2N1bWVudC5nZXQoKS5zdWJzY3JpYmUoKGRvYykgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFkb2MuZXhpc3RzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9jLnJlZi5zZXQoZGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJbc2VuZFZpc2libGVdIG1hcmNhZG8gY29tbyB2aXN1YWxpemFkb1wiLCByZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIltzZW5kVmlzaWJsZV0gasOhIGZvaSBtYXJjYWRvIGNvbW8gdmlzdWFsaXphZG9cIiwgZG9jKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGIuY29sbGVjdGlvbihgJHtkb2N1bWVudElEfS9oaXN0b3J5YCkuYWRkKGRhdGEpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
@@ -326,7 +326,7 @@ FeedActionsComponent.decorators = [
326
326
  { type: Component, args: [{
327
327
  selector: 'feed-actions',
328
328
  template: "<!-- <popover-content #popoverShares \r\n placement=\"placement\"\r\n [animation]=\"true\" \r\n [closeOnClickOutside]=\"true\">\r\n <div class=\"row p-2\">\r\n <div class=\"col-sm-12\">\r\n <b>Compartilhe este Post</b>\r\n <p><a (click)=\"sharePost('whatsapp')\"><img src=\"https://image.flaticon.com/icons/svg/1384/1384055.svg\" width=\"10%\" alt=\"\">Whatsapp</a></p>\r\n <p><a (click)=\"sharePost('linkedin')\"><img src=\"https://image.flaticon.com/icons/svg/179/179330.svg\" width=\"10%\" alt=\"\">Linkedin</a></p>\r\n <p><a (click)=\"sharePost('telegram')\"><img src=\"https://image.flaticon.com/icons/svg/2111/2111646.svg\" width=\"10%\" alt=\"\">Telegram</a></p>\r\n </div>\r\n </div>\r\n</popover-content> *ngIf=\"global.loggedUser()\"-->\r\n\r\n<mat-card-actions>\r\n <ng-container *ngIf=\"global.loggedUser()\">\r\n <div class=\"animated feed-actions\">\r\n <ng-container >\r\n\r\n <a class=\"mr-2\" (click)=\"sendLike()\" [ngClass]=\"{ 'is-liked': likeForMe, 'disabled-like': onSendLike }\">\r\n <i class=\"fa fa-thumbs-up\"></i>\r\n <span>{{ 0 || likes?.length }}</span>\r\n </a>\r\n <a class=\"mr-2 \">\r\n <i class=\"fa fa-comments\"></i>\r\n <span>{{ 0 || comments?.length }}</span>\r\n </a>\r\n \r\n <!-- <a class=\"mr-4 animated clickable\" (click)=\"sharePost('whatsapp')\" [ngClass]=\"{ 'is-liked': sharedForMe, 'disabled-like': onSendShared }\">\r\n <img src=\"https://res.cloudinary.com/agencia-midia9/image/upload/v1593079306/ASAP/share_ln0xno.svg\" width=\"4%\">\r\n <span>{{ 0 || shareds?.length }}</span>\r\n </a> -->\r\n <div class=\"dropdown minh-4\" style=\"display:inline-block\">\r\n <a class=\"animated\" [ngClass]=\"{ 'is-liked': sharedForMe, 'disabled-like': onSendShared }\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n <i class=\"fa fa-share\"></i> {{ 0 || shareds?.length }}\r\n </a>\r\n <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\">\r\n <a class=\"dropdown-item\" (click)=\"sharePost('whatsapp')\"><i class=\"fa fa-whatsapp\"></i> Whatsapp</a>\r\n <!-- <a class=\"dropdown-item\" (click)=\"sharePost('facebook')\"><i class=\"fa fa-facebook\"></i> Facebook</a>\r\n <a class=\"dropdown-item\" (click)=\"sharePost('linkedin')\"><i class=\"fa fa-linkedin\"></i> Linkedin</a>\r\n <a class=\"dropdown-item\" (click)=\"sharePost('telegram')\"><i class=\"fa fa-telegram\"></i> Telegram</a> -->\r\n <a class=\"dropdown-item\" (click)=\"sharePost('link')\"><i class=\"fa fa-clipboard\"></i> Copiar Link</a>\r\n </div>\r\n </div>\r\n \r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n</mat-card-actions>",
329
- styles: [".popover{padding:7px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7)}", "li,ul{list-style:none!important}a,a:hover{text-decoration:none}.text-primary{color:var(--main-color)}.card{border-radius:6px;box-shadow:1px 1px 10px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 10px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 10px rgba(201,191,187,.7);border:none;margin-bottom:30px;margin-top:0}.card .card-content{flex:1 1 auto;padding:1.25rem}.comments{margin:30px -15px}.comments h4{font-size:16px;color:#414141;margin-bottom:0;font-weight:600}.comments p{margin:5px 15px 5px 65px;font-size:14px;word-break:break-all}.post-text{white-space:pre-wrap!important;font-size:14px}.form-feed{width:100%;margin:0 0 25px!important;padding:10px 15px!important;border-radius:8px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7);background-color:var(--bg-card)!important}.form-feed .title{font-size:16px;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:10px}.form-feed textarea{float:left;width:calc(100% - 50px);border-bottom:1px solid #eee;border-top:transparent;border-left:transparent;border-right:transparent;box-shadow:none;padding:5px 10px;outline:0!important}.form-input-btn a{float:right;border:none!important;box-shadow:none!important;background:0 0;padding:0;margin-top:12px;position:relative;right:0;left:0;margin-bottom:0;color:#8e8994}.form-input-btn a .material-icons{font-size:18px}.mat-dialog-container{padding:0!important}.form-comment{width:100%;margin:0!important;padding:15px 0 0!important;border-top:1px solid #eee}.form-comment input[type=text]{float:left;width:calc(100% - 50px);border:1px solid #eee;box-shadow:none;border-radius:30px;padding:5px 10px;outline:0}input::-webkit-input-placeholder{color:#ccc}input::-moz-placeholder{color:#ccc}input:-ms-input-placeholder{color:#ccc}input::-ms-input-placeholder{color:#ccc}input::placeholder{color:#ccc}.avatar-30{float:left;width:30px;height:30px;margin-right:10px;border-radius:50%}.avatar-30-null{display:flex;align-items:center;justify-content:center;float:left;width:30px;height:30px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb}.comment-time{position:absolute;right:15px}.avatar-45{float:left;width:40px;height:40px;margin-right:10px;border-radius:50%}.avatar-45-null{display:flex;align-items:center;justify-content:center;float:left;width:40px;height:40px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb;border:1.3px solid var(--main-color)}.super-post{position:absolute;right:15px;top:10px;font-size:1.8em;color:#888}.icons-comments{margin:10px 0 0;padding:10px 20px;border-top:1px solid #eee;border-bottom:1px solid #eee}.icons-comments li{display:inline-block;margin-right:30px;font-size:14px}.icons-comments li:last-child{margin-right:0;position:absolute;right:20px}.icons-comments li a{color:#4a4a4a;cursor:pointer}.icons-comments li a.active,.icons-comments li a:hover{color:var(--main-color)}.icons-comments .fa{font-size:16px}.card-file{width:100%;margin:0 auto 30px;box-shadow:0 0 30px rgba(204,204,204,.4);border:none;border-radius:12px;transition:.5s}.card-file:hover{box-shadow:0 0 30px rgba(204,204,204,.8)}.card-file .card-cover{display:flex;align-items:center;justify-content:center;padding:15px;position:relative;width:100%;height:160px;border-top-left-radius:16px;border-top-right-radius:12px;-o-object-fit:cover;object-fit:cover;background-size:cover;background-position:center;z-index:1;background:var(--main-color);color:#fff!important}.card-file .card-content{height:auto;padding:0 15px}.card-file .card-content .description{color:#888}.card-file .title{color:#fff;margin-bottom:0;font-size:18px;text-shadow:2px 2px 2px #101010}.btn-feed{width:auto;font-size:12px;padding:2px 5px;border-radius:30px;font-weight:600;text-transform:capitalize}.btn-group-xs>.btn,.btn-xs{padding:2px 15px 3px;font-size:13px;line-height:1;border-radius:30px}.btn-primary,.btn-primary:hover{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary.focus,.btn-primary:focus{background-color:var(--bg-btn);border-color:var(--bg-btn);box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-primary.disabled,.btn-primary:disabled,.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary{color:#fff;background-color:#111;border-color:#111}.btn-secondary:hover{color:#fff;background-color:#333;border-color:#333}.btn-secondary.focus,.btn-secondary:focus{background-color:#333;border-color:#333;box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#111;border-color:#111}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#333;border-color:#333}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.ribbon{width:150px;height:150px;overflow:hidden;position:absolute;z-index:1}.ribbon::after,.ribbon::before{position:absolute;z-index:-1;content:\"\";display:block;border:5px solid var(--bg-btn)}.ribbon span{position:absolute;display:block;width:225px;padding:15px 0;background-color:var(--bg-btn);box-shadow:0 5px 10px rgba(0,0,0,.1);color:#fff;font:700 18px/1 Lato,sans-serif;text-shadow:0 1px 1px rgba(0,0,0,.2);text-transform:uppercase;text-align:center}.ribbon-top-left{top:-10px;left:-10px;background:0 0}.ribbon-top-left::after,.ribbon-top-left::before{border-top-color:transparent;border-left-color:transparent}.ribbon-top-left::before{top:0;right:0}.ribbon-top-left::after{bottom:0;left:0}.ribbon-top-left span{right:-25px;top:30px;transform:rotate(-45deg)}.ribbon-top-right{top:-10px;right:-10px;background:0 0!important}.ribbon-top-right::after,.ribbon-top-right::before{border-top-color:transparent;border-right-color:transparent}.ribbon-top-right::before{top:0;left:0}.ribbon-top-right::after{bottom:0;right:0}.ribbon-top-right span{left:-25px;top:30px;transform:rotate(45deg)}.ribbon-bottom-left{bottom:-10px;left:-10px}.ribbon-bottom-left::after,.ribbon-bottom-left::before{border-bottom-color:transparent;border-left-color:transparent}.ribbon-bottom-left::before{bottom:0;right:0}.ribbon-bottom-left::after{top:0;left:0}.ribbon-bottom-left span{right:-25px;bottom:30px;transform:rotate(225deg)}.ribbon-bottom-right{bottom:-10px;right:-10px}.ribbon-bottom-right::after,.ribbon-bottom-right::before{border-bottom-color:transparent;border-right-color:transparent}.ribbon-bottom-right::before{bottom:0;left:0}.ribbon-bottom-right::after{top:0;right:0}.ribbon-bottom-right span{left:-25px;bottom:30px;transform:rotate(-225deg)}.video-container{min-height:200px}.video-container img{width:100%;-o-object-fit:cover;object-fit:cover;-webkit-filter:blur(10px);filter:blur(10px)}.video-player{top:0;left:1px;width:calc(100% - 2px)}.tmp-file-buttons-overlay{opacity:1}.overlayed{opacity:1!important;visibility:visible}.tmp-file-status-overlay{position:absolute;background:rgba(0,0,0,.5);text-align:center;z-index:9999999999;color:#fff;width:156px;height:120px;padding:20px}.tmp-file-status-overlay p{color:#fff}.tmp-file-buttons-overlay{background:rgba(0,0,0,.5);width:156px;height:120px;position:absolute;z-index:99999;visibility:visible;opacity:1;transition:opacity .5s ease-out}.tmp-file-remove-button{position:absolute;right:5px;text-align:right;width:10px;color:#fff;padding:0 1px;border-radius:0}.tmp-file-content{width:156px;height:120px;overflow:hidden}.tmp-upload-video{-o-object-fit:contain;object-fit:contain}.tmp-file-wrapper{position:relative}.tmp-upload{-o-object-fit:cover;object-fit:cover;width:156px;height:120px}.tmp-file-wrapper-container{padding:20px 0 0;margin:20px -15px;border-width:1px 0;border-color:#ccc;border-style:solid}.hide{display:none}.masonry{display:flex;flex-flow:row wrap;margin:20px 0 -2px}.masonry-brick{flex:auto;height:250px;min-width:150px;margin:2px;position:relative;cursor:pointer}.masonry-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.masonry-brick:nth-child(4n+1){width:50%}.masonry-brick:nth-child(4n+2){width:40%}.masonry-brick:nth-child(4n+3){width:20%}.masonry-brick:nth-child(4n+4){width:30%}.masonry-brick-full{width:100%!important;height:291px!important;overflow:hidden;outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.card-body{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.card .circle{float:left;position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;margin:-30px 10px 15px 15px;background:#eee;z-index:1;font-size:1.5em;color:#414141!important}.card-team .card-content{width:100%;height:160px;margin-bottom:10px}.card-classroom{padding:15px;box-shadow:1px 1px 5px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 5px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 5px rgba(201,191,187,.7);margin-bottom:20px}.play-overlay{position:absolute;top:0;left:0;width:100%;text-align:center;height:291px;line-height:291px;background:rgba(0,0,0,.05)}.play-overlay img{width:80px;height:80px}.preview-wrapper{position:relative;margin-top:30px}.preview-image img{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.preview-button{position:absolute;top:0;right:0;color:#fff}.preview-text{position:relative;background:#f9f9f9;border:1px solid #ccc;padding:11px;margin-top:-7px}.img-with-outline{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.mt-5{margin-top:2em}.feed-card{width:100%;margin-bottom:30px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)}.feed-card .feed-header{margin-bottom:10px}.feed-card .feed-header .feed-avatar{float:left;width:40px;height:40px;margin-right:5px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #e6e5e5}.feed-card .feed-header .feed-buttom-option{position:absolute;top:5px;right:0;z-index:21}.mat-card{padding:15px 0 10px!important}.mat-card .mat-card-header .mat-card-title h4{font-size:16px;margin-bottom:0}.mat-card .mat-card-header .mat-card-title p{font-size:13px;color:#aaa}.container-mat-card{display:flex;align-items:flex-end;justify-content:flex-end;position:relative;overflow:hidden;margin:0 0 10px}.bg-mat-card{display:block;position:absolute;z-index:15;width:100%;height:calc(100% - 30px);-webkit-filter:blur(40px) brightness(80%);filter:blur(40px) brightness(80%);background-size:cover;background-repeat:no-repeat;background-position:center}.mat-card-image{position:relative;z-index:20;margin:0!important;-o-object-fit:contain;object-fit:contain;height:auto;max-height:540px;display:block;width:100%}.feed-comment-option{float:right;margin-top:-10px;margin-left:0}.clickable{cursor:pointer;color:var(--main-color)}.scroll-to-top{position:fixed;bottom:15px;right:15px;opacity:0;transition:.2s ease-in-out}.show-scroll{opacity:1;transition:.2s ease-in-out}.feed-actions{color:#ccc;font-size:16px;margin-right:10px;margin-bottom:5px;margin-left:10px}.feed-actions span{margin-left:5px}.feed-actions .btn{background:0 0!important;border:none!important}.feed-likes{font-size:13px;margin-top:10px}a.is-liked{color:var(--main-color)!important}a.disabled-like{color:#ccc!important;cursor:not-allowed;text-decoration:none;pointer-events:none}.carousel{margin-bottom:10px;margin-left:0;margin-right:0}.carousel-item{-o-object-fit:cover!important;object-fit:cover!important;max-height:400px;-o-object-position:center;object-position:center}.video-player{position:initial!important}::ng-deep .ws-pre-wrap h4{font-size:18px!important}::ng-deep .ws-pre-wrap a{color:var(--main-color)}.SeeMore{display:block;color:var(--main-color)!important;text-align:center;cursor:pointer}.carousel-stage{position:relative;z-index:0;min-height:100px}.carousel-stage .progress{height:8px;border-radius:30px}.carousel-stage .progress .progress-bar{background:var(--main-color)}.carousel-stage .courses-image-item{border-radius:5%;-o-object-fit:cover;object-fit:cover}.carousel-stage .courses-item{padding:15px}.carousel-stage .courses-title{text-align:center}.carousel-stage .courses-title a{color:#000!important;font-weight:400!important}.customNavigation a{display:flex;justify-content:center;align-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.8);color:var(--main-color)!important;text-align:center}.customNavigation a:hover{background:#fff;color:var(--main-color)}.prev{position:absolute;width:100%;top:50%;left:-15px;margin-top:-15px;z-index:10}.next{position:absolute;width:100%;top:50%;right:-15px;margin-top:-15px;z-index:10}.owl-dots{position:absolute;top:-40px;right:15px;outline:0!important}.owl-dots .owl-dot{background:#ccc!important;border-radius:50%;height:10px;width:10px;padding:0!important;border:none;margin:0 2px;outline:0!important}.owl-dots .owl-dot.active{background:var(--main-color)!important;outline:0!important}::ng-deep .owl-carousel-o-stories .owl-next,::ng-deep .owl-carousel-o-stories .owl-prev{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;display:block!important;border-radius:50%!important;margin-top:-5px!important}::ng-deep .owl-carousel-o-stories .owl-prev{left:5px!important}::ng-deep .owl-carousel-o-stories .owl-next{right:5px!important}::ng-deep .swiper-stage .swiper-container{padding:0}::ng-deep .swiper-stage .swiper-button-next,::ng-deep .swiper-stage .swiper-button-prev{display:flex;align-items:center;justify-content:center;margin-top:0!important;width:25px;height:25px;border-radius:50%;background-color:var(--main-color)!important;opacity:.7!important}::ng-deep .swiper-stage .swiper-button-prev{left:10px;right:auto!important}::ng-deep .swiper-stage .swiper-button-next{right:10px;left:auto!important}::ng-deep .swiper-stage .swiper-button-next:after,::ng-deep .swiper-stage .swiper-button-prev:after{font-size:13px!important;color:#fff}::ng-deep .swiper-stage .swiper-button-disabled{opacity:0!important}.carousel-stories{display:inline-block;width:100%;height:145px;margin:0;border-radius:6px;text-transform:uppercase;font-size:1em;font-weight:500;background-repeat:no-repeat;background-size:cover;cursor:pointer;background-position:center!important}.carousel-stories .item:focus{outline:0}.carousel-stories .stories-body{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;height:100%;padding:0}.carousel-stories .stories-body a{font-size:12px;color:#fff;margin-bottom:10px;text-shadow:0 1px 1px rgba(0,0,0,.6)}.carousel-stories .stories-body a:hover{color:#ccc}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{outline:0!important}::ng-deep .mat-menu-panel{border-radius:6px!important;outline:0!important}::ng-deep .mat-menu-panel .mat-menu-content:not(:empty){padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-menu-panel .mat-menu-item{color:#414141;font-size:15px;font-style:normal;font-weight:400;letter-spacing:1px;outline:0!important}.progress-bar-custom span{display:inline-block;height:100%;border-radius:3px;box-shadow:0 1px 0 rgba(37,21,21,.5) inset;transition:width .4s ease-in-out}.green-progress span{background-image:linear-gradient(to bottom,#fff,var(--main-color))}.stripes span{background-size:30px 30px;background-image:linear-gradient(135deg,#ff4e4ef3 25%,transparent 25%,transparent 50%,rgba(236,47,47,.972) 50%,rgba(240,0,0,.15) 75%,transparent 75%,transparent);-webkit-animation:3s linear infinite animate-stripes;animation:3s linear infinite animate-stripes}.container-stipes{width:100%;padding:0 10px;font-weight:700}.keep-logged{position:relative;height:150px;background:var(--main-color);top:0;color:#fff!important;z-index:99;opacity:.9;width:100%;border:0;left:0;right:0}.keep-logged button{background:#fff!important;color:var(--main-color)!important}.scrollable{overflow-y:scroll;height:100vh}.alert-primary{color:#fff;background-color:var(--main-color)!important;background:var(--main-color)!important}.mat-progress-bar{height:17px;border-radius:5px}@-webkit-keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}.p-channel{color:#3c4858;font-weight:500;margin-bottom:0!important}.btn-scroll-to-top{position:fixed;bottom:0;right:0;color:#fffF;font-size:20px;margin-right:25px;margin-bottom:25px;height:40px;width:40px;border:none;text-align:center;border-radius:50%;outline:0;transition:1s ease-in;background-color:var(--main-color);z-index:99999}@media (max-width:767px){.form-feed textarea{font-size:12px}.btn-feed{width:auto;font-size:11px;padding:2px 5px;border-radius:30px;font-weight:600;text-transform:capitalize}.carousel-stories{width:120px;height:120px}.keep-logged{height:175px}.keep-logged h3{font-size:1.1rem}.keep-logged button{font-size:1rem}.btn-group-xs>.btn,.btn-xs{padding:2px 5px;font-size:11px;line-height:1;border-radius:30px}}::ng-deep .mat-card-header-text{width:100%!important;margin:0}::ng-deep .popover{background:#fff!important;border:0!important;box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important}.minibio{padding:10px;border-radius:10px}.minibio img{width:30%;max-width:100px;display:inline-block;padding-right:10px}.minibio .info{display:inline-block;vertical-align:top}.minibio .info .icon{color:#d4d4d4}.minibio .info ul{list-style:none}.minibio .info li{display:inline-block}"]
329
+ styles: [".popover{padding:7px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7)}", "li,ul{list-style:none!important}a,a:hover{text-decoration:none}.text-primary{color:var(--main-color)}.card{border-radius:6px;box-shadow:1px 1px 10px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 10px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 10px rgba(201,191,187,.7);border:none;margin-bottom:30px;margin-top:0}.card .card-content{flex:1 1 auto;padding:1.25rem}.comments{margin:30px -15px}.comments h4{font-size:16px;color:#414141;margin-bottom:0;font-weight:600}.comments p{margin:5px 15px 5px 65px;font-size:14px;word-break:break-all}.post-text{white-space:pre-wrap!important;font-size:14px}.form-feed{width:100%;margin:0 0 25px!important;padding:10px 15px!important;border-radius:8px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7);background-color:var(--bg-card)!important}.form-feed .title{font-size:16px;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:10px}.form-feed textarea{float:left;width:calc(100% - 50px);border-bottom:1px solid #eee;border-top:transparent;border-left:transparent;border-right:transparent;box-shadow:none;padding:5px 10px;outline:0!important}.form-input-btn a{float:right;border:none!important;box-shadow:none!important;background:0 0;padding:0;margin-top:12px;position:relative;right:0;left:0;margin-bottom:0;color:#8e8994}.form-input-btn a .material-icons{font-size:18px}.mat-dialog-container{padding:0!important}.form-comment{width:100%;margin:0!important;padding:15px 0 0!important;border-top:1px solid #eee}.form-comment input[type=text]{float:left;width:calc(100% - 50px);border:1px solid #eee;box-shadow:none;border-radius:30px;padding:5px 10px;outline:0}input::-webkit-input-placeholder{color:#ccc}input::-moz-placeholder{color:#ccc}input:-ms-input-placeholder{color:#ccc}input::-ms-input-placeholder{color:#ccc}input::placeholder{color:#ccc}.avatar-30{float:left;width:30px;height:30px;margin-right:10px;border-radius:50%}.avatar-30-null{display:flex;align-items:center;justify-content:center;float:left;width:30px;height:30px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb}.comment-time{position:absolute;right:15px}.avatar-45{float:left;width:40px;height:40px;margin-right:10px;border-radius:50%}.avatar-45-null{display:flex;align-items:center;justify-content:center;float:left;width:40px;height:40px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb;border:1.3px solid var(--main-color)}.super-post{position:absolute;right:15px;top:10px;font-size:1.8em;color:#888}.icons-comments{margin:10px 0 0;padding:10px 20px;border-top:1px solid #eee;border-bottom:1px solid #eee}.icons-comments li{display:inline-block;margin-right:30px;font-size:14px}.icons-comments li:last-child{margin-right:0;position:absolute;right:20px}.icons-comments li a{color:#4a4a4a;cursor:pointer}.icons-comments li a.active,.icons-comments li a:hover{color:var(--main-color)}.icons-comments .fa{font-size:16px}.card-file{width:100%;margin:0 auto 30px;box-shadow:0 0 30px rgba(204,204,204,.4);border:none;border-radius:12px;transition:.5s}.card-file:hover{box-shadow:0 0 30px rgba(204,204,204,.8)}.card-file .card-cover{display:flex;align-items:center;justify-content:center;padding:15px;position:relative;width:100%;height:160px;border-top-left-radius:16px;border-top-right-radius:12px;-o-object-fit:cover;object-fit:cover;background-size:cover;background-position:center;z-index:1;background:var(--main-color);color:#fff!important}.card-file .card-content{height:auto;padding:0 15px}.card-file .card-content .description{color:#888}.card-file .title{color:#fff;margin-bottom:0;font-size:18px;text-shadow:2px 2px 2px #101010}.btn-feed{width:auto;font-size:12px;padding:2px 5px;border-radius:30px;font-weight:600;text-transform:capitalize}.btn-group-xs>.btn,.btn-xs{padding:2px 15px 3px;font-size:13px;line-height:1;border-radius:30px}.btn-primary,.btn-primary:hover{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary.focus,.btn-primary:focus{background-color:var(--bg-btn);border-color:var(--bg-btn);box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-primary.disabled,.btn-primary:disabled,.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary{color:#fff;background-color:#111;border-color:#111}.btn-secondary:hover{color:#fff;background-color:#333;border-color:#333}.btn-secondary.focus,.btn-secondary:focus{background-color:#333;border-color:#333;box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#111;border-color:#111}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#333;border-color:#333}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.ribbon{width:150px;height:150px;overflow:hidden;position:absolute;z-index:1}.ribbon::after,.ribbon::before{position:absolute;z-index:-1;content:\"\";display:block;border:5px solid var(--bg-btn)}.ribbon span{position:absolute;display:block;width:225px;padding:15px 0;background-color:var(--bg-btn);box-shadow:0 5px 10px rgba(0,0,0,.1);color:#fff;font:700 18px/1 Lato,sans-serif;text-shadow:0 1px 1px rgba(0,0,0,.2);text-transform:uppercase;text-align:center}.ribbon-top-left{top:-10px;left:-10px;background:0 0}.ribbon-top-left::after,.ribbon-top-left::before{border-top-color:transparent;border-left-color:transparent}.ribbon-top-left::before{top:0;right:0}.ribbon-top-left::after{bottom:0;left:0}.ribbon-top-left span{right:-25px;top:30px;transform:rotate(-45deg)}.ribbon-top-right{top:-10px;right:-10px;background:0 0!important}.ribbon-top-right::after,.ribbon-top-right::before{border-top-color:transparent;border-right-color:transparent}.ribbon-top-right::before{top:0;left:0}.ribbon-top-right::after{bottom:0;right:0}.ribbon-top-right span{left:-25px;top:30px;transform:rotate(45deg)}.ribbon-bottom-left{bottom:-10px;left:-10px}.ribbon-bottom-left::after,.ribbon-bottom-left::before{border-bottom-color:transparent;border-left-color:transparent}.ribbon-bottom-left::before{bottom:0;right:0}.ribbon-bottom-left::after{top:0;left:0}.ribbon-bottom-left span{right:-25px;bottom:30px;transform:rotate(225deg)}.ribbon-bottom-right{bottom:-10px;right:-10px}.ribbon-bottom-right::after,.ribbon-bottom-right::before{border-bottom-color:transparent;border-right-color:transparent}.ribbon-bottom-right::before{bottom:0;left:0}.ribbon-bottom-right::after{top:0;right:0}.ribbon-bottom-right span{left:-25px;bottom:30px;transform:rotate(-225deg)}.video-container{min-height:200px}.video-container img{width:100%;-o-object-fit:cover;object-fit:cover;-webkit-filter:blur(10px);filter:blur(10px)}.video-player{top:0;left:1px;width:calc(100% - 2px)}.tmp-file-buttons-overlay{opacity:1}.overlayed{opacity:1!important;visibility:visible}.tmp-file-status-overlay{position:absolute;background:rgba(0,0,0,.5);text-align:center;z-index:9999999999;color:#fff;width:156px;height:120px;padding:20px}.tmp-file-status-overlay p{color:#fff}.tmp-file-buttons-overlay{background:rgba(0,0,0,.5);width:156px;height:120px;position:absolute;z-index:99999;visibility:visible;opacity:1;transition:opacity .5s ease-out}.tmp-file-remove-button{position:absolute;right:5px;text-align:right;width:10px;color:#fff;padding:0 1px;border-radius:0}.tmp-file-content{width:156px;height:120px;overflow:hidden}.tmp-upload-video{-o-object-fit:contain;object-fit:contain}.tmp-file-wrapper{position:relative}.tmp-upload{-o-object-fit:cover;object-fit:cover;width:156px;height:120px}.tmp-file-wrapper-container{padding:20px 0 0;margin:20px -15px;border-width:1px 0;border-color:#ccc;border-style:solid}.hide{display:none}.masonry{display:flex;flex-flow:row wrap;margin:20px 0 -2px}.masonry-brick{flex:auto;height:250px;min-width:150px;margin:2px;position:relative;cursor:pointer}.masonry-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.masonry-brick:nth-child(4n+1){width:50%}.masonry-brick:nth-child(4n+2){width:40%}.masonry-brick:nth-child(4n+3){width:20%}.masonry-brick:nth-child(4n+4){width:30%}.masonry-brick-full{width:100%!important;height:291px!important;overflow:hidden;outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.card-body{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.card .circle{float:left;position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;margin:-30px 10px 15px 15px;background:#eee;z-index:1;font-size:1.5em;color:#414141!important}.card-team .card-content{width:100%;height:160px;margin-bottom:10px}.card-classroom{padding:15px;box-shadow:1px 1px 5px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 5px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 5px rgba(201,191,187,.7);margin-bottom:20px}.play-overlay{position:absolute;top:0;left:0;width:100%;text-align:center;height:291px;line-height:291px;background:rgba(0,0,0,.05)}.play-overlay img{width:80px;height:80px}.preview-wrapper{position:relative;margin-top:30px}.preview-image img{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.preview-button{position:absolute;top:0;right:0;color:#fff}.preview-text{position:relative;background:#f9f9f9;border:1px solid #ccc;padding:11px;margin-top:-7px}.img-with-outline{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.mt-5{margin-top:2em}.feed-card{width:100%;margin-bottom:30px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)}.feed-card .feed-header{margin-bottom:10px}.feed-card .feed-header .feed-avatar{float:left;width:40px;height:40px;margin-right:5px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #e6e5e5}.feed-card .feed-header .feed-buttom-option{position:absolute;top:5px;right:0;z-index:21}.mat-card{padding:15px 0 10px!important}.mat-card .mat-card-header .mat-card-title h4{font-size:16px;margin-bottom:0}.mat-card .mat-card-header .mat-card-title p{font-size:13px;color:#aaa}.container-mat-card{display:flex;align-items:flex-end;justify-content:flex-end;position:relative;overflow:hidden;margin:0 0 10px}.bg-mat-card{display:block;position:absolute;z-index:15;width:100%;height:calc(100% - 30px);-webkit-filter:blur(40px) brightness(80%);filter:blur(40px) brightness(80%);background-size:cover;background-repeat:no-repeat;background-position:center}.mat-card-image{position:relative;z-index:20;margin:0!important;-o-object-fit:contain;object-fit:contain;height:auto;max-height:540px;display:block;width:100%}.feed-comment-option{float:right;margin-top:-10px;margin-left:0}.clickable{cursor:pointer;color:var(--main-color)}.scroll-to-top{position:fixed;bottom:15px;right:15px;opacity:0;transition:.2s ease-in-out}.show-scroll{opacity:1;transition:.2s ease-in-out}.feed-actions{color:#ccc;font-size:16px;margin-right:10px;margin-bottom:5px;margin-left:10px}.feed-actions span{margin-left:5px}.feed-actions .btn{background:0 0!important;border:none!important}.feed-likes{font-size:13px;margin-top:10px}a.is-liked{color:var(--main-color)!important}a.disabled-like{color:#ccc!important;cursor:not-allowed;text-decoration:none;pointer-events:none}.carousel{margin-bottom:10px;margin-left:0;margin-right:0}.carousel-item{-o-object-fit:cover!important;object-fit:cover!important;max-height:400px;-o-object-position:center;object-position:center}.video-player{position:initial!important}::ng-deep .ws-pre-wrap h4{font-size:18px!important}::ng-deep .ws-pre-wrap a{color:var(--main-color)}.SeeMore{display:block;color:var(--main-color)!important;text-align:center;cursor:pointer}.carousel-stage{position:relative;z-index:0;min-height:100px}.carousel-stage .progress{height:8px;border-radius:30px}.carousel-stage .progress .progress-bar{background:var(--main-color)}.carousel-stage .courses-image-item{border-radius:5%;-o-object-fit:cover;object-fit:cover}.carousel-stage .courses-item{padding:15px}.carousel-stage .courses-title{text-align:center}.carousel-stage .courses-title a{color:#000!important;font-weight:400!important}.customNavigation a{display:flex;justify-content:center;align-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.8);color:var(--main-color)!important;text-align:center}.customNavigation a:hover{background:#fff;color:var(--main-color)}.prev{position:absolute;width:100%;top:50%;left:-15px;margin-top:-15px;z-index:10}.next{position:absolute;width:100%;top:50%;right:-15px;margin-top:-15px;z-index:10}.owl-dots{position:absolute;top:-40px;right:15px;outline:0!important}.owl-dots .owl-dot{background:#ccc!important;border-radius:50%;height:10px;width:10px;padding:0!important;border:none;margin:0 2px;outline:0!important}.owl-dots .owl-dot.active{background:var(--main-color)!important;outline:0!important}::ng-deep .owl-carousel-o-stories .owl-next,::ng-deep .owl-carousel-o-stories .owl-prev{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;display:block!important;border-radius:50%!important;margin-top:-5px!important}::ng-deep .owl-carousel-o-stories .owl-prev{left:5px!important}::ng-deep .owl-carousel-o-stories .owl-next{right:5px!important}::ng-deep .swiper-stage .swiper-container{padding:0}::ng-deep .swiper-stage .swiper-button-next,::ng-deep .swiper-stage .swiper-button-prev{display:flex;align-items:center;justify-content:center;margin-top:0!important;width:25px;height:25px;border-radius:50%;background-color:var(--main-color)!important;opacity:.7!important}::ng-deep .swiper-stage .swiper-button-prev{left:10px;right:auto!important}::ng-deep .swiper-stage .swiper-button-next{right:10px;left:auto!important}::ng-deep .swiper-stage .swiper-button-next:after,::ng-deep .swiper-stage .swiper-button-prev:after{font-size:13px!important;color:#fff}::ng-deep .swiper-stage .swiper-button-disabled{opacity:0!important}.carousel-stories{display:inline-block;width:100%;height:145px;margin:0;border-radius:6px;text-transform:uppercase;font-size:1em;font-weight:500;background-repeat:no-repeat;background-size:cover;cursor:pointer;background-position:center!important}.carousel-stories .item:focus{outline:0}.carousel-stories .stories-body{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;height:100%;padding:0}.carousel-stories .stories-body a{font-size:12px;color:#fff;margin-bottom:10px;text-shadow:0 1px 1px rgba(0,0,0,.6)}.carousel-stories .stories-body a:hover{color:#ccc}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{outline:0!important}::ng-deep .mat-menu-panel{border-radius:6px!important;outline:0!important}::ng-deep .mat-menu-panel .mat-menu-content:not(:empty){padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-menu-panel .mat-menu-item{color:#414141;font-size:15px;font-style:normal;font-weight:400;letter-spacing:1px;outline:0!important}.progress-bar-custom span{display:inline-block;height:100%;border-radius:3px;box-shadow:0 1px 0 rgba(37,21,21,.5) inset;transition:width .4s ease-in-out}.green-progress span{background-image:linear-gradient(to bottom,#fff,var(--main-color))}.stripes span{background-size:30px 30px;background-image:linear-gradient(135deg,#ff4e4ef3 25%,transparent 25%,transparent 50%,rgba(236,47,47,.972) 50%,rgba(240,0,0,.15) 75%,transparent 75%,transparent);-webkit-animation:3s linear infinite animate-stripes;animation:3s linear infinite animate-stripes}.container-stipes{width:100%;padding:0 10px;font-weight:700}.keep-logged{position:relative;height:150px;background:var(--main-color);top:0;color:#fff!important;z-index:99;opacity:.9;width:100%;border:0;left:0;right:0}.keep-logged button{background:#fff!important;color:var(--main-color)!important}.scrollable{overflow-y:scroll;height:100vh}.alert-primary{color:#fff;background-color:var(--main-color)!important;background:var(--main-color)!important}.mat-progress-bar{height:17px;border-radius:5px}@-webkit-keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}.p-channel{color:#3c4858;font-weight:500;margin-bottom:0!important}@media (max-width:767px){.form-feed textarea{font-size:12px}.btn-feed{width:auto;font-size:11px;padding:2px 5px;border-radius:30px;font-weight:600;text-transform:capitalize}.carousel-stories{width:120px;height:120px}.keep-logged{height:175px}.keep-logged h3{font-size:1.1rem}.keep-logged button{font-size:1rem}.btn-group-xs>.btn,.btn-xs{padding:2px 5px;font-size:11px;line-height:1;border-radius:30px}}::ng-deep .mat-card-header-text{width:100%!important;margin:0}::ng-deep .popover{background:#fff!important;border:0!important;box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important}.minibio{padding:10px;border-radius:10px}.minibio img{width:30%;max-width:100px;display:inline-block;padding-right:10px}.minibio .info{display:inline-block;vertical-align:top}.minibio .info .icon{color:#d4d4d4}.minibio .info ul{list-style:none}.minibio .info li{display:inline-block}"]
330
330
  }] }
331
331
  ];
332
332
  /** @nocollapse */
@@ -459,8 +459,8 @@ export class FeedCommentsComponent {
459
459
  FeedCommentsComponent.decorators = [
460
460
  { type: Component, args: [{
461
461
  selector: 'feed-comments',
462
- template: "<form *ngIf=\"global.loggedUser()\" class=\"form-comment\">\r\n <img *ngIf=\"global.loggedUser().picture\" [src]=\"global.loggedUser().picture\" class=\"avatar-45\" alt=\"\">\r\n <div *ngIf=\"!global.loggedUser().picture\" class=\"avatar-45-null\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n <ng-container>\r\n <input type=\"text\" name=\"comment\" [(ngModel)]=\"comment\" (keyup.enter)=\"sendComment(comment)\" [disabled]=\"onLoadingComment\" placeholder=\"{{ 'SendCommentFeed' | translate }}\">\r\n <div class=\"clearfix\"></div>\r\n </ng-container>\r\n</form>\r\n\r\n<div *ngFor=\"let comment of comments | slice:0:limitCommentsTo; let i=index\">\r\n <popover-content #myPopover \r\n placement=\"auto right\"\r\n [closeOnClickOutside]=\"true\" [closeOnMouseOutside]=\"false\" [animation]=\"true\">\r\n <div class='minibio'>\r\n <img *ngIf=\"comment?.user_info?.picture\" [src]=\"comment?.user_info?.picture\" alt=\"\">\r\n <div class=\"info\"><b>{{ comment?.user_info?.name }}</b><br/>\r\n <!-- <span class=\"location\"><i class=\"icon fa fa-globe\" aria-hidden=\"true\"></i>&nbsp;Fortaleza/CE</span> <br/> -->\r\n </div>\r\n </div>\r\n </popover-content>\r\n <a *ngIf=\"comment\" [routerLink]=\"['/profile',comment?.user_info?.id]\">\r\n <img *ngIf=\"comment?.user_info?.picture\" [src]=\"comment?.user_info?.picture\" class=\"avatar-45\" alt=\"\" [popover]=\"myPopover\" [popoverOnHover]=\"true\">\r\n <div *ngIf=\"!comment?.user_info?.picture\" class=\"avatar-45-null\" [popover]=\"myPopover\" [popoverOnHover]=\"true\">\r\n <i class=\"fa fa-user\"></i>\r\n </div></a>\r\n <div class=\"comments\">\r\n\r\n <ng-container *ngIf=\"global?.loggedUser() && !comment.onEdit\">\r\n <div class=\"feed-comment-option\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"appMenu\"\r\n *ngIf=\"comment?.user_info?.id == global?.loggedUser().id\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #appMenu=\"matMenu\">\r\n <button mat-menu-item (click)=\"onEditComment(comment)\">\r\n <mat-icon>create</mat-icon>\r\n {{ 'Edit' | translate }}\r\n </button>\r\n <button mat-menu-item (click)=\"deleteComment(comment.id)\">\r\n <mat-icon>delete</mat-icon>\r\n {{ 'Remove' | translate }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </ng-container>\r\n <p *ngIf=\"!comment.onEdit\"><b>{{ comment?.user_info?.name || 'N\u00E3o Informado' }}</b>&nbsp;<span [innerHTML]=\"linkify(comment.comment)\"></span></p>\r\n <form class=\"form-comment-reply\"*ngIf=\"comment.onEdit\">\r\n <input class=\"editing-comment-input\" type=\"text\" [(ngModel)]=\"editedComment\" name=\"editedComment\" [disabled]=\"onLoadingReply\" (keyup.enter)=\"updateComment(comment.id, editedComment)\" (keyup.esc)=\"onEditComment(comment)\" placeholder=\"{{ 'Comment' | translate }}\">\r\n <div class=\"clearfix\"></div>\r\n </form>\r\n \r\n\r\n <small class=\"text-primary\"> <b>{{ comment?.likes?.length ? comment?.likes?.length : '' }}</b> <a [ngClass]=\"{'disabled-action': onLoadingLike || !global?.loggedUser()}\" (click)=\"sendLikeComment(comment.id, comment?.likeForMeID, comment)\"> \r\n <ng-container *ngIf=\"comment.likeForMe\">\r\n Curtiu\r\n </ng-container>\r\n <ng-container *ngIf=\"!comment.likeForMe\">\r\n Curtir\r\n </ng-container>\r\n </a></small> - \r\n <small class=\"reply-comment text-primary m-0\"><b>{{ comment?.replys?.length ? comment?.replys?.length : '' }} </b> <a [ngClass]=\"{'disabled-action': !global?.loggedUser()}\" (click)=\"onReplyComment(i)\">Responder</a></small> - \r\n <small class=\"txt-gray m-0\" *ngIf=\"comment?.edited\">editado - </small>\r\n <small class=\"txt-gray m-0\">{{ comment.updated_at | amTimeAgo}} </small>\r\n <!-- Reply Section -->\r\n <form class=\"form-comment-reply\"*ngIf=\"replyingComment[i] == true\">\r\n <input type=\"text\" [disabled]=\"onLoadingReply\" [(ngModel)]=\"reply\" name=\"reply\" (keyup.enter)=\"replyComment(comment.id, reply, comment.user_info, i)\" placeholder=\"{{ 'ReplyThisComment' | translate }}\">\r\n <div class=\"clearfix\"></div>\r\n </form>\r\n <!-- <code>{{ limitReplysTo[i] | json }}</code> -->\r\n <ng-container *ngIf=\"comment.replys && comment.replys.length > 0\">\r\n <ng-container *ngFor=\"let subItem of comment.replys | slice:0:comment.limitReplysTo;\">\r\n <popover-content #myPopover \r\n placement=\"auto right\"\r\n [closeOnClickOutside]=\"true\" [closeOnMouseOutside]=\"false\" [animation]=\"true\">\r\n <div class='minibio'>\r\n <img *ngIf=\"subItem.user_info?.picture\" [src]=\"subItem?.user_info?.picture\" class=\"avatar-45\" alt=\"\">\r\n <div class=\"info\"><b>{{ comment?.user_info?.name }}</b><br/>\r\n <!-- <span class=\"location\"><i class=\"icon fa fa-globe\" aria-hidden=\"true\"></i>&nbsp;Fortaleza/CE</span> -->\r\n </div>\r\n </div>\r\n </popover-content>\r\n <div class=\"reply-avatar\">\r\n <img *ngIf=\"subItem.user_info?.picture\" [src]=\"subItem?.user_info?.picture\" alt=\"\" class=\"avatar-45-null\" [popover]=\"myPopover\" [popoverOnHover]=\"true\">\r\n <div *ngIf=\"!subItem.user_info.picture || subItem.user_info.picture == ''\" class=\"avatar-45-null\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n </div>\r\n\r\n <div class=\"replys\">\r\n <ng-container *ngIf=\"global.loggedUser()\">\r\n <ng-container *ngIf=\"global?.loggedUser()?.id === subItem.user_info.id && !subItem.onEdit\">\r\n <div class=\"feed-comment-option\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"appSubMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #appSubMenu=\"matMenu\">\r\n <button mat-menu-item (click)=\"onEditReply(subItem)\">\r\n <mat-icon>create</mat-icon>\r\n {{ 'Edit' | translate }}\r\n </button>\r\n <button mat-menu-item (click)=\"deleteReply(comment.id, subItem.id)\">\r\n <mat-icon>delete</mat-icon>\r\n {{ 'Remove' | translate }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"!subItem.onEdit\">\r\n <p> <b>{{ subItem.user_info.name || 'N\u00E3o Informado' }}</b> {{ subItem.comment }}</p>\r\n <small class=\"txt-gray\">{{ subItem.updated_at | amTimeAgo}} </small> \r\n </ng-container>\r\n <ng-container *ngIf=\"subItem.onEdit\">\r\n <form class=\"form-comment-reply form-reply-edited\">\r\n <input type=\"text\" [disabled]=\"onLoadingReply\" [(ngModel)]=\"editedReply\" name=\"editedReply\" (keyup.enter)=\"updateReply(comment.id, subItem, editedReply)\" placeholder=\"{{ 'ReplyThisComment' | translate }}\">\r\n <div class=\"clearfix\"></div>\r\n </form>\r\n </ng-container>\r\n\r\n </div>\r\n \r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"comment?.replys.length > 1 && (comment.replys.length - comment.limitReplysTo > 0)\">\r\n <div class=\"SeeMore on-reply\">\r\n <i class=\"fa fa-reply\"></i>\r\n <span (click)=\"loadMoreReplys(comment)\" *ngIf=\"(comments?.length > limitCommentsTo)\"> {{ comment.replys.length - comment.limitReplysTo}} {{ 'Replys' | translate }}</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n \r\n <!-- End Reply Section -->\r\n\r\n\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"(comments?.length > 2)\">\r\n <div class=\"SeeMore\">\r\n <span (click)=\"loadMoreComments()\" *ngIf=\"(comments?.length > limitCommentsTo)\">{{ 'SeeMore' | translate }} {{ comments?.length - limitCommentsTo}} {{ 'Comments' | translate }}</span>\r\n </div>\r\n</ng-container>",
463
- styles: [".SeeMore{margin-bottom:10px;font-size:14px}.on-reply{font-size:13px;margin-top:-9px;margin-bottom:0;text-align:left!important;margin-left:65px}.on-reply span{margin-left:25px}.comments{margin:10px -15px!important}.comments .feed-comment-option{margin-top:0;margin-right:10px}.comments p{margin:11px 7px 10px 60px;font-size:14px;word-break:break-all;white-space:normal;word-break:break-word;word-wrap:break-word;background-color:#e6e6e6;padding:10px;border-radius:18px}.comments small{margin:5px 3px 5px 65px}.disabled-action{pointer-events:none;opacity:.6}.like-comment{margin:5px 3px 5px 65px}.reply-comment{margin-left:15px}.feed-comment-box{background-color:#f2f3f5;border-radius:18px;box-sizing:border-box;color:#1c1e21;padding:10px;line-height:16px;margin:0;max-width:100%;word-wrap:break-word;position:relative;white-space:normal;word-break:break-word}.reply-avatar{margin-left:56px;margin-top:5px}.replys{margin:5px 3px 5px 70px}.replys p{margin:0 8px 3px 31px!important;white-space:normal;word-break:break-word!important;word-wrap:break-word!important;background-color:#f5f3f3;padding:10px;border-radius:18px;width:calc(100% - 39px)!important}.replys .feed-comment-option{margin-top:0;margin-right:5px}.replys small{margin-left:35px}.form-comment-reply{width:100%;margin:0!important;padding:7px 0 10px 78px!important}.form-comment-reply input[type=text]{float:left;width:calc(100% - 15px);border:1px solid #eee;box-shadow:none;border-radius:30px;padding:8px 13px;outline:0}.form-comment-reply .editing-comment-input{padding-top:8px;margin-top:-11px;margin-left:-8px}.form-reply-edited{padding:0 0 9px 32px!important}", "li,ul{list-style:none!important}a,a:hover{text-decoration:none}.text-primary{color:var(--main-color)}.card{border-radius:6px;box-shadow:1px 1px 10px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 10px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 10px rgba(201,191,187,.7);border:none;margin-bottom:30px;margin-top:0}.card .card-content{flex:1 1 auto;padding:1.25rem}.comments{margin:30px -15px}.comments h4{font-size:16px;color:#414141;margin-bottom:0;font-weight:600}.comments p{margin:5px 15px 5px 65px;font-size:14px;word-break:break-all}.post-text{white-space:pre-wrap!important;font-size:14px}.form-feed{width:100%;margin:0 0 25px!important;padding:10px 15px!important;border-radius:8px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7);background-color:var(--bg-card)!important}.form-feed .title{font-size:16px;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:10px}.form-feed textarea{float:left;width:calc(100% - 50px);border-bottom:1px solid #eee;border-top:transparent;border-left:transparent;border-right:transparent;box-shadow:none;padding:5px 10px;outline:0!important}.form-input-btn a{float:right;border:none!important;box-shadow:none!important;background:0 0;padding:0;margin-top:12px;position:relative;right:0;left:0;margin-bottom:0;color:#8e8994}.form-input-btn a .material-icons{font-size:18px}.mat-dialog-container{padding:0!important}.form-comment{width:100%;margin:0!important;padding:15px 0 0!important;border-top:1px solid #eee}.form-comment input[type=text]{float:left;width:calc(100% - 50px);border:1px solid #eee;box-shadow:none;border-radius:30px;padding:5px 10px;outline:0}input::-webkit-input-placeholder{color:#ccc}input::-moz-placeholder{color:#ccc}input:-ms-input-placeholder{color:#ccc}input::-ms-input-placeholder{color:#ccc}input::placeholder{color:#ccc}.avatar-30{float:left;width:30px;height:30px;margin-right:10px;border-radius:50%}.avatar-30-null{display:flex;align-items:center;justify-content:center;float:left;width:30px;height:30px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb}.comment-time{position:absolute;right:15px}.avatar-45{float:left;width:40px;height:40px;margin-right:10px;border-radius:50%}.avatar-45-null{display:flex;align-items:center;justify-content:center;float:left;width:40px;height:40px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb;border:1.3px solid var(--main-color)}.super-post{position:absolute;right:15px;top:10px;font-size:1.8em;color:#888}.icons-comments{margin:10px 0 0;padding:10px 20px;border-top:1px solid #eee;border-bottom:1px solid #eee}.icons-comments li{display:inline-block;margin-right:30px;font-size:14px}.icons-comments li:last-child{margin-right:0;position:absolute;right:20px}.icons-comments li a{color:#4a4a4a;cursor:pointer}.icons-comments li a.active,.icons-comments li a:hover{color:var(--main-color)}.icons-comments .fa{font-size:16px}.card-file{width:100%;margin:0 auto 30px;box-shadow:0 0 30px rgba(204,204,204,.4);border:none;border-radius:12px;transition:.5s}.card-file:hover{box-shadow:0 0 30px rgba(204,204,204,.8)}.card-file .card-cover{display:flex;align-items:center;justify-content:center;padding:15px;position:relative;width:100%;height:160px;border-top-left-radius:16px;border-top-right-radius:12px;-o-object-fit:cover;object-fit:cover;background-size:cover;background-position:center;z-index:1;background:var(--main-color);color:#fff!important}.card-file .card-content{height:auto;padding:0 15px}.card-file .card-content .description{color:#888}.card-file .title{color:#fff;margin-bottom:0;font-size:18px;text-shadow:2px 2px 2px #101010}.btn-feed{width:auto;font-size:12px;padding:2px 5px;border-radius:30px;font-weight:600;text-transform:capitalize}.btn-group-xs>.btn,.btn-xs{padding:2px 15px 3px;font-size:13px;line-height:1;border-radius:30px}.btn-primary,.btn-primary:hover{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary.focus,.btn-primary:focus{background-color:var(--bg-btn);border-color:var(--bg-btn);box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-primary.disabled,.btn-primary:disabled,.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary{color:#fff;background-color:#111;border-color:#111}.btn-secondary:hover{color:#fff;background-color:#333;border-color:#333}.btn-secondary.focus,.btn-secondary:focus{background-color:#333;border-color:#333;box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#111;border-color:#111}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#333;border-color:#333}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.ribbon{width:150px;height:150px;overflow:hidden;position:absolute;z-index:1}.ribbon::after,.ribbon::before{position:absolute;z-index:-1;content:\"\";display:block;border:5px solid var(--bg-btn)}.ribbon span{position:absolute;display:block;width:225px;padding:15px 0;background-color:var(--bg-btn);box-shadow:0 5px 10px rgba(0,0,0,.1);color:#fff;font:700 18px/1 Lato,sans-serif;text-shadow:0 1px 1px rgba(0,0,0,.2);text-transform:uppercase;text-align:center}.ribbon-top-left{top:-10px;left:-10px;background:0 0}.ribbon-top-left::after,.ribbon-top-left::before{border-top-color:transparent;border-left-color:transparent}.ribbon-top-left::before{top:0;right:0}.ribbon-top-left::after{bottom:0;left:0}.ribbon-top-left span{right:-25px;top:30px;transform:rotate(-45deg)}.ribbon-top-right{top:-10px;right:-10px;background:0 0!important}.ribbon-top-right::after,.ribbon-top-right::before{border-top-color:transparent;border-right-color:transparent}.ribbon-top-right::before{top:0;left:0}.ribbon-top-right::after{bottom:0;right:0}.ribbon-top-right span{left:-25px;top:30px;transform:rotate(45deg)}.ribbon-bottom-left{bottom:-10px;left:-10px}.ribbon-bottom-left::after,.ribbon-bottom-left::before{border-bottom-color:transparent;border-left-color:transparent}.ribbon-bottom-left::before{bottom:0;right:0}.ribbon-bottom-left::after{top:0;left:0}.ribbon-bottom-left span{right:-25px;bottom:30px;transform:rotate(225deg)}.ribbon-bottom-right{bottom:-10px;right:-10px}.ribbon-bottom-right::after,.ribbon-bottom-right::before{border-bottom-color:transparent;border-right-color:transparent}.ribbon-bottom-right::before{bottom:0;left:0}.ribbon-bottom-right::after{top:0;right:0}.ribbon-bottom-right span{left:-25px;bottom:30px;transform:rotate(-225deg)}.video-container{min-height:200px}.video-container img{width:100%;-o-object-fit:cover;object-fit:cover;-webkit-filter:blur(10px);filter:blur(10px)}.video-player{top:0;left:1px;width:calc(100% - 2px)}.tmp-file-buttons-overlay{opacity:1}.overlayed{opacity:1!important;visibility:visible}.tmp-file-status-overlay{position:absolute;background:rgba(0,0,0,.5);text-align:center;z-index:9999999999;color:#fff;width:156px;height:120px;padding:20px}.tmp-file-status-overlay p{color:#fff}.tmp-file-buttons-overlay{background:rgba(0,0,0,.5);width:156px;height:120px;position:absolute;z-index:99999;visibility:visible;opacity:1;transition:opacity .5s ease-out}.tmp-file-remove-button{position:absolute;right:5px;text-align:right;width:10px;color:#fff;padding:0 1px;border-radius:0}.tmp-file-content{width:156px;height:120px;overflow:hidden}.tmp-upload-video{-o-object-fit:contain;object-fit:contain}.tmp-file-wrapper{position:relative}.tmp-upload{-o-object-fit:cover;object-fit:cover;width:156px;height:120px}.tmp-file-wrapper-container{padding:20px 0 0;margin:20px -15px;border-width:1px 0;border-color:#ccc;border-style:solid}.hide{display:none}.masonry{display:flex;flex-flow:row wrap;margin:20px 0 -2px}.masonry-brick{flex:auto;height:250px;min-width:150px;margin:2px;position:relative;cursor:pointer}.masonry-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.masonry-brick:nth-child(4n+1){width:50%}.masonry-brick:nth-child(4n+2){width:40%}.masonry-brick:nth-child(4n+3){width:20%}.masonry-brick:nth-child(4n+4){width:30%}.masonry-brick-full{width:100%!important;height:291px!important;overflow:hidden;outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.card-body{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.card .circle{float:left;position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;margin:-30px 10px 15px 15px;background:#eee;z-index:1;font-size:1.5em;color:#414141!important}.card-team .card-content{width:100%;height:160px;margin-bottom:10px}.card-classroom{padding:15px;box-shadow:1px 1px 5px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 5px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 5px rgba(201,191,187,.7);margin-bottom:20px}.play-overlay{position:absolute;top:0;left:0;width:100%;text-align:center;height:291px;line-height:291px;background:rgba(0,0,0,.05)}.play-overlay img{width:80px;height:80px}.preview-wrapper{position:relative;margin-top:30px}.preview-image img{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.preview-button{position:absolute;top:0;right:0;color:#fff}.preview-text{position:relative;background:#f9f9f9;border:1px solid #ccc;padding:11px;margin-top:-7px}.img-with-outline{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.mt-5{margin-top:2em}.feed-card{width:100%;margin-bottom:30px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)}.feed-card .feed-header{margin-bottom:10px}.feed-card .feed-header .feed-avatar{float:left;width:40px;height:40px;margin-right:5px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #e6e5e5}.feed-card .feed-header .feed-buttom-option{position:absolute;top:5px;right:0;z-index:21}.mat-card{padding:15px 0 10px!important}.mat-card .mat-card-header .mat-card-title h4{font-size:16px;margin-bottom:0}.mat-card .mat-card-header .mat-card-title p{font-size:13px;color:#aaa}.container-mat-card{display:flex;align-items:flex-end;justify-content:flex-end;position:relative;overflow:hidden;margin:0 0 10px}.bg-mat-card{display:block;position:absolute;z-index:15;width:100%;height:calc(100% - 30px);-webkit-filter:blur(40px) brightness(80%);filter:blur(40px) brightness(80%);background-size:cover;background-repeat:no-repeat;background-position:center}.mat-card-image{position:relative;z-index:20;margin:0!important;-o-object-fit:contain;object-fit:contain;height:auto;max-height:540px;display:block;width:100%}.feed-comment-option{float:right;margin-top:-10px;margin-left:0}.clickable{cursor:pointer;color:var(--main-color)}.scroll-to-top{position:fixed;bottom:15px;right:15px;opacity:0;transition:.2s ease-in-out}.show-scroll{opacity:1;transition:.2s ease-in-out}.feed-actions{color:#ccc;font-size:16px;margin-right:10px;margin-bottom:5px;margin-left:10px}.feed-actions span{margin-left:5px}.feed-actions .btn{background:0 0!important;border:none!important}.feed-likes{font-size:13px;margin-top:10px}a.is-liked{color:var(--main-color)!important}a.disabled-like{color:#ccc!important;cursor:not-allowed;text-decoration:none;pointer-events:none}.carousel{margin-bottom:10px;margin-left:0;margin-right:0}.carousel-item{-o-object-fit:cover!important;object-fit:cover!important;max-height:400px;-o-object-position:center;object-position:center}.video-player{position:initial!important}::ng-deep .ws-pre-wrap h4{font-size:18px!important}::ng-deep .ws-pre-wrap a{color:var(--main-color)}.SeeMore{display:block;color:var(--main-color)!important;text-align:center;cursor:pointer}.carousel-stage{position:relative;z-index:0;min-height:100px}.carousel-stage .progress{height:8px;border-radius:30px}.carousel-stage .progress .progress-bar{background:var(--main-color)}.carousel-stage .courses-image-item{border-radius:5%;-o-object-fit:cover;object-fit:cover}.carousel-stage .courses-item{padding:15px}.carousel-stage .courses-title{text-align:center}.carousel-stage .courses-title a{color:#000!important;font-weight:400!important}.customNavigation a{display:flex;justify-content:center;align-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.8);color:var(--main-color)!important;text-align:center}.customNavigation a:hover{background:#fff;color:var(--main-color)}.prev{position:absolute;width:100%;top:50%;left:-15px;margin-top:-15px;z-index:10}.next{position:absolute;width:100%;top:50%;right:-15px;margin-top:-15px;z-index:10}.owl-dots{position:absolute;top:-40px;right:15px;outline:0!important}.owl-dots .owl-dot{background:#ccc!important;border-radius:50%;height:10px;width:10px;padding:0!important;border:none;margin:0 2px;outline:0!important}.owl-dots .owl-dot.active{background:var(--main-color)!important;outline:0!important}::ng-deep .owl-carousel-o-stories .owl-next,::ng-deep .owl-carousel-o-stories .owl-prev{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;display:block!important;border-radius:50%!important;margin-top:-5px!important}::ng-deep .owl-carousel-o-stories .owl-prev{left:5px!important}::ng-deep .owl-carousel-o-stories .owl-next{right:5px!important}::ng-deep .swiper-stage .swiper-container{padding:0}::ng-deep .swiper-stage .swiper-button-next,::ng-deep .swiper-stage .swiper-button-prev{display:flex;align-items:center;justify-content:center;margin-top:0!important;width:25px;height:25px;border-radius:50%;background-color:var(--main-color)!important;opacity:.7!important}::ng-deep .swiper-stage .swiper-button-prev{left:10px;right:auto!important}::ng-deep .swiper-stage .swiper-button-next{right:10px;left:auto!important}::ng-deep .swiper-stage .swiper-button-next:after,::ng-deep .swiper-stage .swiper-button-prev:after{font-size:13px!important;color:#fff}::ng-deep .swiper-stage .swiper-button-disabled{opacity:0!important}.carousel-stories{display:inline-block;width:100%;height:145px;margin:0;border-radius:6px;text-transform:uppercase;font-size:1em;font-weight:500;background-repeat:no-repeat;background-size:cover;cursor:pointer;background-position:center!important}.carousel-stories .item:focus{outline:0}.carousel-stories .stories-body{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;height:100%;padding:0}.carousel-stories .stories-body a{font-size:12px;color:#fff;margin-bottom:10px;text-shadow:0 1px 1px rgba(0,0,0,.6)}.carousel-stories .stories-body a:hover{color:#ccc}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{outline:0!important}::ng-deep .mat-menu-panel{border-radius:6px!important;outline:0!important}::ng-deep .mat-menu-panel .mat-menu-content:not(:empty){padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-menu-panel .mat-menu-item{color:#414141;font-size:15px;font-style:normal;font-weight:400;letter-spacing:1px;outline:0!important}.progress-bar-custom span{display:inline-block;height:100%;border-radius:3px;box-shadow:0 1px 0 rgba(37,21,21,.5) inset;transition:width .4s ease-in-out}.green-progress span{background-image:linear-gradient(to bottom,#fff,var(--main-color))}.stripes span{background-size:30px 30px;background-image:linear-gradient(135deg,#ff4e4ef3 25%,transparent 25%,transparent 50%,rgba(236,47,47,.972) 50%,rgba(240,0,0,.15) 75%,transparent 75%,transparent);-webkit-animation:3s linear infinite animate-stripes;animation:3s linear infinite animate-stripes}.container-stipes{width:100%;padding:0 10px;font-weight:700}.keep-logged{position:relative;height:150px;background:var(--main-color);top:0;color:#fff!important;z-index:99;opacity:.9;width:100%;border:0;left:0;right:0}.keep-logged button{background:#fff!important;color:var(--main-color)!important}.scrollable{overflow-y:scroll;height:100vh}.alert-primary{color:#fff;background-color:var(--main-color)!important;background:var(--main-color)!important}.mat-progress-bar{height:17px;border-radius:5px}@-webkit-keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}.p-channel{color:#3c4858;font-weight:500;margin-bottom:0!important}.btn-scroll-to-top{position:fixed;bottom:0;right:0;color:#fffF;font-size:20px;margin-right:25px;margin-bottom:25px;height:40px;width:40px;border:none;text-align:center;border-radius:50%;outline:0;transition:1s ease-in;background-color:var(--main-color);z-index:99999}@media (max-width:767px){.form-feed textarea{font-size:12px}.btn-feed{width:auto;font-size:11px;padding:2px 5px;border-radius:30px;font-weight:600;text-transform:capitalize}.carousel-stories{width:120px;height:120px}.keep-logged{height:175px}.keep-logged h3{font-size:1.1rem}.keep-logged button{font-size:1rem}.btn-group-xs>.btn,.btn-xs{padding:2px 5px;font-size:11px;line-height:1;border-radius:30px}}::ng-deep .mat-card-header-text{width:100%!important;margin:0}::ng-deep .popover{background:#fff!important;border:0!important;box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important}.minibio{padding:10px;border-radius:10px}.minibio img{width:30%;max-width:100px;display:inline-block;padding-right:10px}.minibio .info{display:inline-block;vertical-align:top}.minibio .info .icon{color:#d4d4d4}.minibio .info ul{list-style:none}.minibio .info li{display:inline-block}"]
462
+ template: "<form *ngIf=\"global.loggedUser()\" class=\"form-comment\">\r\n <img *ngIf=\"global.loggedUser().picture\" [src]=\"global.loggedUser().picture\" class=\"avatar-45\" alt=\"\">\r\n <div *ngIf=\"!global.loggedUser().picture\" class=\"avatar-45-null\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n <ng-container>\r\n <input type=\"text\" name=\"comment\" [(ngModel)]=\"comment\" (keyup.enter)=\"sendComment(comment)\" [disabled]=\"onLoadingComment\" placeholder=\"{{ 'SendCommentFeed' | translate }}\">\r\n <div class=\"clearfix\"></div>\r\n </ng-container>\r\n</form>\r\n\r\n<div *ngFor=\"let comment of comments | slice:0:limitCommentsTo; let i=index\">\r\n <popover-content #myPopover \r\n placement=\"auto right\"\r\n [closeOnClickOutside]=\"true\" [closeOnMouseOutside]=\"false\" [animation]=\"true\">\r\n <div class='minibio'>\r\n <img *ngIf=\"comment?.user_info?.picture\" [src]=\"comment?.user_info?.picture\" alt=\"\">\r\n <div class=\"info\"><b>{{ comment?.user_info?.name }}</b><br/>\r\n <!-- <span class=\"location\"><i class=\"icon fa fa-globe\" aria-hidden=\"true\"></i>&nbsp;Fortaleza/CE</span> <br/> -->\r\n </div>\r\n </div>\r\n </popover-content>\r\n <a *ngIf=\"comment\" [routerLink]=\"['/profile',comment?.user_info?.id]\">\r\n <img *ngIf=\"comment?.user_info?.picture\" [src]=\"comment?.user_info?.picture\" class=\"avatar-45\" alt=\"\" [popover]=\"myPopover\" [popoverOnHover]=\"true\">\r\n <div *ngIf=\"!comment?.user_info?.picture\" class=\"avatar-45-null\" [popover]=\"myPopover\" [popoverOnHover]=\"true\">\r\n <i class=\"fa fa-user\"></i>\r\n </div></a>\r\n <div class=\"comments\">\r\n\r\n <ng-container *ngIf=\"global?.loggedUser() && !comment.onEdit\">\r\n <div class=\"feed-comment-option\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"appMenu\"\r\n *ngIf=\"comment?.user_info?.id == global?.loggedUser().id\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #appMenu=\"matMenu\">\r\n <button mat-menu-item (click)=\"onEditComment(comment)\">\r\n <mat-icon>create</mat-icon>\r\n {{ 'Edit' | translate }}\r\n </button>\r\n <button mat-menu-item (click)=\"deleteComment(comment.id)\">\r\n <mat-icon>delete</mat-icon>\r\n {{ 'Remove' | translate }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </ng-container>\r\n <p *ngIf=\"!comment.onEdit\"><b>{{ comment?.user_info?.name || 'N\u00E3o Informado' }}</b>&nbsp;<span [innerHTML]=\"linkify(comment.comment)\"></span></p>\r\n <form class=\"form-comment-reply\"*ngIf=\"comment.onEdit\">\r\n <input class=\"editing-comment-input\" type=\"text\" [(ngModel)]=\"editedComment\" name=\"editedComment\" [disabled]=\"onLoadingReply\" (keyup.enter)=\"updateComment(comment.id, editedComment)\" (keyup.esc)=\"onEditComment(comment)\" placeholder=\"{{ 'Comment' | translate }}\">\r\n <div class=\"clearfix\"></div>\r\n </form>\r\n \r\n\r\n <small class=\"text-primary\"> <b>{{ comment?.likes?.length ? comment?.likes?.length : '' }}</b> <a [ngClass]=\"{'disabled-action': onLoadingLike || !global?.loggedUser()}\" (click)=\"sendLikeComment(comment.id, comment?.likeForMeID, comment)\"> \r\n <ng-container *ngIf=\"comment.likeForMe\">\r\n Curtiu\r\n </ng-container>\r\n <ng-container *ngIf=\"!comment.likeForMe\">\r\n Curtir\r\n </ng-container>\r\n </a></small> - \r\n <small class=\"reply-comment text-primary m-0\"><b>{{ comment?.replys?.length ? comment?.replys?.length : '' }} </b> <a [ngClass]=\"{'disabled-action': !global?.loggedUser()}\" (click)=\"onReplyComment(i)\">Responder</a></small> - \r\n <small class=\"txt-gray m-0\" *ngIf=\"comment?.edited\">editado - </small>\r\n <!-- <small class=\"txt-gray m-0\">{{ comment.updated_at | amTimeAgo}} </small> -->\r\n <small class=\"txt-gray m-0\">{{ comment.updated_at | amCalendar | amDateFormat: 'DD/MM/YYYY' }} </small>\r\n <!-- Reply Section -->\r\n <form class=\"form-comment-reply\"*ngIf=\"replyingComment[i] == true\">\r\n <input type=\"text\" [disabled]=\"onLoadingReply\" [(ngModel)]=\"reply\" name=\"reply\" (keyup.enter)=\"replyComment(comment.id, reply, comment.user_info, i)\" placeholder=\"{{ 'ReplyThisComment' | translate }}\">\r\n <div class=\"clearfix\"></div>\r\n </form>\r\n <!-- <code>{{ limitReplysTo[i] | json }}</code> -->\r\n <ng-container *ngIf=\"comment.replys && comment.replys.length > 0\">\r\n <ng-container *ngFor=\"let subItem of comment.replys | slice:0:comment.limitReplysTo;\">\r\n <popover-content #myPopover \r\n placement=\"auto right\"\r\n [closeOnClickOutside]=\"true\" [closeOnMouseOutside]=\"false\" [animation]=\"true\">\r\n <div class='minibio'>\r\n <img *ngIf=\"subItem.user_info?.picture\" [src]=\"subItem?.user_info?.picture\" class=\"avatar-45\" alt=\"\">\r\n <div class=\"info\"><b>{{ comment?.user_info?.name }}</b><br/>\r\n <!-- <span class=\"location\"><i class=\"icon fa fa-globe\" aria-hidden=\"true\"></i>&nbsp;Fortaleza/CE</span> -->\r\n </div>\r\n </div>\r\n </popover-content>\r\n <div class=\"reply-avatar\">\r\n <img *ngIf=\"subItem.user_info?.picture\" [src]=\"subItem?.user_info?.picture\" alt=\"\" class=\"avatar-45-null\" [popover]=\"myPopover\" [popoverOnHover]=\"true\">\r\n <div *ngIf=\"!subItem.user_info.picture || subItem.user_info.picture == ''\" class=\"avatar-45-null\">\r\n <i class=\"fa fa-user\"></i>\r\n </div>\r\n </div>\r\n\r\n <div class=\"replys\">\r\n <ng-container *ngIf=\"global.loggedUser()\">\r\n <ng-container *ngIf=\"global?.loggedUser()?.id === subItem.user_info.id && !subItem.onEdit\">\r\n <div class=\"feed-comment-option\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"appSubMenu\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #appSubMenu=\"matMenu\">\r\n <button mat-menu-item (click)=\"onEditReply(subItem)\">\r\n <mat-icon>create</mat-icon>\r\n {{ 'Edit' | translate }}\r\n </button>\r\n <button mat-menu-item (click)=\"deleteReply(comment.id, subItem.id)\">\r\n <mat-icon>delete</mat-icon>\r\n {{ 'Remove' | translate }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"!subItem.onEdit\">\r\n <p> <b>{{ subItem.user_info.name || 'N\u00E3o Informado' }}</b> {{ subItem.comment }}</p>\r\n <!-- <small class=\"txt-gray\">{{ subItem.updated_at | amTimeAgo}} </small> -->\r\n <small class=\"txt-gray\">{{ subItem.updated_at | amCalendar | amDateFormat: 'DD/MM/YYYY' }} </small>\r\n </ng-container>\r\n <ng-container *ngIf=\"subItem.onEdit\">\r\n <form class=\"form-comment-reply form-reply-edited\">\r\n <input type=\"text\" [disabled]=\"onLoadingReply\" [(ngModel)]=\"editedReply\" name=\"editedReply\" (keyup.enter)=\"updateReply(comment.id, subItem, editedReply)\" placeholder=\"{{ 'ReplyThisComment' | translate }}\">\r\n <div class=\"clearfix\"></div>\r\n </form>\r\n </ng-container>\r\n\r\n </div>\r\n \r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"comment?.replys.length > 1 && (comment.replys.length - comment.limitReplysTo > 0)\">\r\n <div class=\"SeeMore on-reply\">\r\n <i class=\"fa fa-reply\"></i>\r\n <span (click)=\"loadMoreReplys(comment)\" *ngIf=\"(comments?.length > limitCommentsTo)\"> {{ comment.replys.length - comment.limitReplysTo}} {{ 'Replys' | translate }}</span>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n \r\n <!-- End Reply Section -->\r\n\r\n\r\n </div>\r\n</div>\r\n\r\n<ng-container *ngIf=\"(comments?.length > 2)\">\r\n <div class=\"SeeMore\">\r\n <span (click)=\"loadMoreComments()\" *ngIf=\"(comments?.length > limitCommentsTo)\">{{ 'SeeMore' | translate }} {{ comments?.length - limitCommentsTo}} {{ 'Comments' | translate }}</span>\r\n </div>\r\n</ng-container>",
463
+ styles: [".SeeMore{margin-bottom:10px;font-size:14px}.on-reply{font-size:13px;margin-top:-9px;margin-bottom:0;text-align:left!important;margin-left:65px}.on-reply span{margin-left:25px}.comments{margin:10px -15px!important}.comments .feed-comment-option{margin-top:0;margin-right:10px}.comments p{margin:11px 7px 10px 60px;font-size:14px;word-break:break-all;white-space:normal;word-break:break-word;word-wrap:break-word;background-color:#e6e6e6;padding:10px;border-radius:18px}.comments small{margin:5px 3px 5px 65px}.disabled-action{pointer-events:none;opacity:.6}.like-comment{margin:5px 3px 5px 65px}.reply-comment{margin-left:15px}.feed-comment-box{background-color:#f2f3f5;border-radius:18px;box-sizing:border-box;color:#1c1e21;padding:10px;line-height:16px;margin:0;max-width:100%;word-wrap:break-word;position:relative;white-space:normal;word-break:break-word}.reply-avatar{margin-left:56px;margin-top:5px}.replys{margin:5px 3px 5px 70px}.replys p{margin:0 8px 3px 31px!important;white-space:normal;word-break:break-word!important;word-wrap:break-word!important;background-color:#f5f3f3;padding:10px;border-radius:18px;width:calc(100% - 39px)!important}.replys .feed-comment-option{margin-top:0;margin-right:5px}.replys small{margin-left:35px}.form-comment-reply{width:100%;margin:0!important;padding:7px 0 10px 78px!important}.form-comment-reply input[type=text]{float:left;width:calc(100% - 15px);border:1px solid #eee;box-shadow:none;border-radius:30px;padding:8px 13px;outline:0}.form-comment-reply .editing-comment-input{padding-top:8px;margin-top:-11px;margin-left:-8px}.form-reply-edited{padding:0 0 9px 32px!important}", "li,ul{list-style:none!important}a,a:hover{text-decoration:none}.text-primary{color:var(--main-color)}.card{border-radius:6px;box-shadow:1px 1px 10px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 10px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 10px rgba(201,191,187,.7);border:none;margin-bottom:30px;margin-top:0}.card .card-content{flex:1 1 auto;padding:1.25rem}.comments{margin:30px -15px}.comments h4{font-size:16px;color:#414141;margin-bottom:0;font-weight:600}.comments p{margin:5px 15px 5px 65px;font-size:14px;word-break:break-all}.post-text{white-space:pre-wrap!important;font-size:14px}.form-feed{width:100%;margin:0 0 25px!important;padding:10px 15px!important;border-radius:8px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7);background-color:var(--bg-card)!important}.form-feed .title{font-size:16px;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:10px}.form-feed textarea{float:left;width:calc(100% - 50px);border-bottom:1px solid #eee;border-top:transparent;border-left:transparent;border-right:transparent;box-shadow:none;padding:5px 10px;outline:0!important}.form-input-btn a{float:right;border:none!important;box-shadow:none!important;background:0 0;padding:0;margin-top:12px;position:relative;right:0;left:0;margin-bottom:0;color:#8e8994}.form-input-btn a .material-icons{font-size:18px}.mat-dialog-container{padding:0!important}.form-comment{width:100%;margin:0!important;padding:15px 0 0!important;border-top:1px solid #eee}.form-comment input[type=text]{float:left;width:calc(100% - 50px);border:1px solid #eee;box-shadow:none;border-radius:30px;padding:5px 10px;outline:0}input::-webkit-input-placeholder{color:#ccc}input::-moz-placeholder{color:#ccc}input:-ms-input-placeholder{color:#ccc}input::-ms-input-placeholder{color:#ccc}input::placeholder{color:#ccc}.avatar-30{float:left;width:30px;height:30px;margin-right:10px;border-radius:50%}.avatar-30-null{display:flex;align-items:center;justify-content:center;float:left;width:30px;height:30px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb}.comment-time{position:absolute;right:15px}.avatar-45{float:left;width:40px;height:40px;margin-right:10px;border-radius:50%}.avatar-45-null{display:flex;align-items:center;justify-content:center;float:left;width:40px;height:40px;margin-right:10px;border-radius:50%;background:#fafafa;color:#bbb;border:1.3px solid var(--main-color)}.super-post{position:absolute;right:15px;top:10px;font-size:1.8em;color:#888}.icons-comments{margin:10px 0 0;padding:10px 20px;border-top:1px solid #eee;border-bottom:1px solid #eee}.icons-comments li{display:inline-block;margin-right:30px;font-size:14px}.icons-comments li:last-child{margin-right:0;position:absolute;right:20px}.icons-comments li a{color:#4a4a4a;cursor:pointer}.icons-comments li a.active,.icons-comments li a:hover{color:var(--main-color)}.icons-comments .fa{font-size:16px}.card-file{width:100%;margin:0 auto 30px;box-shadow:0 0 30px rgba(204,204,204,.4);border:none;border-radius:12px;transition:.5s}.card-file:hover{box-shadow:0 0 30px rgba(204,204,204,.8)}.card-file .card-cover{display:flex;align-items:center;justify-content:center;padding:15px;position:relative;width:100%;height:160px;border-top-left-radius:16px;border-top-right-radius:12px;-o-object-fit:cover;object-fit:cover;background-size:cover;background-position:center;z-index:1;background:var(--main-color);color:#fff!important}.card-file .card-content{height:auto;padding:0 15px}.card-file .card-content .description{color:#888}.card-file .title{color:#fff;margin-bottom:0;font-size:18px;text-shadow:2px 2px 2px #101010}.btn-feed{width:auto;font-size:12px;padding:2px 5px;border-radius:30px;font-weight:600;text-transform:capitalize}.btn-group-xs>.btn,.btn-xs{padding:2px 15px 3px;font-size:13px;line-height:1;border-radius:30px}.btn-primary,.btn-primary:hover{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary.focus,.btn-primary:focus{background-color:var(--bg-btn);border-color:var(--bg-btn);box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-primary.disabled,.btn-primary:disabled,.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:var(--text-btn)!important;background-color:var(--bg-btn);border-color:var(--bg-btn)}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary{color:#fff;background-color:#111;border-color:#111}.btn-secondary:hover{color:#fff;background-color:#333;border-color:#333}.btn-secondary.focus,.btn-secondary:focus{background-color:#333;border-color:#333;box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#111;border-color:#111}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#333;border-color:#333}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,0,0,.5)}.ribbon{width:150px;height:150px;overflow:hidden;position:absolute;z-index:1}.ribbon::after,.ribbon::before{position:absolute;z-index:-1;content:\"\";display:block;border:5px solid var(--bg-btn)}.ribbon span{position:absolute;display:block;width:225px;padding:15px 0;background-color:var(--bg-btn);box-shadow:0 5px 10px rgba(0,0,0,.1);color:#fff;font:700 18px/1 Lato,sans-serif;text-shadow:0 1px 1px rgba(0,0,0,.2);text-transform:uppercase;text-align:center}.ribbon-top-left{top:-10px;left:-10px;background:0 0}.ribbon-top-left::after,.ribbon-top-left::before{border-top-color:transparent;border-left-color:transparent}.ribbon-top-left::before{top:0;right:0}.ribbon-top-left::after{bottom:0;left:0}.ribbon-top-left span{right:-25px;top:30px;transform:rotate(-45deg)}.ribbon-top-right{top:-10px;right:-10px;background:0 0!important}.ribbon-top-right::after,.ribbon-top-right::before{border-top-color:transparent;border-right-color:transparent}.ribbon-top-right::before{top:0;left:0}.ribbon-top-right::after{bottom:0;right:0}.ribbon-top-right span{left:-25px;top:30px;transform:rotate(45deg)}.ribbon-bottom-left{bottom:-10px;left:-10px}.ribbon-bottom-left::after,.ribbon-bottom-left::before{border-bottom-color:transparent;border-left-color:transparent}.ribbon-bottom-left::before{bottom:0;right:0}.ribbon-bottom-left::after{top:0;left:0}.ribbon-bottom-left span{right:-25px;bottom:30px;transform:rotate(225deg)}.ribbon-bottom-right{bottom:-10px;right:-10px}.ribbon-bottom-right::after,.ribbon-bottom-right::before{border-bottom-color:transparent;border-right-color:transparent}.ribbon-bottom-right::before{bottom:0;left:0}.ribbon-bottom-right::after{top:0;right:0}.ribbon-bottom-right span{left:-25px;bottom:30px;transform:rotate(-225deg)}.video-container{min-height:200px}.video-container img{width:100%;-o-object-fit:cover;object-fit:cover;-webkit-filter:blur(10px);filter:blur(10px)}.video-player{top:0;left:1px;width:calc(100% - 2px)}.tmp-file-buttons-overlay{opacity:1}.overlayed{opacity:1!important;visibility:visible}.tmp-file-status-overlay{position:absolute;background:rgba(0,0,0,.5);text-align:center;z-index:9999999999;color:#fff;width:156px;height:120px;padding:20px}.tmp-file-status-overlay p{color:#fff}.tmp-file-buttons-overlay{background:rgba(0,0,0,.5);width:156px;height:120px;position:absolute;z-index:99999;visibility:visible;opacity:1;transition:opacity .5s ease-out}.tmp-file-remove-button{position:absolute;right:5px;text-align:right;width:10px;color:#fff;padding:0 1px;border-radius:0}.tmp-file-content{width:156px;height:120px;overflow:hidden}.tmp-upload-video{-o-object-fit:contain;object-fit:contain}.tmp-file-wrapper{position:relative}.tmp-upload{-o-object-fit:cover;object-fit:cover;width:156px;height:120px}.tmp-file-wrapper-container{padding:20px 0 0;margin:20px -15px;border-width:1px 0;border-color:#ccc;border-style:solid}.hide{display:none}.masonry{display:flex;flex-flow:row wrap;margin:20px 0 -2px}.masonry-brick{flex:auto;height:250px;min-width:150px;margin:2px;position:relative;cursor:pointer}.masonry-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.masonry-brick:nth-child(4n+1){width:50%}.masonry-brick:nth-child(4n+2){width:40%}.masonry-brick:nth-child(4n+3){width:20%}.masonry-brick:nth-child(4n+4){width:30%}.masonry-brick-full{width:100%!important;height:291px!important;overflow:hidden;outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.card-body{border-bottom-left-radius:16px;border-bottom-right-radius:16px}.card .circle{float:left;position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;margin:-30px 10px 15px 15px;background:#eee;z-index:1;font-size:1.5em;color:#414141!important}.card-team .card-content{width:100%;height:160px;margin-bottom:10px}.card-classroom{padding:15px;box-shadow:1px 1px 5px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 5px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 5px rgba(201,191,187,.7);margin-bottom:20px}.play-overlay{position:absolute;top:0;left:0;width:100%;text-align:center;height:291px;line-height:291px;background:rgba(0,0,0,.05)}.play-overlay img{width:80px;height:80px}.preview-wrapper{position:relative;margin-top:30px}.preview-image img{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.preview-button{position:absolute;top:0;right:0;color:#fff}.preview-text{position:relative;background:#f9f9f9;border:1px solid #ccc;padding:11px;margin-top:-7px}.img-with-outline{outline:rgba(0,0,0,.2) solid 1px;outline-offset:-1px}.mt-5{margin-top:2em}.feed-card{width:100%;margin-bottom:30px;box-shadow:1px 1px 15px rgba(201,191,187,.7);-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7);-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)}.feed-card .feed-header{margin-bottom:10px}.feed-card .feed-header .feed-avatar{float:left;width:40px;height:40px;margin-right:5px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #e6e5e5}.feed-card .feed-header .feed-buttom-option{position:absolute;top:5px;right:0;z-index:21}.mat-card{padding:15px 0 10px!important}.mat-card .mat-card-header .mat-card-title h4{font-size:16px;margin-bottom:0}.mat-card .mat-card-header .mat-card-title p{font-size:13px;color:#aaa}.container-mat-card{display:flex;align-items:flex-end;justify-content:flex-end;position:relative;overflow:hidden;margin:0 0 10px}.bg-mat-card{display:block;position:absolute;z-index:15;width:100%;height:calc(100% - 30px);-webkit-filter:blur(40px) brightness(80%);filter:blur(40px) brightness(80%);background-size:cover;background-repeat:no-repeat;background-position:center}.mat-card-image{position:relative;z-index:20;margin:0!important;-o-object-fit:contain;object-fit:contain;height:auto;max-height:540px;display:block;width:100%}.feed-comment-option{float:right;margin-top:-10px;margin-left:0}.clickable{cursor:pointer;color:var(--main-color)}.scroll-to-top{position:fixed;bottom:15px;right:15px;opacity:0;transition:.2s ease-in-out}.show-scroll{opacity:1;transition:.2s ease-in-out}.feed-actions{color:#ccc;font-size:16px;margin-right:10px;margin-bottom:5px;margin-left:10px}.feed-actions span{margin-left:5px}.feed-actions .btn{background:0 0!important;border:none!important}.feed-likes{font-size:13px;margin-top:10px}a.is-liked{color:var(--main-color)!important}a.disabled-like{color:#ccc!important;cursor:not-allowed;text-decoration:none;pointer-events:none}.carousel{margin-bottom:10px;margin-left:0;margin-right:0}.carousel-item{-o-object-fit:cover!important;object-fit:cover!important;max-height:400px;-o-object-position:center;object-position:center}.video-player{position:initial!important}::ng-deep .ws-pre-wrap h4{font-size:18px!important}::ng-deep .ws-pre-wrap a{color:var(--main-color)}.SeeMore{display:block;color:var(--main-color)!important;text-align:center;cursor:pointer}.carousel-stage{position:relative;z-index:0;min-height:100px}.carousel-stage .progress{height:8px;border-radius:30px}.carousel-stage .progress .progress-bar{background:var(--main-color)}.carousel-stage .courses-image-item{border-radius:5%;-o-object-fit:cover;object-fit:cover}.carousel-stage .courses-item{padding:15px}.carousel-stage .courses-title{text-align:center}.carousel-stage .courses-title a{color:#000!important;font-weight:400!important}.customNavigation a{display:flex;justify-content:center;align-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.8);color:var(--main-color)!important;text-align:center}.customNavigation a:hover{background:#fff;color:var(--main-color)}.prev{position:absolute;width:100%;top:50%;left:-15px;margin-top:-15px;z-index:10}.next{position:absolute;width:100%;top:50%;right:-15px;margin-top:-15px;z-index:10}.owl-dots{position:absolute;top:-40px;right:15px;outline:0!important}.owl-dots .owl-dot{background:#ccc!important;border-radius:50%;height:10px;width:10px;padding:0!important;border:none;margin:0 2px;outline:0!important}.owl-dots .owl-dot.active{background:var(--main-color)!important;outline:0!important}::ng-deep .owl-carousel-o-stories .owl-next,::ng-deep .owl-carousel-o-stories .owl-prev{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;display:block!important;border-radius:50%!important;margin-top:-5px!important}::ng-deep .owl-carousel-o-stories .owl-prev{left:5px!important}::ng-deep .owl-carousel-o-stories .owl-next{right:5px!important}::ng-deep .swiper-stage .swiper-container{padding:0}::ng-deep .swiper-stage .swiper-button-next,::ng-deep .swiper-stage .swiper-button-prev{display:flex;align-items:center;justify-content:center;margin-top:0!important;width:25px;height:25px;border-radius:50%;background-color:var(--main-color)!important;opacity:.7!important}::ng-deep .swiper-stage .swiper-button-prev{left:10px;right:auto!important}::ng-deep .swiper-stage .swiper-button-next{right:10px;left:auto!important}::ng-deep .swiper-stage .swiper-button-next:after,::ng-deep .swiper-stage .swiper-button-prev:after{font-size:13px!important;color:#fff}::ng-deep .swiper-stage .swiper-button-disabled{opacity:0!important}.carousel-stories{display:inline-block;width:100%;height:145px;margin:0;border-radius:6px;text-transform:uppercase;font-size:1em;font-weight:500;background-repeat:no-repeat;background-size:cover;cursor:pointer;background-position:center!important}.carousel-stories .item:focus{outline:0}.carousel-stories .stories-body{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;height:100%;padding:0}.carousel-stories .stories-body a{font-size:12px;color:#fff;margin-bottom:10px;text-shadow:0 1px 1px rgba(0,0,0,.6)}.carousel-stories .stories-body a:hover{color:#ccc}.mat-button,.mat-flat-button,.mat-icon-button,.mat-stroked-button{outline:0!important}::ng-deep .mat-menu-panel{border-radius:6px!important;outline:0!important}::ng-deep .mat-menu-panel .mat-menu-content:not(:empty){padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-menu-panel .mat-menu-item{color:#414141;font-size:15px;font-style:normal;font-weight:400;letter-spacing:1px;outline:0!important}.progress-bar-custom span{display:inline-block;height:100%;border-radius:3px;box-shadow:0 1px 0 rgba(37,21,21,.5) inset;transition:width .4s ease-in-out}.green-progress span{background-image:linear-gradient(to bottom,#fff,var(--main-color))}.stripes span{background-size:30px 30px;background-image:linear-gradient(135deg,#ff4e4ef3 25%,transparent 25%,transparent 50%,rgba(236,47,47,.972) 50%,rgba(240,0,0,.15) 75%,transparent 75%,transparent);-webkit-animation:3s linear infinite animate-stripes;animation:3s linear infinite animate-stripes}.container-stipes{width:100%;padding:0 10px;font-weight:700}.keep-logged{position:relative;height:150px;background:var(--main-color);top:0;color:#fff!important;z-index:99;opacity:.9;width:100%;border:0;left:0;right:0}.keep-logged button{background:#fff!important;color:var(--main-color)!important}.scrollable{overflow-y:scroll;height:100vh}.alert-primary{color:#fff;background-color:var(--main-color)!important;background:var(--main-color)!important}.mat-progress-bar{height:17px;border-radius:5px}@-webkit-keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:60px 0}}.p-channel{color:#3c4858;font-weight:500;margin-bottom:0!important}@media (max-width:767px){.form-feed textarea{font-size:12px}.btn-feed{width:auto;font-size:11px;padding:2px 5px;border-radius:30px;font-weight:600;text-transform:capitalize}.carousel-stories{width:120px;height:120px}.keep-logged{height:175px}.keep-logged h3{font-size:1.1rem}.keep-logged button{font-size:1rem}.btn-group-xs>.btn,.btn-xs{padding:2px 5px;font-size:11px;line-height:1;border-radius:30px}}::ng-deep .mat-card-header-text{width:100%!important;margin:0}::ng-deep .popover{background:#fff!important;border:0!important;box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-moz-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important;-webkit-box-shadow:1px 1px 15px rgba(201,191,187,.7)!important}.minibio{padding:10px;border-radius:10px}.minibio img{width:30%;max-width:100px;display:inline-block;padding-right:10px}.minibio .info{display:inline-block;vertical-align:top}.minibio .info .icon{color:#d4d4d4}.minibio .info ul{list-style:none}.minibio .info li{display:inline-block}"]
464
464
  }] }
465
465
  ];
466
466
  /** @nocollapse */
@@ -517,4 +517,4 @@ if (false) {
517
517
  /** @type {?} */
518
518
  FeedCommentsComponent.prototype.asapService;
519
519
  }
520
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC1jb21tZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hc2FwLWZlZWQtYmV0YS8iLCJzb3VyY2VzIjpbImxpYi9mZWVkLWNvbW1lbnRzL2ZlZWQtY29tbWVudHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFPaEQsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7Ozs7SUFpQmhDLFlBQ1MsTUFBYyxFQUNkLEVBQW9CLEVBQ3BCLFdBQTRCLEVBQzVCLE9BQXFCLEVBQ3JCLFdBQXdCO1FBSnhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWxCMUIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBRXJCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBS2xCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQVE1QixDQUFDOzs7O0lBRUwsUUFBUTtRQUNOLElBQUksQ0FB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QUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNsQixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHOzs7O2dCQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDO2dCQUNsRCxXQUFXLEVBQUUsR0FBRzthQUNqQixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUExV0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6Qiw4bVNBQTZDOzthQUU5Qzs7OztZQU5RLE1BQU07WUFKTixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLFlBQVk7WUFFSixXQUFXOzs7c0JBU3pCLEtBQUs7bUJBQ0wsS0FBSzs7OztJQUROLHdDQUFpQjs7SUFDakIscUNBQWM7O0lBQ2QseUNBQXFCOztJQUNyQixnREFBNEI7O0lBQzVCLDZDQUFvQjs7SUFDcEIsZ0RBQTJCOztJQUMzQiw4Q0FBeUI7O0lBQ3pCLHdDQUFlOztJQUFBLG1DQUFFOztJQUNqQixzQ0FBYTs7SUFDYiw4Q0FBcUI7O0lBQ3JCLDRDQUFtQjs7SUFDbkIsOENBQTZCOztJQUM3QiwrQ0FBOEI7O0lBQzlCLGlEQUFnQzs7SUFHOUIsdUNBQXFCOztJQUNyQixtQ0FBMkI7O0lBQzNCLDRDQUFtQzs7SUFDbkMsd0NBQTRCOztJQUM1Qiw0Q0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcclxuaW1wb3J0IHsgQXNhcEZlZWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXNhcC1mZWVkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgcGF0aCB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBHbG9iYWwsIEFzYXBTZXJ2aWNlIH0gZnJvbSAnYXNhcC1jcnVkJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZmVlZC1jb21tZW50cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlZWQtY29tbWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZlZWQtY29tbWVudHMuY29tcG9uZW50LnNjc3MnLCAnLi4vYXNhcC1mZWVkLmJldGEuY29tcG9uZW50ZS5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZWRDb21tZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGZlZWRfaWQ7XHJcbiAgQElucHV0KCkgdXNlcjtcclxuICBwdWJsaWMgY29tbWVudHMgPSBbXTtcclxuICBwdWJsaWMgcmVwbHlpbmdDb21tZW50ID0gW107XHJcbiAgcHVibGljIG1lbnRpb25zTGlzdDtcclxuICBwdWJsaWMgbGltaXRDb21tZW50c1RvID0gMztcclxuICBwdWJsaWMgbGltaXRSZXBseXNUbyA9IDE7XHJcbiAgcHVibGljIGNvbW1lbnQ7bmcgXHJcbiAgcHVibGljIHJlcGx5O1xyXG4gIHB1YmxpYyBlZGl0ZWRDb21tZW50O1xyXG4gIHB1YmxpYyBlZGl0ZWRSZXBseTtcclxuICBwdWJsaWMgb25Mb2FkaW5nTGlrZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvbkxvYWRpbmdSZXBseSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvbkxvYWRpbmdDb21tZW50ID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGdsb2JhbDogR2xvYmFsLFxyXG4gICAgcHVibGljIGRiOiBBbmd1bGFyRmlyZXN0b3JlLFxyXG4gICAgcHVibGljIGZlZWRTZXJ2aWNlOiBBc2FwRmVlZFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VydmljZTogVXRpbHNTZXJ2aWNlLFxyXG4gICAgcHVibGljIGFzYXBTZXJ2aWNlOiBBc2FwU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRDb21tZW50cyh0aGlzLmZlZWRfaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENvbW1lbnRzKGZlZWRfaWQpIHtcclxuICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpXHJcbiAgICAgIC5kb2MoZmVlZF9pZClcclxuICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJywgKHJlZjogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHF1ZXJ5ID0gcmVmLm9yZGVyQnkoXCJ1cGRhdGVkX2F0XCIsIFwiZGVzY1wiKTtcclxuICAgICAgICByZXR1cm4gcXVlcnk7XHJcbiAgICAgIH0pO1xyXG5cclxuXHJcbiAgICBjb2xsZWN0aW9uLnNuYXBzaG90Q2hhbmdlcygpLnN1YnNjcmliZSgoY29tbWVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuY29tbWVudHMgPSBbXTtcclxuICAgICAgY29tbWVudC5tYXAoaXRlbSA9PiB7XHJcbiAgICAgICAgbGV0IGRhdGEgPSBpdGVtLnBheWxvYWQuZG9jLmRhdGEoKTtcclxuICAgICAgICBkYXRhLmlkID0gaXRlbS5wYXlsb2FkLmRvYy5pZDtcclxuICAgICAgICBkYXRhLmxpa2VGb3JNZSA9IGZhbHNlO1xyXG4gICAgICAgIGRhdGEubGltaXRSZXBseXNUbyA9IDE7XHJcblxyXG4gICAgICAgIGNvbnN0IGxpa2VzQ29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgICAgIC5kb2MoZmVlZF9pZClcclxuICAgICAgICAgIC5jb2xsZWN0aW9uKCdjb21tZW50cycpXHJcbiAgICAgICAgICAuZG9jKGRhdGEuaWQpXHJcbiAgICAgICAgICAuY29sbGVjdGlvbignbGlrZScpO1xyXG5cclxuXHJcbiAgICAgICAgbGlrZXNDb2xsZWN0aW9uLnNuYXBzaG90Q2hhbmdlcygpLnN1YnNjcmliZShsaWtlID0+IHtcclxuICAgICAgICAgIGRhdGEubGlrZXMgPSBbXTtcclxuICAgICAgICAgIGxpa2UubWFwKHN1Ykl0ZW1MaWtlID0+IHtcclxuICAgICAgICAgICAgbGV0IGxpa2VEYXRhID0gc3ViSXRlbUxpa2UucGF5bG9hZC5kb2MuZGF0YSgpO1xyXG4gICAgICAgICAgICBsaWtlRGF0YS5pZCA9IHN1Ykl0ZW1MaWtlLnBheWxvYWQuZG9jWydpZCddO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSkge1xyXG4gICAgICAgICAgICAgIGlmIChsaWtlRGF0YS51c2VyX2luZm8gJiYgbGlrZURhdGEudXNlcl9pbmZvLmlkID09PSB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuaWQpIHtcclxuICAgICAgICAgICAgICAgIGRhdGEubGlrZUZvck1lID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGRhdGEubGlrZUZvck1lSUQgPSBsaWtlRGF0YS5pZDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGRhdGEubGlrZXMucHVzaChsaWtlRGF0YSk7XHJcblxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlcGx5Q29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgICAgIC5kb2MoZmVlZF9pZClcclxuICAgICAgICAgIC5jb2xsZWN0aW9uKCdjb21tZW50cycpXHJcbiAgICAgICAgICAuZG9jKGRhdGEuaWQpXHJcbiAgICAgICAgICAuY29sbGVjdGlvbigncmVwbHknLCByZWYgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVmLm9yZGVyQnkoJ3VwZGF0ZWRfYXQnLCAnZGVzYycpO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJlcGx5Q29sbGVjdGlvbi5zbmFwc2hvdENoYW5nZXMoKS5zdWJzY3JpYmUocmVwbHkgPT4ge1xyXG4gICAgICAgICAgZGF0YS5yZXBseXMgPSBbXTtcclxuICAgICAgICAgIHJlcGx5Lm1hcChzdWJJdGVtID0+IHtcclxuICAgICAgICAgICAgbGV0IHJlcGx5RGF0YSA9IHN1Ykl0ZW0ucGF5bG9hZC5kb2MuZGF0YSgpO1xyXG4gICAgICAgICAgICByZXBseURhdGEuaWQgPSBzdWJJdGVtLnBheWxvYWQuZG9jWydpZCddO1xyXG5cclxuICAgICAgICAgICAgZGF0YS5yZXBseXMucHVzaChyZXBseURhdGEpO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmNvbW1lbnRzLnB1c2goZGF0YSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25SZXBseUNvbW1lbnQoaSkge1xyXG4gICAgaWYgKCF0aGlzLnJlcGx5aW5nQ29tbWVudFtpXSkge1xyXG4gICAgICB0aGlzLnJlcGx5aW5nQ29tbWVudFtpXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5yZXBseWluZ0NvbW1lbnRbaV0gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kQ29tbWVudChjb21tZW50KSB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgY29tbWVudDogY29tbWVudCxcclxuICAgICAgdXBkYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgY3JlYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgdXNlcl9pbmZvOiB7XHJcbiAgICAgICAgaWQ6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5pZCxcclxuICAgICAgICBuYW1lOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkubmFtZSxcclxuICAgICAgICBwaWN0dXJlOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkucGljdHVyZVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgLmRvYyh0aGlzLmZlZWRfaWQpXHJcbiAgICAgIC5jb2xsZWN0aW9uKCdjb21tZW50cycpO1xyXG5cclxuICAgIGlmIChjb21tZW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdDb21tZW50ID0gdHJ1ZTtcclxuICAgICAgY29sbGVjdGlvbi5hZGQoZGF0YSk7XHJcblxyXG4gICAgICBjb25zdCBub3RpZmljYXRpb24gPSB7XHJcbiAgICAgICAgc291cmNlOid3ZWInLFxyXG4gICAgICAgIHRpdGxlOiBgTm92byBjb21lbnTDoXJpb2AsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IGAke3RoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5uYW1lfTogJHtjb21tZW50fWAsXHJcbiAgICAgICAgdXNlcjogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLFxyXG4gICAgICAgIGNsaWVudF9pZDp0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuY2xpZW50X2lkLFxyXG4gICAgICAgIHJlZGlyZWN0OiBgL3BvcnRhbC8ke3RoaXMuZmVlZF9pZH1gXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VydmljZS5zZW5kTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbiwgdGhpcy51c2VyLCAnZmVlZCcpO1xyXG5cclxuICAgICAgdGhpcy5jb21tZW50ID0gXCJcIjtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdDb21tZW50ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVwbHlDb21tZW50KGNvbW1lbnRfaWQsIGNvbW1lbnQsIHVzZXJfaW5mbywgaSkge1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIGNvbW1lbnQ6IGNvbW1lbnQsXHJcbiAgICAgIGNyZWF0ZWRfYXQ6IERhdGUubm93KCksXHJcbiAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KCksXHJcbiAgICAgIHVzZXJfaW5mbzoge1xyXG4gICAgICAgIGlkOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuaWQsXHJcbiAgICAgICAgbmFtZTogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLm5hbWUsXHJcbiAgICAgICAgcGljdHVyZTogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLnBpY3R1cmVcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb21tZW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdSZXBseSA9IHRydWU7XHJcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpXHJcbiAgICAgICAgLmRvYyh0aGlzLmZlZWRfaWQpXHJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJylcclxuICAgICAgICAuZG9jKGNvbW1lbnRfaWQpXHJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ3JlcGx5Jyk7XHJcblxyXG4gICAgICBjb2xsZWN0aW9uLmFkZChkYXRhKTtcclxuXHJcblxyXG4gICAgICBjb25zdCBub3RpZmljYXRpb24gPSB7XHJcbiAgICAgICAgc291cmNlOid3ZWInLFxyXG4gICAgICAgIHRpdGxlOiBgTm92YSBSZXNwb3N0YWAsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IGAke3RoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5uYW1lfSByZXNwb25kZXU6ICR7Y29tbWVudH1gLFxyXG4gICAgICAgIGNsaWVudF9pZDp0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuY2xpZW50X2lkLFxyXG4gICAgICAgIHVzZXI6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSxcclxuICAgICAgICByZWRpcmVjdDogYC9wb3J0YWwvJHt0aGlzLmZlZWRfaWR9YFxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnNlcnZpY2Uuc2VuZE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24sIHVzZXJfaW5mbywgJ2ZlZWQnKTtcclxuXHJcbiAgICAgIHRoaXMucmVwbHkgPSBcIlwiO1xyXG4gICAgICB0aGlzLm9uTG9hZGluZ1JlcGx5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucmVwbHlpbmdDb21tZW50W2ldID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlUmVwbHkoY29tbWVudF9pZCwgcmVwbHlfaWQpIHtcclxuICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpXHJcbiAgICAgIC5kb2ModGhpcy5mZWVkX2lkKVxyXG4gICAgICAuY29sbGVjdGlvbignY29tbWVudHMnKVxyXG4gICAgICAuZG9jKGNvbW1lbnRfaWQpXHJcbiAgICAgIC5jb2xsZWN0aW9uKCdyZXBseScpXHJcbiAgICAgIC5kb2MocmVwbHlfaWQpO1xyXG5cclxuICAgIGNvbGxlY3Rpb24uZGVsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlQ29tbWVudChjb21tZW50X2lkKSB7XHJcbiAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKVxyXG4gICAgICAuZG9jKHRoaXMuZmVlZF9pZClcclxuICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJylcclxuICAgICAgLmRvYyhjb21tZW50X2lkKTtcclxuXHJcbiAgICBjb2xsZWN0aW9uLmRlbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbmRMaWtlQ29tbWVudChjb21tZW50X2lkLCBsaWtlX2lkID0gbnVsbCwgaXRlbSkge1xyXG4gICAgdGhpcy5vbkxvYWRpbmdMaWtlID0gdHJ1ZTtcclxuICAgIGlmICghaXRlbS5saWtlRm9yTWUpIHtcclxuICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgICB1cGRhdGVkX2F0OiBEYXRlLm5vdygpLFxyXG4gICAgICAgIHVzZXJfaW5mbzoge1xyXG4gICAgICAgICAgaWQ6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5pZCxcclxuICAgICAgICAgIG5hbWU6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5uYW1lLFxyXG4gICAgICAgICAgcGljdHVyZTogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLnBpY3R1cmVcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpXHJcbiAgICAgICAgLmRvYyh0aGlzLmZlZWRfaWQpXHJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJylcclxuICAgICAgICAuZG9jKGNvbW1lbnRfaWQpXHJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ2xpa2UnKTtcclxuXHJcbiAgICAgIGNvbGxlY3Rpb24uYWRkKGRhdGEpO1xyXG5cclxuXHJcbiAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHtcclxuICAgICAgICBzb3VyY2U6J3dlYicsXHJcbiAgICAgICAgdGl0bGU6IGBOb3ZhIEN1cnRpZGFgLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHt0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkubmFtZX0gY3VydGl1IHNldSBjb21lbnTDoXJpbzogJHtpdGVtLmNvbW1lbnR9YCxcclxuICAgICAgICBjbGllbnRfaWQ6dGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLmNsaWVudF9pZCxcclxuICAgICAgICB1c2VyOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCksXHJcbiAgICAgICAgcmVkaXJlY3Q6IGAvcG9ydGFsLyR7dGhpcy5mZWVkX2lkfWBcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXJ2aWNlLnNlbmROb3RpZmljYXRpb24obm90aWZpY2F0aW9uLCBpdGVtLnVzZXJfaW5mbywgJ2ZlZWQnKTtcclxuXHJcbiAgICAgIGl0ZW0ubGlrZUZvck1lID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdMaWtlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgICAuZG9jKHRoaXMuZmVlZF9pZClcclxuICAgICAgICAuY29sbGVjdGlvbignY29tbWVudHMnKVxyXG4gICAgICAgIC5kb2MoY29tbWVudF9pZClcclxuICAgICAgICAuY29sbGVjdGlvbignbGlrZScpXHJcbiAgICAgICAgLmRvYyhsaWtlX2lkKTtcclxuXHJcbiAgICAgIGNvbGxlY3Rpb24uZGVsZXRlKCk7XHJcbiAgICAgIGl0ZW0ubGlrZUZvck1lID0gZmFsc2U7XHJcbiAgICAgIHRoaXMub25Mb2FkaW5nTGlrZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRNb3JlQ29tbWVudHMoKSB7XHJcbiAgICB0aGlzLmxpbWl0Q29tbWVudHNUbyA9IHRoaXMubGltaXRDb21tZW50c1RvICsgMztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkTW9yZVJlcGx5cyhpdGVtKSB7XHJcbiAgICBpdGVtLmxpbWl0UmVwbHlzVG8gPSBpdGVtLmxpbWl0UmVwbHlzVG8gKyAzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxpbmtpZnkoc3RyKSB7XHJcbiAgICB2YXIgcmU6IGFueTtcclxuICAgIHJlID0gW1xyXG4gICAgICBcIlxcXFxiKCg/Omh0dHBzP3xmdHApOi8vW15cXFxcc1xcXCInPD5dKylcXFxcYlwiLFxyXG4gICAgICBcIlxcXFxiKHd3d1xcXFwuW15cXFxcc1xcXCInPD5dKylcXFxcYlwiLFxyXG4gICAgICBcIlxcXFxiKFxcXFx3W1xcXFx3ListXSpAW1xcXFx3Li1dK1xcXFwuW2Etel17Miw2fSlcXFxcYlwiLFxyXG4gICAgICBcIiMoW2EtejAtOV0rKVwiXTtcclxuICAgIHJlID0gbmV3IFJlZ0V4cChyZS5qb2luKCd8JyksIFwiZ2lcIik7XHJcblxyXG4gICAgaWYgKHN0cikge1xyXG4gICAgICByZXR1cm4gc3RyLnJlcGxhY2UocmUsIGZ1bmN0aW9uIChtYXRjaCwgdXJsLCB3d3csIG1haWwsIHR3aXRsZXIpIHtcclxuICAgICAgICBpZiAodXJsKVxyXG4gICAgICAgICAgcmV0dXJuIFwiPGEgY2xhc3M9J3RleHQtcHJpbWFyeScgdGFyZ2V0PSdfYmxhbmsnIChjbGljayk9J3JlZGlyZWN0TmV3TGluayh1cmwpJyBocmVmPVxcXCJcIiArIHVybCArIFwiXFxcIj5cIiArIHVybCArIFwiPC9hPlwiO1xyXG4gICAgICAgIGlmICh3d3cpXHJcbiAgICAgICAgICByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCJodHRwOi8vXCIgKyB3d3cgKyBcIlxcXCI+XCIgKyB3d3cgKyBcIjwvYT5cIjtcclxuICAgICAgICBpZiAobWFpbClcclxuICAgICAgICAgIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIGhyZWY9XFxcIiM8L2E+XCI7XHJcbiAgICAgICAgaWYgKHR3aXRsZXIpXHJcbiAgICAgICAgICByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCJwb3J0YWwvc2VhcmNoL1wiICsgZW5jb2RlVVJJQ29tcG9uZW50KCcjJyArIHR3aXRsZXIpICsgXCJcXFwiPiNcIiArIHR3aXRsZXIgKyBcIjwvYT5cIjtcclxuICAgICAgICAvLyByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCIjXFxcIj4jXCIgKyB0d2l0bGVyICsgXCI8L2E+XCI7XHJcblxyXG4gICAgICAgIC8vIHNob3VsZG50IGdldCBoZXJlLCBidXQganVzdCBpbiBjYXNlXHJcbiAgICAgICAgcmV0dXJuIG1hdGNoO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkVkaXRSZXBseShyZXBseSkge1xyXG4gICAgdGhpcy5lZGl0ZWRSZXBseSA9IHJlcGx5LmNvbW1lbnQ7XHJcbiAgICBpZiAocmVwbHkub25FZGl0KSB7XHJcbiAgICAgIHJlcGx5Lm9uRWRpdCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJlcGx5Lm9uRWRpdCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25FZGl0Q29tbWVudChjb21tZW50KSB7XHJcbiAgICB0aGlzLmVkaXRlZENvbW1lbnQgPSBjb21tZW50LmNvbW1lbnQ7XHJcblxyXG4gICAgaWYgKGNvbW1lbnQub25FZGl0KSB7XHJcbiAgICAgIGNvbW1lbnQub25FZGl0ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29tbWVudC5vbkVkaXQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZUNvbW1lbnQoaWQsIGNvbW1lbnQpIHtcclxuICAgIHRoaXMub25Mb2FkaW5nQ29tbWVudCA9IHRydWU7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgY29tbWVudDogdGhpcy5lZGl0ZWRDb21tZW50LFxyXG4gICAgICBlZGl0ZWQ6IHRydWUsXHJcbiAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KClcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKVxyXG4gICAgICAuZG9jKHRoaXMuZmVlZF9pZClcclxuICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJylcclxuICAgICAgLmRvYyhpZCk7XHJcblxyXG4gICAgaWYgKGNvbW1lbnQubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb2xsZWN0aW9uLnVwZGF0ZShkYXRhKTtcclxuICAgICAgdGhpcy5lZGl0ZWRDb21tZW50ID0gXCJcIjtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdDb21tZW50ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlUmVwbHkoY29tbWVudF9pZCwgb2xkX3JlcGx5LCByZXBseSkge1xyXG4gICAgdGhpcy5vbkxvYWRpbmdSZXBseSA9IHRydWU7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgY29tbWVudDogcmVwbHksXHJcbiAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KCksXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgLmRvYyh0aGlzLmZlZWRfaWQpXHJcbiAgICAgIC5jb2xsZWN0aW9uKCdjb21tZW50cycpXHJcbiAgICAgIC5kb2MoY29tbWVudF9pZClcclxuICAgICAgLmNvbGxlY3Rpb24oJ3JlcGx5JylcclxuICAgICAgLmRvYyhvbGRfcmVwbHkuaWQpO1xyXG4gICAgY29sbGVjdGlvbi51cGRhdGUoZGF0YSk7XHJcbiAgICB0aGlzLmVkaXRlZENvbW1lbnQgPSBcIlwiO1xyXG4gICAgdGhpcy5vbkxvYWRpbmdSZXBseSA9IGZhbHNlO1xyXG4gICAgb2xkX3JlcGx5Lm9uRWRpdCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlYXJjaE1ldGlvblVzZXJzKGV2ZW50KSB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRVc2VycygpIHtcclxuICAgIHRoaXMuYXNhcFNlcnZpY2UuZW50aXR5TmFtZSA9ICdhc2FwLXVzZXInO1xyXG4gICAgdGhpcy5hc2FwU2VydmljZS5nZXRSZXNvdXJjZXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5tZW50aW9uc0xpc3QgPSB7XHJcbiAgICAgICAgaXRlbXM6IHJlc3BvbnNlLmRhdGEubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZSksXHJcbiAgICAgICAgdHJpZ2dlckNoYXI6ICdAJ1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
520
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC1jb21tZW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hc2FwLWZlZWQtYmV0YS8iLCJzb3VyY2VzIjpbImxpYi9mZWVkLWNvbW1lbnRzL2ZlZWQtY29tbWVudHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFPaEQsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7Ozs7SUFpQmhDLFlBQ1MsTUFBYyxFQUNkLEVBQW9CLEVBQ3BCLFdBQTRCLEVBQzVCLE9BQXFCLEVBQ3JCLFdBQXdCO1FBSnhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsWUFBTyxHQUFQLE9BQU8sQ0FBYztRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQWxCMUIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBRXJCLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBS2xCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQVE1QixDQUFDOzs7O0lBRUwsUUFBUTtRQUNOLElBQUksQ0FB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QUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRTtZQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNsQixLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHOzs7O2dCQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDO2dCQUNsRCxXQUFXLEVBQUUsR0FBRzthQUNqQixDQUFDO1FBQ0osQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUExV0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6Qiw4MVNBQTZDOzthQUU5Qzs7OztZQU5RLE1BQU07WUFKTixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLFlBQVk7WUFFSixXQUFXOzs7c0JBU3pCLEtBQUs7bUJBQ0wsS0FBSzs7OztJQUROLHdDQUFpQjs7SUFDakIscUNBQWM7O0lBQ2QseUNBQXFCOztJQUNyQixnREFBNEI7O0lBQzVCLDZDQUFvQjs7SUFDcEIsZ0RBQTJCOztJQUMzQiw4Q0FBeUI7O0lBQ3pCLHdDQUFlOztJQUFBLG1DQUFFOztJQUNqQixzQ0FBYTs7SUFDYiw4Q0FBcUI7O0lBQ3JCLDRDQUFtQjs7SUFDbkIsOENBQTZCOztJQUM3QiwrQ0FBOEI7O0lBQzlCLGlEQUFnQzs7SUFHOUIsdUNBQXFCOztJQUNyQixtQ0FBMkI7O0lBQzNCLDRDQUFtQzs7SUFDbkMsd0NBQTRCOztJQUM1Qiw0Q0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcclxuaW1wb3J0IHsgQXNhcEZlZWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXNhcC1mZWVkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgcGF0aCB9IGZyb20gJy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBHbG9iYWwsIEFzYXBTZXJ2aWNlIH0gZnJvbSAnYXNhcC1jcnVkJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZmVlZC1jb21tZW50cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlZWQtY29tbWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZlZWQtY29tbWVudHMuY29tcG9uZW50LnNjc3MnLCAnLi4vYXNhcC1mZWVkLmJldGEuY29tcG9uZW50ZS5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZWRDb21tZW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGZlZWRfaWQ7XHJcbiAgQElucHV0KCkgdXNlcjtcclxuICBwdWJsaWMgY29tbWVudHMgPSBbXTtcclxuICBwdWJsaWMgcmVwbHlpbmdDb21tZW50ID0gW107XHJcbiAgcHVibGljIG1lbnRpb25zTGlzdDtcclxuICBwdWJsaWMgbGltaXRDb21tZW50c1RvID0gMztcclxuICBwdWJsaWMgbGltaXRSZXBseXNUbyA9IDE7XHJcbiAgcHVibGljIGNvbW1lbnQ7bmcgXHJcbiAgcHVibGljIHJlcGx5O1xyXG4gIHB1YmxpYyBlZGl0ZWRDb21tZW50O1xyXG4gIHB1YmxpYyBlZGl0ZWRSZXBseTtcclxuICBwdWJsaWMgb25Mb2FkaW5nTGlrZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvbkxvYWRpbmdSZXBseSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBvbkxvYWRpbmdDb21tZW50ID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGdsb2JhbDogR2xvYmFsLFxyXG4gICAgcHVibGljIGRiOiBBbmd1bGFyRmlyZXN0b3JlLFxyXG4gICAgcHVibGljIGZlZWRTZXJ2aWNlOiBBc2FwRmVlZFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VydmljZTogVXRpbHNTZXJ2aWNlLFxyXG4gICAgcHVibGljIGFzYXBTZXJ2aWNlOiBBc2FwU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRDb21tZW50cyh0aGlzLmZlZWRfaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENvbW1lbnRzKGZlZWRfaWQpIHtcclxuICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpXHJcbiAgICAgIC5kb2MoZmVlZF9pZClcclxuICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJywgKHJlZjogYW55KSA9PiB7XHJcbiAgICAgICAgbGV0IHF1ZXJ5ID0gcmVmLm9yZGVyQnkoXCJ1cGRhdGVkX2F0XCIsIFwiZGVzY1wiKTtcclxuICAgICAgICByZXR1cm4gcXVlcnk7XHJcbiAgICAgIH0pO1xyXG5cclxuXHJcbiAgICBjb2xsZWN0aW9uLnNuYXBzaG90Q2hhbmdlcygpLnN1YnNjcmliZSgoY29tbWVudDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuY29tbWVudHMgPSBbXTtcclxuICAgICAgY29tbWVudC5tYXAoaXRlbSA9PiB7XHJcbiAgICAgICAgbGV0IGRhdGEgPSBpdGVtLnBheWxvYWQuZG9jLmRhdGEoKTtcclxuICAgICAgICBkYXRhLmlkID0gaXRlbS5wYXlsb2FkLmRvYy5pZDtcclxuICAgICAgICBkYXRhLmxpa2VGb3JNZSA9IGZhbHNlO1xyXG4gICAgICAgIGRhdGEubGltaXRSZXBseXNUbyA9IDE7XHJcblxyXG4gICAgICAgIGNvbnN0IGxpa2VzQ29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgICAgIC5kb2MoZmVlZF9pZClcclxuICAgICAgICAgIC5jb2xsZWN0aW9uKCdjb21tZW50cycpXHJcbiAgICAgICAgICAuZG9jKGRhdGEuaWQpXHJcbiAgICAgICAgICAuY29sbGVjdGlvbignbGlrZScpO1xyXG5cclxuXHJcbiAgICAgICAgbGlrZXNDb2xsZWN0aW9uLnNuYXBzaG90Q2hhbmdlcygpLnN1YnNjcmliZShsaWtlID0+IHtcclxuICAgICAgICAgIGRhdGEubGlrZXMgPSBbXTtcclxuICAgICAgICAgIGxpa2UubWFwKHN1Ykl0ZW1MaWtlID0+IHtcclxuICAgICAgICAgICAgbGV0IGxpa2VEYXRhID0gc3ViSXRlbUxpa2UucGF5bG9hZC5kb2MuZGF0YSgpO1xyXG4gICAgICAgICAgICBsaWtlRGF0YS5pZCA9IHN1Ykl0ZW1MaWtlLnBheWxvYWQuZG9jWydpZCddO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSkge1xyXG4gICAgICAgICAgICAgIGlmIChsaWtlRGF0YS51c2VyX2luZm8gJiYgbGlrZURhdGEudXNlcl9pbmZvLmlkID09PSB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuaWQpIHtcclxuICAgICAgICAgICAgICAgIGRhdGEubGlrZUZvck1lID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIGRhdGEubGlrZUZvck1lSUQgPSBsaWtlRGF0YS5pZDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGRhdGEubGlrZXMucHVzaChsaWtlRGF0YSk7XHJcblxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IHJlcGx5Q29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgICAgIC5kb2MoZmVlZF9pZClcclxuICAgICAgICAgIC5jb2xsZWN0aW9uKCdjb21tZW50cycpXHJcbiAgICAgICAgICAuZG9jKGRhdGEuaWQpXHJcbiAgICAgICAgICAuY29sbGVjdGlvbigncmVwbHknLCByZWYgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVmLm9yZGVyQnkoJ3VwZGF0ZWRfYXQnLCAnZGVzYycpO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJlcGx5Q29sbGVjdGlvbi5zbmFwc2hvdENoYW5nZXMoKS5zdWJzY3JpYmUocmVwbHkgPT4ge1xyXG4gICAgICAgICAgZGF0YS5yZXBseXMgPSBbXTtcclxuICAgICAgICAgIHJlcGx5Lm1hcChzdWJJdGVtID0+IHtcclxuICAgICAgICAgICAgbGV0IHJlcGx5RGF0YSA9IHN1Ykl0ZW0ucGF5bG9hZC5kb2MuZGF0YSgpO1xyXG4gICAgICAgICAgICByZXBseURhdGEuaWQgPSBzdWJJdGVtLnBheWxvYWQuZG9jWydpZCddO1xyXG5cclxuICAgICAgICAgICAgZGF0YS5yZXBseXMucHVzaChyZXBseURhdGEpO1xyXG4gICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmNvbW1lbnRzLnB1c2goZGF0YSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25SZXBseUNvbW1lbnQoaSkge1xyXG4gICAgaWYgKCF0aGlzLnJlcGx5aW5nQ29tbWVudFtpXSkge1xyXG4gICAgICB0aGlzLnJlcGx5aW5nQ29tbWVudFtpXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5yZXBseWluZ0NvbW1lbnRbaV0gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kQ29tbWVudChjb21tZW50KSB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgY29tbWVudDogY29tbWVudCxcclxuICAgICAgdXBkYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgY3JlYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgdXNlcl9pbmZvOiB7XHJcbiAgICAgICAgaWQ6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5pZCxcclxuICAgICAgICBuYW1lOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkubmFtZSxcclxuICAgICAgICBwaWN0dXJlOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkucGljdHVyZVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgLmRvYyh0aGlzLmZlZWRfaWQpXHJcbiAgICAgIC5jb2xsZWN0aW9uKCdjb21tZW50cycpO1xyXG5cclxuICAgIGlmIChjb21tZW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdDb21tZW50ID0gdHJ1ZTtcclxuICAgICAgY29sbGVjdGlvbi5hZGQoZGF0YSk7XHJcblxyXG4gICAgICBjb25zdCBub3RpZmljYXRpb24gPSB7XHJcbiAgICAgICAgc291cmNlOid3ZWInLFxyXG4gICAgICAgIHRpdGxlOiBgTm92byBjb21lbnTDoXJpb2AsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IGAke3RoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5uYW1lfTogJHtjb21tZW50fWAsXHJcbiAgICAgICAgdXNlcjogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLFxyXG4gICAgICAgIGNsaWVudF9pZDp0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuY2xpZW50X2lkLFxyXG4gICAgICAgIHJlZGlyZWN0OiBgL3BvcnRhbC8ke3RoaXMuZmVlZF9pZH1gXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2VydmljZS5zZW5kTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbiwgdGhpcy51c2VyLCAnZmVlZCcpO1xyXG5cclxuICAgICAgdGhpcy5jb21tZW50ID0gXCJcIjtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdDb21tZW50ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVwbHlDb21tZW50KGNvbW1lbnRfaWQsIGNvbW1lbnQsIHVzZXJfaW5mbywgaSkge1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIGNvbW1lbnQ6IGNvbW1lbnQsXHJcbiAgICAgIGNyZWF0ZWRfYXQ6IERhdGUubm93KCksXHJcbiAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KCksXHJcbiAgICAgIHVzZXJfaW5mbzoge1xyXG4gICAgICAgIGlkOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuaWQsXHJcbiAgICAgICAgbmFtZTogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLm5hbWUsXHJcbiAgICAgICAgcGljdHVyZTogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLnBpY3R1cmVcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb21tZW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdSZXBseSA9IHRydWU7XHJcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpXHJcbiAgICAgICAgLmRvYyh0aGlzLmZlZWRfaWQpXHJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJylcclxuICAgICAgICAuZG9jKGNvbW1lbnRfaWQpXHJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ3JlcGx5Jyk7XHJcblxyXG4gICAgICBjb2xsZWN0aW9uLmFkZChkYXRhKTtcclxuXHJcblxyXG4gICAgICBjb25zdCBub3RpZmljYXRpb24gPSB7XHJcbiAgICAgICAgc291cmNlOid3ZWInLFxyXG4gICAgICAgIHRpdGxlOiBgTm92YSBSZXNwb3N0YWAsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IGAke3RoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5uYW1lfSByZXNwb25kZXU6ICR7Y29tbWVudH1gLFxyXG4gICAgICAgIGNsaWVudF9pZDp0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuY2xpZW50X2lkLFxyXG4gICAgICAgIHVzZXI6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSxcclxuICAgICAgICByZWRpcmVjdDogYC9wb3J0YWwvJHt0aGlzLmZlZWRfaWR9YFxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnNlcnZpY2Uuc2VuZE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24sIHVzZXJfaW5mbywgJ2ZlZWQnKTtcclxuXHJcbiAgICAgIHRoaXMucmVwbHkgPSBcIlwiO1xyXG4gICAgICB0aGlzLm9uTG9hZGluZ1JlcGx5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucmVwbHlpbmdDb21tZW50W2ldID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlUmVwbHkoY29tbWVudF9pZCwgcmVwbHlfaWQpIHtcclxuICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpXHJcbiAgICAgIC5kb2ModGhpcy5mZWVkX2lkKVxyXG4gICAgICAuY29sbGVjdGlvbignY29tbWVudHMnKVxyXG4gICAgICAuZG9jKGNvbW1lbnRfaWQpXHJcbiAgICAgIC5jb2xsZWN0aW9uKCdyZXBseScpXHJcbiAgICAgIC5kb2MocmVwbHlfaWQpO1xyXG5cclxuICAgIGNvbGxlY3Rpb24uZGVsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlQ29tbWVudChjb21tZW50X2lkKSB7XHJcbiAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKVxyXG4gICAgICAuZG9jKHRoaXMuZmVlZF9pZClcclxuICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJylcclxuICAgICAgLmRvYyhjb21tZW50X2lkKTtcclxuXHJcbiAgICBjb2xsZWN0aW9uLmRlbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbmRMaWtlQ29tbWVudChjb21tZW50X2lkLCBsaWtlX2lkID0gbnVsbCwgaXRlbSkge1xyXG4gICAgdGhpcy5vbkxvYWRpbmdMaWtlID0gdHJ1ZTtcclxuICAgIGlmICghaXRlbS5saWtlRm9yTWUpIHtcclxuICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgY3JlYXRlZF9hdDogRGF0ZS5ub3coKSxcclxuICAgICAgICB1cGRhdGVkX2F0OiBEYXRlLm5vdygpLFxyXG4gICAgICAgIHVzZXJfaW5mbzoge1xyXG4gICAgICAgICAgaWQ6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5pZCxcclxuICAgICAgICAgIG5hbWU6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5uYW1lLFxyXG4gICAgICAgICAgcGljdHVyZTogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLnBpY3R1cmVcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpXHJcbiAgICAgICAgLmRvYyh0aGlzLmZlZWRfaWQpXHJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJylcclxuICAgICAgICAuZG9jKGNvbW1lbnRfaWQpXHJcbiAgICAgICAgLmNvbGxlY3Rpb24oJ2xpa2UnKTtcclxuXHJcbiAgICAgIGNvbGxlY3Rpb24uYWRkKGRhdGEpO1xyXG5cclxuXHJcbiAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHtcclxuICAgICAgICBzb3VyY2U6J3dlYicsXHJcbiAgICAgICAgdGl0bGU6IGBOb3ZhIEN1cnRpZGFgLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgJHt0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkubmFtZX0gY3VydGl1IHNldSBjb21lbnTDoXJpbzogJHtpdGVtLmNvbW1lbnR9YCxcclxuICAgICAgICBjbGllbnRfaWQ6dGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLmNsaWVudF9pZCxcclxuICAgICAgICB1c2VyOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCksXHJcbiAgICAgICAgcmVkaXJlY3Q6IGAvcG9ydGFsLyR7dGhpcy5mZWVkX2lkfWBcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXJ2aWNlLnNlbmROb3RpZmljYXRpb24obm90aWZpY2F0aW9uLCBpdGVtLnVzZXJfaW5mbywgJ2ZlZWQnKTtcclxuXHJcbiAgICAgIGl0ZW0ubGlrZUZvck1lID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdMaWtlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgICAuZG9jKHRoaXMuZmVlZF9pZClcclxuICAgICAgICAuY29sbGVjdGlvbignY29tbWVudHMnKVxyXG4gICAgICAgIC5kb2MoY29tbWVudF9pZClcclxuICAgICAgICAuY29sbGVjdGlvbignbGlrZScpXHJcbiAgICAgICAgLmRvYyhsaWtlX2lkKTtcclxuXHJcbiAgICAgIGNvbGxlY3Rpb24uZGVsZXRlKCk7XHJcbiAgICAgIGl0ZW0ubGlrZUZvck1lID0gZmFsc2U7XHJcbiAgICAgIHRoaXMub25Mb2FkaW5nTGlrZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRNb3JlQ29tbWVudHMoKSB7XHJcbiAgICB0aGlzLmxpbWl0Q29tbWVudHNUbyA9IHRoaXMubGltaXRDb21tZW50c1RvICsgMztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkTW9yZVJlcGx5cyhpdGVtKSB7XHJcbiAgICBpdGVtLmxpbWl0UmVwbHlzVG8gPSBpdGVtLmxpbWl0UmVwbHlzVG8gKyAzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxpbmtpZnkoc3RyKSB7XHJcbiAgICB2YXIgcmU6IGFueTtcclxuICAgIHJlID0gW1xyXG4gICAgICBcIlxcXFxiKCg/Omh0dHBzP3xmdHApOi8vW15cXFxcc1xcXCInPD5dKylcXFxcYlwiLFxyXG4gICAgICBcIlxcXFxiKHd3d1xcXFwuW15cXFxcc1xcXCInPD5dKylcXFxcYlwiLFxyXG4gICAgICBcIlxcXFxiKFxcXFx3W1xcXFx3ListXSpAW1xcXFx3Li1dK1xcXFwuW2Etel17Miw2fSlcXFxcYlwiLFxyXG4gICAgICBcIiMoW2EtejAtOV0rKVwiXTtcclxuICAgIHJlID0gbmV3IFJlZ0V4cChyZS5qb2luKCd8JyksIFwiZ2lcIik7XHJcblxyXG4gICAgaWYgKHN0cikge1xyXG4gICAgICByZXR1cm4gc3RyLnJlcGxhY2UocmUsIGZ1bmN0aW9uIChtYXRjaCwgdXJsLCB3d3csIG1haWwsIHR3aXRsZXIpIHtcclxuICAgICAgICBpZiAodXJsKVxyXG4gICAgICAgICAgcmV0dXJuIFwiPGEgY2xhc3M9J3RleHQtcHJpbWFyeScgdGFyZ2V0PSdfYmxhbmsnIChjbGljayk9J3JlZGlyZWN0TmV3TGluayh1cmwpJyBocmVmPVxcXCJcIiArIHVybCArIFwiXFxcIj5cIiArIHVybCArIFwiPC9hPlwiO1xyXG4gICAgICAgIGlmICh3d3cpXHJcbiAgICAgICAgICByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCJodHRwOi8vXCIgKyB3d3cgKyBcIlxcXCI+XCIgKyB3d3cgKyBcIjwvYT5cIjtcclxuICAgICAgICBpZiAobWFpbClcclxuICAgICAgICAgIHJldHVybiBcIjxhIGNsYXNzPSd0ZXh0LXByaW1hcnknIGhyZWY9XFxcIiM8L2E+XCI7XHJcbiAgICAgICAgaWYgKHR3aXRsZXIpXHJcbiAgICAgICAgICByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCJwb3J0YWwvc2VhcmNoL1wiICsgZW5jb2RlVVJJQ29tcG9uZW50KCcjJyArIHR3aXRsZXIpICsgXCJcXFwiPiNcIiArIHR3aXRsZXIgKyBcIjwvYT5cIjtcclxuICAgICAgICAvLyByZXR1cm4gXCI8YSBjbGFzcz0ndGV4dC1wcmltYXJ5JyBocmVmPVxcXCIjXFxcIj4jXCIgKyB0d2l0bGVyICsgXCI8L2E+XCI7XHJcblxyXG4gICAgICAgIC8vIHNob3VsZG50IGdldCBoZXJlLCBidXQganVzdCBpbiBjYXNlXHJcbiAgICAgICAgcmV0dXJuIG1hdGNoO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkVkaXRSZXBseShyZXBseSkge1xyXG4gICAgdGhpcy5lZGl0ZWRSZXBseSA9IHJlcGx5LmNvbW1lbnQ7XHJcbiAgICBpZiAocmVwbHkub25FZGl0KSB7XHJcbiAgICAgIHJlcGx5Lm9uRWRpdCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJlcGx5Lm9uRWRpdCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25FZGl0Q29tbWVudChjb21tZW50KSB7XHJcbiAgICB0aGlzLmVkaXRlZENvbW1lbnQgPSBjb21tZW50LmNvbW1lbnQ7XHJcblxyXG4gICAgaWYgKGNvbW1lbnQub25FZGl0KSB7XHJcbiAgICAgIGNvbW1lbnQub25FZGl0ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29tbWVudC5vbkVkaXQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZUNvbW1lbnQoaWQsIGNvbW1lbnQpIHtcclxuICAgIHRoaXMub25Mb2FkaW5nQ29tbWVudCA9IHRydWU7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgY29tbWVudDogdGhpcy5lZGl0ZWRDb21tZW50LFxyXG4gICAgICBlZGl0ZWQ6IHRydWUsXHJcbiAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KClcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKVxyXG4gICAgICAuZG9jKHRoaXMuZmVlZF9pZClcclxuICAgICAgLmNvbGxlY3Rpb24oJ2NvbW1lbnRzJylcclxuICAgICAgLmRvYyhpZCk7XHJcblxyXG4gICAgaWYgKGNvbW1lbnQubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb2xsZWN0aW9uLnVwZGF0ZShkYXRhKTtcclxuICAgICAgdGhpcy5lZGl0ZWRDb21tZW50ID0gXCJcIjtcclxuICAgICAgdGhpcy5vbkxvYWRpbmdDb21tZW50ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlUmVwbHkoY29tbWVudF9pZCwgb2xkX3JlcGx5LCByZXBseSkge1xyXG4gICAgdGhpcy5vbkxvYWRpbmdSZXBseSA9IHRydWU7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgY29tbWVudDogcmVwbHksXHJcbiAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KCksXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZClcclxuICAgICAgLmRvYyh0aGlzLmZlZWRfaWQpXHJcbiAgICAgIC5jb2xsZWN0aW9uKCdjb21tZW50cycpXHJcbiAgICAgIC5kb2MoY29tbWVudF9pZClcclxuICAgICAgLmNvbGxlY3Rpb24oJ3JlcGx5JylcclxuICAgICAgLmRvYyhvbGRfcmVwbHkuaWQpO1xyXG4gICAgY29sbGVjdGlvbi51cGRhdGUoZGF0YSk7XHJcbiAgICB0aGlzLmVkaXRlZENvbW1lbnQgPSBcIlwiO1xyXG4gICAgdGhpcy5vbkxvYWRpbmdSZXBseSA9IGZhbHNlO1xyXG4gICAgb2xkX3JlcGx5Lm9uRWRpdCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlYXJjaE1ldGlvblVzZXJzKGV2ZW50KSB7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRVc2VycygpIHtcclxuICAgIHRoaXMuYXNhcFNlcnZpY2UuZW50aXR5TmFtZSA9ICdhc2FwLXVzZXInO1xyXG4gICAgdGhpcy5hc2FwU2VydmljZS5nZXRSZXNvdXJjZXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5tZW50aW9uc0xpc3QgPSB7XHJcbiAgICAgICAgaXRlbXM6IHJlc3BvbnNlLmRhdGEubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZSksXHJcbiAgICAgICAgdHJpZ2dlckNoYXI6ICdAJ1xyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==