ngx-bimplus-components 0.0.82 → 0.0.83-draggable

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 (34) hide show
  1. package/assets/images/bimplus_Components_Add_Ins.svg +3 -0
  2. package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.component.mjs +59 -10
  3. package/esm2022/lib/components/bimplus-floating-bar-dragger/bimplus-floating-bar-dragger.component.mjs +15 -7
  4. package/esm2022/lib/components/bimplus-floating-bar-header-content/bimplus-floating-bar-header-content.component.mjs +20 -8
  5. package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +30 -12
  6. package/esm2022/lib/components/bimplus-floating-bar-hide-objects/bimplus-floating-bar-hide-objects.component.mjs +27 -46
  7. package/esm2022/lib/components/bimplus-floating-bar-isolation-objects/bimplus-floating-bar-isolation-objects.component.mjs +17 -24
  8. package/esm2022/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.mjs +18 -24
  9. package/esm2022/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +13 -4
  10. package/esm2022/lib/components/bimplus-notify/bimplus-notify.component.mjs +12 -39
  11. package/esm2022/lib/components/bimplus-tool-hub/bimplus-tool-hub.component.mjs +55 -36
  12. package/esm2022/lib/directives/draggable.directive.mjs +12 -2
  13. package/esm2022/lib/services/layout-manager.service.mjs +211 -43
  14. package/esm2022/lib/services/local-storage.service.mjs +70 -0
  15. package/esm2022/lib/services/resize-observer.service.mjs +28 -0
  16. package/esm2022/public-api.mjs +2 -1
  17. package/fesm2022/ngx-bimplus-components.mjs +637 -317
  18. package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
  19. package/lib/components/bimplus-floating-bar/bimplus-floating-bar.component.d.ts +20 -4
  20. package/lib/components/bimplus-floating-bar-dragger/bimplus-floating-bar-dragger.component.d.ts +6 -1
  21. package/lib/components/bimplus-floating-bar-header-content/bimplus-floating-bar-header-content.component.d.ts +6 -2
  22. package/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.d.ts +10 -5
  23. package/lib/components/bimplus-floating-bar-hide-objects/bimplus-floating-bar-hide-objects.component.d.ts +12 -11
  24. package/lib/components/bimplus-floating-bar-isolation-objects/bimplus-floating-bar-isolation-objects.component.d.ts +6 -6
  25. package/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.d.ts +6 -6
  26. package/lib/components/bimplus-main-menu/bimplus-main-menu.component.d.ts +5 -1
  27. package/lib/components/bimplus-notify/bimplus-notify.component.d.ts +4 -18
  28. package/lib/components/bimplus-tool-hub/bimplus-tool-hub.component.d.ts +19 -11
  29. package/lib/directives/draggable.directive.d.ts +2 -1
  30. package/lib/services/layout-manager.service.d.ts +56 -3
  31. package/lib/services/local-storage.service.d.ts +18 -0
  32. package/lib/services/resize-observer.service.d.ts +12 -0
  33. package/package.json +1 -1
  34. package/public-api.d.ts +1 -0
@@ -2,14 +2,14 @@ import { CommonModule } from '@angular/common';
2
2
  import { Component, ViewEncapsulation, Input, Output, EventEmitter, booleanAttribute, HostBinding } from '@angular/core';
3
3
  import { fireEvent } from '../../utils/utils';
4
4
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
5
- import { BimplusLocalizedWidgetComponent } from "../bimplus-localized-widget/bimplus-localized-widget.component";
6
- import SimpleBar from 'simplebar';
5
+ import { BimplusLocalizedWidgetComponent } from '../bimplus-localized-widget/bimplus-localized-widget.component';
6
+ import { BimplusScrollableContainerComponent } from '../bimplus-scrollable-container/bimplus-scrollable-container.component';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@ngx-translate/core";
9
9
  import * as i2 from "@angular/common";
10
10
  const BIMPLUS_NOTIFY_MESSAGES = "bimplus-notify-messages";
11
11
  export class BimplusNotifyComponent extends BimplusLocalizedWidgetComponent {
12
- constructor(translateService, elementRef) {
12
+ constructor(translateService) {
13
13
  super(translateService);
14
14
  // Expose Array constructor as a property
15
15
  this.Array = Array;
@@ -57,7 +57,6 @@ export class BimplusNotifyComponent extends BimplusLocalizedWidgetComponent {
57
57
  * Message action event
58
58
  --------------------------------------------------------------------------*/
59
59
  this.bimplusNotifyMessageAction = new EventEmitter();
60
- this._element = elementRef.nativeElement;
61
60
  }
62
61
  get newMessages() {
63
62
  return this._alertActive;
@@ -108,36 +107,6 @@ export class BimplusNotifyComponent extends BimplusLocalizedWidgetComponent {
108
107
  this.updateMessages(this.messages);
109
108
  }
110
109
  /**--------------------------------------------------------------------------
111
- * component did load
112
- --------------------------------------------------------------------------*/
113
- ngAfterViewInit() {
114
- // init simple bar scrollbar
115
- const messagesContainer = this._element?.querySelector('.messages-container');
116
- if (messagesContainer) {
117
- this._simpleBar = new SimpleBar(messagesContainer);
118
- }
119
- }
120
- /**--------------------------------------------------------------------------
121
- * component did render
122
- --------------------------------------------------------------------------*/
123
- ngAfterViewChecked() {
124
- //--- fix for simple bar component update -----------------------------------------------------------------------
125
- //--- message-item items are rerendered outside of the simple bar container so we need to move them inside of the scroll container --
126
- const _element = this._element;
127
- const barElem = _element?.querySelector('.messages-container');
128
- if (!barElem) {
129
- return;
130
- }
131
- const msgItems = _element?.querySelectorAll(".messages-container > .message-item");
132
- const barContent = _element?.querySelector(".simplebar-content");
133
- if (!barContent || !msgItems) {
134
- return;
135
- }
136
- if (this._simpleBar) {
137
- this._simpleBar.recalculate();
138
- }
139
- }
140
- /**--------------------------------------------------------------------------
141
110
  * close single message
142
111
  --------------------------------------------------------------------------*/
143
112
  _closeMessage(item, preview, event) {
@@ -223,13 +192,17 @@ export class BimplusNotifyComponent extends BimplusLocalizedWidgetComponent {
223
192
  }
224
193
  return itemLinksTitles[index] ?? '';
225
194
  }
226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusNotifyComponent, deps: [{ token: i1.TranslateService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusNotifyComponent, isStandalone: true, selector: "lib-bimplus-notify", inputs: { messagePreviewTime: "messagePreviewTime", showMessagePreview: ["showMessagePreview", "showMessagePreview", booleanAttribute], previewMessagesLimit: "previewMessagesLimit", previewMessagesOffsetY: "previewMessagesOffsetY", messages: "messages" }, outputs: { bimplusNotifyDeleteMessage: "bimplusNotifyDeleteMessage", bimplusNotifyDeleteAllMessages: "bimplusNotifyDeleteAllMessages", bimplusNotifyMessageAction: "bimplusNotifyMessageAction" }, host: { properties: { "class.new-messages": "this.newMessages", "class.bim-notify": "this.bimNotify" } }, providers: [TranslateService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"dropdown\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n [title]=\"'_BimplusNotifyTitle' | translate\"\r\n>\r\n <div class=\"dropdown-toggle\" >\r\n <div\r\n class=\"main-icon\"\r\n [ngClass]=\"'icon-notify' + (this._alertActive ? '-alert notify' : '')\"\r\n ></div>\r\n </div>\r\n\r\n <div\r\n class=\"bimcomp-dropdown-menu\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n >\r\n <div class=\"notify-tick\"></div>\r\n <div class=\"messages-title\">\r\n <div class=\"messages-count\">\r\n ({{this._messagesList.length}})\r\n </div>\r\n <div\r\n class=\"messages-delete-all\"\r\n (click)=\"_deleteAllMessages()\"\r\n >\r\n {{\"_Notify_Mark_All\" | translate}}\r\n </div>\r\n </div>\r\n <div class=\"messages-container\">\r\n @if (_messagesList.length) {\r\n <div\r\n *ngFor=\"let item of _messagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, false, $event)\"\r\n ></div>\r\n </div>\r\n\r\n <div class=\"message-item-body-text\">{{item.text}}</div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n } \r\n </div>\r\n } @else {\r\n <div class=\"message-item-empty\">\r\n <div class=\"message-item-empty-icon\"></div>\r\n <div class=\"message-item-empty-text\">{{\"_Notify_No_Messages\" | translate}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"bimcomp-overlay\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n></div>\r\n\r\n<div\r\n class=\"bimcomp-messages-preview\"\r\n [ngClass]=\"(showMessagePreview && !_menuOpened && _previewMessagesList.length > 0) ? 'visible' : ''\"\r\n [style.top]=\"previewMessagesOffsetY\"\r\n>\r\n <div class=\"messages-container-preview\">\r\n <div\r\n *ngFor=\"let item of _previewMessagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, true, $event)\"\r\n ></div>\r\n </div>\r\n\r\n <div class=\"message-item-body-text\">\r\n {{item.text}}\r\n </div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: ["[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;inset:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;inset:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:\" \";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging,[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:\"\";background:#000;border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-scrollbar:before{inset:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{inset:0 auto 0 0;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.bim-notify{position:relative}.bim-notify .dropdown{position:relative;width:3.25em;display:flex;flex-direction:column;justify-content:space-around;align-items:center}.bim-notify .dropdown-toggle{position:relative;margin-left:.44em;margin-right:.44em;background-size:1.4em 1.4em;cursor:pointer}.bim-notify .bimcomp-dropdown-menu,.bim-notify .bimcomp-messages-preview{font-family:Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;position:absolute;top:100%;right:0;z-index:2;display:none;width:19em;margin:0;padding:.5em .65em .57em 0}.bim-notify .bimcomp-dropdown-menu .messages-title,.bim-notify .bimcomp-messages-preview .messages-title{height:2em;display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:#fff;background-color:#444}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-count,.bim-notify .bimcomp-messages-preview .messages-title .messages-count,.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{cursor:pointer;font-size:.8125em;font-weight:400;margin:0 .8125em}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{text-decoration:underline}.bim-notify .bimcomp-dropdown-menu div,.bim-notify .bimcomp-messages-preview div{font-size:1em}.bim-notify .bimcomp-dropdown-menu .noselect,.bim-notify .bimcomp-messages-preview .noselect{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{display:flex;flex-direction:row;align-items:center;box-sizing:content-box;padding:.21em 2.1em}.bim-notify .bimcomp-dropdown-menu li span,.bim-notify .bimcomp-messages-preview li span{display:inline-block;flex:1 0 auto;margin-right:1.43em;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li:hover,.bim-notify .bimcomp-messages-preview li:hover{background-color:#f5f5f5}.bim-notify .bimcomp-dropdown-menu ul,.bim-notify .bimcomp-messages-preview ul,.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{list-style:none}.bim-notify .bimcomp-dropdown-menu .notify-tick,.bim-notify .bimcomp-messages-preview .notify-tick{width:2em;height:1em;align-self:flex-end;background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .bimcomp-dropdown-menu.open,.bim-notify .bimcomp-messages-preview.visible{display:flex;flex-direction:column}.bim-notify .messages-container,.bim-notify .messages-container-preview{list-style:none;background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .43em .86em rgba(0,0,0,.175);box-shadow:0 .43em .86em #0000002d;text-decoration-color:#333;text-decoration-line:none;text-decoration-style:solid;line-height:2.71em;font-weight:400;max-height:16em;overflow:hidden;overflow-y:visible;scrollbar-width:none}.bim-notify .messages-container::-webkit-scrollbar,.bim-notify .messages-container-preview::-webkit-scrollbar{display:none}.bim-notify .messages-container .message-item-empty,.bim-notify .messages-container-preview .message-item-empty{max-width:19em;max-height:6em;padding:.6em .8125em 0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.bim-notify .messages-container .message-item-empty-icon,.bim-notify .messages-container-preview .message-item-empty-icon{width:2.5em;height:2.5em;background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .messages-container .message-item-empty-text,.bim-notify .messages-container-preview .message-item-empty-text{font-size:.8125em;line-height:2.2em}.bim-notify .messages-container .message-item,.bim-notify .messages-container-preview .message-item{max-width:19em;border-bottom:1px solid #D3D3D3;padding:.6em .8125em;box-sizing:border-box}.bim-notify .messages-container .message-item-title,.bim-notify .messages-container-preview .message-item-title{display:flex;align-items:center;line-height:1.5em}.bim-notify .messages-container .message-item-title-text,.bim-notify .messages-container-preview .message-item-title-text{font-size:.8125em;font-weight:700;flex:1 1 auto;margin-left:.8125em}.bim-notify .messages-container .message-item-icon-info,.bim-notify .messages-container-preview .message-item-icon-info{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-failure,.bim-notify .messages-container-preview .message-item-icon-failure{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-close,.bim-notify .messages-container-preview .message-item-icon-close{cursor:pointer;width:1.125em;height:1.125em;background-repeat:no-repeat;background-size:auto;background-position:center;background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-body-text,.bim-notify .messages-container-preview .message-item-body-text{font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal}.bim-notify .messages-container .message-item-link,.bim-notify .messages-container-preview .message-item-link{color:#fe5000;text-decoration:underline;font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal;cursor:pointer}.bim-notify .messages-container .message-item:last-child,.bim-notify .messages-container-preview .message-item:last-child{border-bottom:none}.bim-notify .messages-container-preview{max-height:none;background-color:transparent;border:none;-webkit-box-shadow:none;box-shadow:none}.bim-notify .messages-container-preview .message-item{background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .3em .3em rgba(0,0,0,.175);box-shadow:0 .3em .3em #0000002d;margin-bottom:.5em}.bim-notify .icon{flex-shrink:0;display:inline-block;vertical-align:middle;margin:0 1.36em 0 0;width:1.64em;height:1.64em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon{flex-shrink:0;display:inline-block;vertical-align:middle;width:1.375em;height:1.375em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon.notify{transform-origin:center top}@keyframes ringbell{0%{transform:rotate(0)}5%{transform:rotate(35deg)}15%{transform:rotate(-30deg)}25%{transform:rotate(25deg)}35%{transform:rotate(-20deg)}45%{transform:rotate(15deg)}55%{transform:rotate(-10deg)}65%{transform:rotate(5deg)}70%{transform:rotate(0)}to{transform:rotate(0)}}.bim-notify .bimcomp-overlay{position:fixed;width:100vw;height:100vh;left:0;top:0;display:none}.bim-notify .bimcomp-overlay.open{display:block;z-index:1}.bim-notify .icon-notify{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-alert{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A<circle cx=\"15.5\" cy=\"2.5\" r=\"2.5\" fill=\"%23FE5000\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-tick-up{background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-info{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-failure{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-close{background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-empty{background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A')}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusNotifyComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
196
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusNotifyComponent, isStandalone: true, selector: "lib-bimplus-notify", inputs: { messagePreviewTime: "messagePreviewTime", showMessagePreview: ["showMessagePreview", "showMessagePreview", booleanAttribute], previewMessagesLimit: "previewMessagesLimit", previewMessagesOffsetY: "previewMessagesOffsetY", messages: "messages" }, outputs: { bimplusNotifyDeleteMessage: "bimplusNotifyDeleteMessage", bimplusNotifyDeleteAllMessages: "bimplusNotifyDeleteAllMessages", bimplusNotifyMessageAction: "bimplusNotifyMessageAction" }, host: { properties: { "class.new-messages": "this.newMessages", "class.bim-notify": "this.bimNotify" } }, providers: [TranslateService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"dropdown\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n [title]=\"'_BimplusNotifyTitle' | translate\"\r\n>\r\n <div class=\"dropdown-toggle\" >\r\n <div\r\n class=\"main-icon\"\r\n [ngClass]=\"'icon-notify' + (this._alertActive ? '-alert notify' : '')\"\r\n ></div>\r\n </div>\r\n\r\n <div\r\n class=\"bimcomp-dropdown-menu\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n >\r\n <div class=\"notify-tick\"></div>\r\n <div class=\"messages-title\">\r\n <div class=\"messages-count\">\r\n ({{this._messagesList.length}})\r\n </div>\r\n <div\r\n class=\"messages-delete-all\"\r\n (click)=\"_deleteAllMessages()\"\r\n >\r\n {{\"_Notify_Mark_All\" | translate}}\r\n </div>\r\n </div>\r\n <div class=\"messages-container\">\r\n @if (_messagesList.length) {\r\n <lib-bimplus-scrollable-container>\r\n <div\r\n *ngFor=\"let item of _messagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, false, $event)\"\r\n ></div>\r\n </div>\r\n \r\n <div class=\"message-item-body-text\">{{item.text}}</div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n } \r\n </div>\r\n </lib-bimplus-scrollable-container>\r\n } @else {\r\n <div class=\"message-item-empty\">\r\n <div class=\"message-item-empty-icon\"></div>\r\n <div class=\"message-item-empty-text\">{{\"_Notify_No_Messages\" | translate}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"bimcomp-overlay\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n></div>\r\n\r\n<div\r\n class=\"bimcomp-messages-preview\"\r\n [ngClass]=\"(showMessagePreview && !_menuOpened && _previewMessagesList.length > 0) ? 'visible' : ''\"\r\n [style.top]=\"previewMessagesOffsetY\"\r\n>\r\n <div class=\"messages-container-preview\">\r\n <div\r\n *ngFor=\"let item of _previewMessagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, true, $event)\"\r\n ></div>\r\n </div>\r\n\r\n <div class=\"message-item-body-text\">\r\n {{item.text}}\r\n </div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: [".bim-notify{position:relative}.bim-notify .dropdown{position:relative;width:3.25em;display:flex;flex-direction:column;justify-content:space-around;align-items:center}.bim-notify .dropdown-toggle{position:relative;margin-left:.44em;margin-right:.44em;background-size:1.4em 1.4em;cursor:pointer}.bim-notify .bimcomp-dropdown-menu,.bim-notify .bimcomp-messages-preview{font-family:Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;position:absolute;top:100%;right:0;z-index:2;display:none;width:19em;margin:0;padding:.5em .65em .57em 0}.bim-notify .bimcomp-dropdown-menu .messages-title,.bim-notify .bimcomp-messages-preview .messages-title{height:2em;display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:#fff;background-color:#444}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-count,.bim-notify .bimcomp-messages-preview .messages-title .messages-count,.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{cursor:pointer;font-size:.8125em;font-weight:400;margin:0 .8125em}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{text-decoration:underline}.bim-notify .bimcomp-dropdown-menu div,.bim-notify .bimcomp-messages-preview div{font-size:1em}.bim-notify .bimcomp-dropdown-menu .noselect,.bim-notify .bimcomp-messages-preview .noselect{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{display:flex;flex-direction:row;align-items:center;box-sizing:content-box;padding:.21em 2.1em}.bim-notify .bimcomp-dropdown-menu li span,.bim-notify .bimcomp-messages-preview li span{display:inline-block;flex:1 0 auto;margin-right:1.43em;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li:hover,.bim-notify .bimcomp-messages-preview li:hover{background-color:#f5f5f5}.bim-notify .bimcomp-dropdown-menu ul,.bim-notify .bimcomp-messages-preview ul,.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{list-style:none}.bim-notify .bimcomp-dropdown-menu .notify-tick,.bim-notify .bimcomp-messages-preview .notify-tick{width:2em;height:1em;align-self:flex-end;background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .bimcomp-dropdown-menu.open,.bim-notify .bimcomp-messages-preview.visible{display:flex;flex-direction:column}.bim-notify .messages-container,.bim-notify .messages-container-preview{list-style:none;background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .43em .86em rgba(0,0,0,.175);box-shadow:0 .43em .86em #0000002d;text-decoration-color:#333;text-decoration-line:none;text-decoration-style:solid;line-height:2.71em;font-weight:400;max-height:16em}.bim-notify .messages-container .message-item-empty,.bim-notify .messages-container-preview .message-item-empty{max-width:19em;max-height:6em;padding:.6em .8125em 0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.bim-notify .messages-container .message-item-empty-icon,.bim-notify .messages-container-preview .message-item-empty-icon{width:2.5em;height:2.5em;background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .messages-container .message-item-empty-text,.bim-notify .messages-container-preview .message-item-empty-text{font-size:.8125em;line-height:2.2em}.bim-notify .messages-container .message-item,.bim-notify .messages-container-preview .message-item{max-width:19em;border-bottom:1px solid #D3D3D3;padding:.6em .8125em;box-sizing:border-box}.bim-notify .messages-container .message-item-title,.bim-notify .messages-container-preview .message-item-title{display:flex;align-items:center;line-height:1.5em}.bim-notify .messages-container .message-item-title-text,.bim-notify .messages-container-preview .message-item-title-text{font-size:.8125em;font-weight:700;flex:1 1 auto;margin-left:.8125em}.bim-notify .messages-container .message-item-icon-info,.bim-notify .messages-container-preview .message-item-icon-info{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-failure,.bim-notify .messages-container-preview .message-item-icon-failure{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-close,.bim-notify .messages-container-preview .message-item-icon-close{cursor:pointer;width:1.125em;height:1.125em;background-repeat:no-repeat;background-size:auto;background-position:center;background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-body-text,.bim-notify .messages-container-preview .message-item-body-text{font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal}.bim-notify .messages-container .message-item-link,.bim-notify .messages-container-preview .message-item-link{color:#fe5000;text-decoration:underline;font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal;cursor:pointer}.bim-notify .messages-container .message-item:last-child,.bim-notify .messages-container-preview .message-item:last-child{border-bottom:none}.bim-notify .messages-container{position:relative;display:flex;flex:1 1 auto}.bim-notify .messages-container lib-bimplus-scrollable-container{max-height:100%;min-width:100%}.bim-notify .messages-container-preview{max-height:none;background-color:transparent;border:none;-webkit-box-shadow:none;box-shadow:none}.bim-notify .messages-container-preview .message-item{background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .3em .3em rgba(0,0,0,.175);box-shadow:0 .3em .3em #0000002d;margin-bottom:.5em}.bim-notify .icon{flex-shrink:0;display:inline-block;vertical-align:middle;margin:0 1.36em 0 0;width:1.64em;height:1.64em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon{flex-shrink:0;display:inline-block;vertical-align:middle;width:1.375em;height:1.375em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon.notify{transform-origin:center top}@keyframes ringbell{0%{transform:rotate(0)}5%{transform:rotate(35deg)}15%{transform:rotate(-30deg)}25%{transform:rotate(25deg)}35%{transform:rotate(-20deg)}45%{transform:rotate(15deg)}55%{transform:rotate(-10deg)}65%{transform:rotate(5deg)}70%{transform:rotate(0)}to{transform:rotate(0)}}.bim-notify .bimcomp-overlay{position:fixed;width:100vw;height:100vh;left:0;top:0;display:none}.bim-notify .bimcomp-overlay.open{display:block;z-index:1}.bim-notify .icon-notify{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-alert{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A<circle cx=\"15.5\" cy=\"2.5\" r=\"2.5\" fill=\"%23FE5000\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-tick-up{background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-info{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-failure{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-close{background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-empty{background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A')}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: BimplusScrollableContainerComponent, selector: "lib-bimplus-scrollable-container" }], encapsulation: i0.ViewEncapsulation.None }); }
228
197
  }
229
198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusNotifyComponent, decorators: [{
230
199
  type: Component,
231
- args: [{ selector: 'lib-bimplus-notify', standalone: true, imports: [CommonModule, TranslateModule], providers: [TranslateService], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"dropdown\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n [title]=\"'_BimplusNotifyTitle' | translate\"\r\n>\r\n <div class=\"dropdown-toggle\" >\r\n <div\r\n class=\"main-icon\"\r\n [ngClass]=\"'icon-notify' + (this._alertActive ? '-alert notify' : '')\"\r\n ></div>\r\n </div>\r\n\r\n <div\r\n class=\"bimcomp-dropdown-menu\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n >\r\n <div class=\"notify-tick\"></div>\r\n <div class=\"messages-title\">\r\n <div class=\"messages-count\">\r\n ({{this._messagesList.length}})\r\n </div>\r\n <div\r\n class=\"messages-delete-all\"\r\n (click)=\"_deleteAllMessages()\"\r\n >\r\n {{\"_Notify_Mark_All\" | translate}}\r\n </div>\r\n </div>\r\n <div class=\"messages-container\">\r\n @if (_messagesList.length) {\r\n <div\r\n *ngFor=\"let item of _messagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, false, $event)\"\r\n ></div>\r\n </div>\r\n\r\n <div class=\"message-item-body-text\">{{item.text}}</div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n } \r\n </div>\r\n } @else {\r\n <div class=\"message-item-empty\">\r\n <div class=\"message-item-empty-icon\"></div>\r\n <div class=\"message-item-empty-text\">{{\"_Notify_No_Messages\" | translate}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"bimcomp-overlay\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n></div>\r\n\r\n<div\r\n class=\"bimcomp-messages-preview\"\r\n [ngClass]=\"(showMessagePreview && !_menuOpened && _previewMessagesList.length > 0) ? 'visible' : ''\"\r\n [style.top]=\"previewMessagesOffsetY\"\r\n>\r\n <div class=\"messages-container-preview\">\r\n <div\r\n *ngFor=\"let item of _previewMessagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, true, $event)\"\r\n ></div>\r\n </div>\r\n\r\n <div class=\"message-item-body-text\">\r\n {{item.text}}\r\n </div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: ["[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;inset:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;inset:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:\" \";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging,[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:\"\";background:#000;border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-scrollbar:before{inset:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{inset:0 auto 0 0;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.bim-notify{position:relative}.bim-notify .dropdown{position:relative;width:3.25em;display:flex;flex-direction:column;justify-content:space-around;align-items:center}.bim-notify .dropdown-toggle{position:relative;margin-left:.44em;margin-right:.44em;background-size:1.4em 1.4em;cursor:pointer}.bim-notify .bimcomp-dropdown-menu,.bim-notify .bimcomp-messages-preview{font-family:Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;position:absolute;top:100%;right:0;z-index:2;display:none;width:19em;margin:0;padding:.5em .65em .57em 0}.bim-notify .bimcomp-dropdown-menu .messages-title,.bim-notify .bimcomp-messages-preview .messages-title{height:2em;display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:#fff;background-color:#444}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-count,.bim-notify .bimcomp-messages-preview .messages-title .messages-count,.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{cursor:pointer;font-size:.8125em;font-weight:400;margin:0 .8125em}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{text-decoration:underline}.bim-notify .bimcomp-dropdown-menu div,.bim-notify .bimcomp-messages-preview div{font-size:1em}.bim-notify .bimcomp-dropdown-menu .noselect,.bim-notify .bimcomp-messages-preview .noselect{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{display:flex;flex-direction:row;align-items:center;box-sizing:content-box;padding:.21em 2.1em}.bim-notify .bimcomp-dropdown-menu li span,.bim-notify .bimcomp-messages-preview li span{display:inline-block;flex:1 0 auto;margin-right:1.43em;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li:hover,.bim-notify .bimcomp-messages-preview li:hover{background-color:#f5f5f5}.bim-notify .bimcomp-dropdown-menu ul,.bim-notify .bimcomp-messages-preview ul,.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{list-style:none}.bim-notify .bimcomp-dropdown-menu .notify-tick,.bim-notify .bimcomp-messages-preview .notify-tick{width:2em;height:1em;align-self:flex-end;background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .bimcomp-dropdown-menu.open,.bim-notify .bimcomp-messages-preview.visible{display:flex;flex-direction:column}.bim-notify .messages-container,.bim-notify .messages-container-preview{list-style:none;background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .43em .86em rgba(0,0,0,.175);box-shadow:0 .43em .86em #0000002d;text-decoration-color:#333;text-decoration-line:none;text-decoration-style:solid;line-height:2.71em;font-weight:400;max-height:16em;overflow:hidden;overflow-y:visible;scrollbar-width:none}.bim-notify .messages-container::-webkit-scrollbar,.bim-notify .messages-container-preview::-webkit-scrollbar{display:none}.bim-notify .messages-container .message-item-empty,.bim-notify .messages-container-preview .message-item-empty{max-width:19em;max-height:6em;padding:.6em .8125em 0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.bim-notify .messages-container .message-item-empty-icon,.bim-notify .messages-container-preview .message-item-empty-icon{width:2.5em;height:2.5em;background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .messages-container .message-item-empty-text,.bim-notify .messages-container-preview .message-item-empty-text{font-size:.8125em;line-height:2.2em}.bim-notify .messages-container .message-item,.bim-notify .messages-container-preview .message-item{max-width:19em;border-bottom:1px solid #D3D3D3;padding:.6em .8125em;box-sizing:border-box}.bim-notify .messages-container .message-item-title,.bim-notify .messages-container-preview .message-item-title{display:flex;align-items:center;line-height:1.5em}.bim-notify .messages-container .message-item-title-text,.bim-notify .messages-container-preview .message-item-title-text{font-size:.8125em;font-weight:700;flex:1 1 auto;margin-left:.8125em}.bim-notify .messages-container .message-item-icon-info,.bim-notify .messages-container-preview .message-item-icon-info{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-failure,.bim-notify .messages-container-preview .message-item-icon-failure{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-close,.bim-notify .messages-container-preview .message-item-icon-close{cursor:pointer;width:1.125em;height:1.125em;background-repeat:no-repeat;background-size:auto;background-position:center;background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-body-text,.bim-notify .messages-container-preview .message-item-body-text{font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal}.bim-notify .messages-container .message-item-link,.bim-notify .messages-container-preview .message-item-link{color:#fe5000;text-decoration:underline;font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal;cursor:pointer}.bim-notify .messages-container .message-item:last-child,.bim-notify .messages-container-preview .message-item:last-child{border-bottom:none}.bim-notify .messages-container-preview{max-height:none;background-color:transparent;border:none;-webkit-box-shadow:none;box-shadow:none}.bim-notify .messages-container-preview .message-item{background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .3em .3em rgba(0,0,0,.175);box-shadow:0 .3em .3em #0000002d;margin-bottom:.5em}.bim-notify .icon{flex-shrink:0;display:inline-block;vertical-align:middle;margin:0 1.36em 0 0;width:1.64em;height:1.64em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon{flex-shrink:0;display:inline-block;vertical-align:middle;width:1.375em;height:1.375em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon.notify{transform-origin:center top}@keyframes ringbell{0%{transform:rotate(0)}5%{transform:rotate(35deg)}15%{transform:rotate(-30deg)}25%{transform:rotate(25deg)}35%{transform:rotate(-20deg)}45%{transform:rotate(15deg)}55%{transform:rotate(-10deg)}65%{transform:rotate(5deg)}70%{transform:rotate(0)}to{transform:rotate(0)}}.bim-notify .bimcomp-overlay{position:fixed;width:100vw;height:100vh;left:0;top:0;display:none}.bim-notify .bimcomp-overlay.open{display:block;z-index:1}.bim-notify .icon-notify{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-alert{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A<circle cx=\"15.5\" cy=\"2.5\" r=\"2.5\" fill=\"%23FE5000\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-tick-up{background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-info{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-failure{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-close{background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-empty{background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A')}\n"] }]
232
- }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i0.ElementRef }], propDecorators: { newMessages: [{
200
+ args: [{ selector: 'lib-bimplus-notify', standalone: true, imports: [
201
+ CommonModule,
202
+ TranslateModule,
203
+ BimplusScrollableContainerComponent
204
+ ], providers: [TranslateService], encapsulation: ViewEncapsulation.None, template: "<div\r\n class=\"dropdown\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n [title]=\"'_BimplusNotifyTitle' | translate\"\r\n>\r\n <div class=\"dropdown-toggle\" >\r\n <div\r\n class=\"main-icon\"\r\n [ngClass]=\"'icon-notify' + (this._alertActive ? '-alert notify' : '')\"\r\n ></div>\r\n </div>\r\n\r\n <div\r\n class=\"bimcomp-dropdown-menu\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n >\r\n <div class=\"notify-tick\"></div>\r\n <div class=\"messages-title\">\r\n <div class=\"messages-count\">\r\n ({{this._messagesList.length}})\r\n </div>\r\n <div\r\n class=\"messages-delete-all\"\r\n (click)=\"_deleteAllMessages()\"\r\n >\r\n {{\"_Notify_Mark_All\" | translate}}\r\n </div>\r\n </div>\r\n <div class=\"messages-container\">\r\n @if (_messagesList.length) {\r\n <lib-bimplus-scrollable-container>\r\n <div\r\n *ngFor=\"let item of _messagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, false, $event)\"\r\n ></div>\r\n </div>\r\n \r\n <div class=\"message-item-body-text\">{{item.text}}</div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n } \r\n </div>\r\n </lib-bimplus-scrollable-container>\r\n } @else {\r\n <div class=\"message-item-empty\">\r\n <div class=\"message-item-empty-icon\"></div>\r\n <div class=\"message-item-empty-text\">{{\"_Notify_No_Messages\" | translate}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"bimcomp-overlay\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n></div>\r\n\r\n<div\r\n class=\"bimcomp-messages-preview\"\r\n [ngClass]=\"(showMessagePreview && !_menuOpened && _previewMessagesList.length > 0) ? 'visible' : ''\"\r\n [style.top]=\"previewMessagesOffsetY\"\r\n>\r\n <div class=\"messages-container-preview\">\r\n <div\r\n *ngFor=\"let item of _previewMessagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, true, $event)\"\r\n ></div>\r\n </div>\r\n\r\n <div class=\"message-item-body-text\">\r\n {{item.text}}\r\n </div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: [".bim-notify{position:relative}.bim-notify .dropdown{position:relative;width:3.25em;display:flex;flex-direction:column;justify-content:space-around;align-items:center}.bim-notify .dropdown-toggle{position:relative;margin-left:.44em;margin-right:.44em;background-size:1.4em 1.4em;cursor:pointer}.bim-notify .bimcomp-dropdown-menu,.bim-notify .bimcomp-messages-preview{font-family:Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;position:absolute;top:100%;right:0;z-index:2;display:none;width:19em;margin:0;padding:.5em .65em .57em 0}.bim-notify .bimcomp-dropdown-menu .messages-title,.bim-notify .bimcomp-messages-preview .messages-title{height:2em;display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:#fff;background-color:#444}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-count,.bim-notify .bimcomp-messages-preview .messages-title .messages-count,.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{cursor:pointer;font-size:.8125em;font-weight:400;margin:0 .8125em}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{text-decoration:underline}.bim-notify .bimcomp-dropdown-menu div,.bim-notify .bimcomp-messages-preview div{font-size:1em}.bim-notify .bimcomp-dropdown-menu .noselect,.bim-notify .bimcomp-messages-preview .noselect{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{display:flex;flex-direction:row;align-items:center;box-sizing:content-box;padding:.21em 2.1em}.bim-notify .bimcomp-dropdown-menu li span,.bim-notify .bimcomp-messages-preview li span{display:inline-block;flex:1 0 auto;margin-right:1.43em;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li:hover,.bim-notify .bimcomp-messages-preview li:hover{background-color:#f5f5f5}.bim-notify .bimcomp-dropdown-menu ul,.bim-notify .bimcomp-messages-preview ul,.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{list-style:none}.bim-notify .bimcomp-dropdown-menu .notify-tick,.bim-notify .bimcomp-messages-preview .notify-tick{width:2em;height:1em;align-self:flex-end;background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .bimcomp-dropdown-menu.open,.bim-notify .bimcomp-messages-preview.visible{display:flex;flex-direction:column}.bim-notify .messages-container,.bim-notify .messages-container-preview{list-style:none;background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .43em .86em rgba(0,0,0,.175);box-shadow:0 .43em .86em #0000002d;text-decoration-color:#333;text-decoration-line:none;text-decoration-style:solid;line-height:2.71em;font-weight:400;max-height:16em}.bim-notify .messages-container .message-item-empty,.bim-notify .messages-container-preview .message-item-empty{max-width:19em;max-height:6em;padding:.6em .8125em 0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.bim-notify .messages-container .message-item-empty-icon,.bim-notify .messages-container-preview .message-item-empty-icon{width:2.5em;height:2.5em;background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .messages-container .message-item-empty-text,.bim-notify .messages-container-preview .message-item-empty-text{font-size:.8125em;line-height:2.2em}.bim-notify .messages-container .message-item,.bim-notify .messages-container-preview .message-item{max-width:19em;border-bottom:1px solid #D3D3D3;padding:.6em .8125em;box-sizing:border-box}.bim-notify .messages-container .message-item-title,.bim-notify .messages-container-preview .message-item-title{display:flex;align-items:center;line-height:1.5em}.bim-notify .messages-container .message-item-title-text,.bim-notify .messages-container-preview .message-item-title-text{font-size:.8125em;font-weight:700;flex:1 1 auto;margin-left:.8125em}.bim-notify .messages-container .message-item-icon-info,.bim-notify .messages-container-preview .message-item-icon-info{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-failure,.bim-notify .messages-container-preview .message-item-icon-failure{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-close,.bim-notify .messages-container-preview .message-item-icon-close{cursor:pointer;width:1.125em;height:1.125em;background-repeat:no-repeat;background-size:auto;background-position:center;background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-body-text,.bim-notify .messages-container-preview .message-item-body-text{font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal}.bim-notify .messages-container .message-item-link,.bim-notify .messages-container-preview .message-item-link{color:#fe5000;text-decoration:underline;font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal;cursor:pointer}.bim-notify .messages-container .message-item:last-child,.bim-notify .messages-container-preview .message-item:last-child{border-bottom:none}.bim-notify .messages-container{position:relative;display:flex;flex:1 1 auto}.bim-notify .messages-container lib-bimplus-scrollable-container{max-height:100%;min-width:100%}.bim-notify .messages-container-preview{max-height:none;background-color:transparent;border:none;-webkit-box-shadow:none;box-shadow:none}.bim-notify .messages-container-preview .message-item{background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .3em .3em rgba(0,0,0,.175);box-shadow:0 .3em .3em #0000002d;margin-bottom:.5em}.bim-notify .icon{flex-shrink:0;display:inline-block;vertical-align:middle;margin:0 1.36em 0 0;width:1.64em;height:1.64em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon{flex-shrink:0;display:inline-block;vertical-align:middle;width:1.375em;height:1.375em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon.notify{transform-origin:center top}@keyframes ringbell{0%{transform:rotate(0)}5%{transform:rotate(35deg)}15%{transform:rotate(-30deg)}25%{transform:rotate(25deg)}35%{transform:rotate(-20deg)}45%{transform:rotate(15deg)}55%{transform:rotate(-10deg)}65%{transform:rotate(5deg)}70%{transform:rotate(0)}to{transform:rotate(0)}}.bim-notify .bimcomp-overlay{position:fixed;width:100vw;height:100vh;left:0;top:0;display:none}.bim-notify .bimcomp-overlay.open{display:block;z-index:1}.bim-notify .icon-notify{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-alert{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A<circle cx=\"15.5\" cy=\"2.5\" r=\"2.5\" fill=\"%23FE5000\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-tick-up{background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-info{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-failure{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-close{background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-empty{background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A')}\n"] }]
205
+ }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { newMessages: [{
233
206
  type: HostBinding,
234
207
  args: ['class.new-messages']
235
208
  }], bimNotify: [{
@@ -253,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
253
226
  }], bimplusNotifyMessageAction: [{
254
227
  type: Output
255
228
  }] } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1ub3RpZnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1ub3RpZnkvYmltcGx1cy1ub3RpZnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1ub3RpZnkvYmltcGx1cy1ub3RpZnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGdCQUFnQixFQU9oQixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNqSCxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUM7Ozs7QUFFbEMsTUFBTSx1QkFBdUIsR0FBRyx5QkFBeUIsQ0FBQztBQXFCMUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLCtCQUErQjtJQUN6RSxZQUFZLGdCQUFrQyxFQUFFLFVBQXNCO1FBQ3BFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBR3pCLHlDQUF5QztRQUN6QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBWWQ7O29GQUU0RTtRQUM1RSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFFbkM7O29GQUU0RTtRQUNuRSx1QkFBa0IsR0FB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QUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDOytHQXRRVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwyS0ErQmIsZ0JBQWdCLG1iQXBDeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxzRUNyQ2hDLG00SUFnSE0seXZqQkQ1RU0sWUFBWSx5UEFBRSxlQUFlOzs0RkFNNUIsc0JBQXNCO2tCQVRsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLGFBQzVCLENBQUMsZ0JBQWdCLENBQUMsaUJBR2YsaUJBQWlCLENBQUMsSUFBSTs4R0FXakMsV0FBVztzQkFEZCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFNN0IsU0FBUztzQkFEWixXQUFXO3VCQUFDLGtCQUFrQjtnQkFhdEIsa0JBQWtCO3NCQUExQixLQUFLO2dCQUtrQyxrQkFBa0I7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSzdCLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFLRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkEyREksMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUtHLDhCQUE4QjtzQkFBdkMsTUFBTTtnQkFLRywwQkFBMEI7c0JBQW5DLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RCaW5kaW5nXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgfSBmcm9tIFwiLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnRcIjtcclxuaW1wb3J0IFNpbXBsZUJhciBmcm9tICdzaW1wbGViYXInO1xyXG5cclxuY29uc3QgQklNUExVU19OT1RJRllfTUVTU0FHRVMgPSBcImJpbXBsdXMtbm90aWZ5LW1lc3NhZ2VzXCI7XHJcbmludGVyZmFjZSBNZXNzYWdlTW9kZWwge1xyXG4gICdpZCc6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAndHlwZSc6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAndGl0bGUnOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgJ3RleHQnOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgJ2xpbmsnOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgJ2xpbmtUZXh0Jzogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQsXHJcbiAgJ2xpbmtzJzogc3RyaW5nW10gfCB1bmRlZmluZWQsXHJcbiAgJ2FjdGlvbklkJzogbnVtYmVyIHwgdW5kZWZpbmVkLFxyXG4gICdjYXBpdGFsaXplZFRpdGxlJzogc3RyaW5nIHwgYm9vbGVhbiB8IHVuZGVmaW5lZFxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtbm90aWZ5JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzIDogW1RyYW5zbGF0ZVNlcnZpY2VdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLW5vdGlmeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtbm90aWZ5LmNvbXBvbmVudC5sZXNzJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzTm90aWZ5Q29tcG9uZW50IGV4dGVuZHMgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2Vke1xyXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpe1xyXG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSlcclxuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG4gIC8vIEV4cG9zZSBBcnJheSBjb25zdHJ1Y3RvciBhcyBhIHByb3BlcnR5XHJcbiAgQXJyYXkgPSBBcnJheTtcclxuICBcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5ldy1tZXNzYWdlcycpXHJcbiAgZ2V0IG5ld01lc3NhZ2VzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FsZXJ0QWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5iaW0tbm90aWZ5JylcclxuICBnZXQgYmltTm90aWZ5KCkge1xyXG4gICAgcmV0dXJuIHRydWU7IC8vIE9yIHlvdSBjYW4gdXNlIGEgY29uZGl0aW9uIGhlcmUgaWYgbmVlZGVkXHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogTGlzdCBvZiBtZXNzYWdlc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfbWVzc2FnZXNMaXN0OiBNZXNzYWdlTW9kZWxbXSA9IFtdO1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogcHJvcGVydGllc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBASW5wdXQoKSBtZXNzYWdlUHJldmlld1RpbWUgOiBudW1iZXIgPSAzMDAwOyAvLyBpbiBtc1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogcHJvcGVydGllc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd01lc3NhZ2VQcmV2aWV3IDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBwcm9wZXJ0aWVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCgpIHByZXZpZXdNZXNzYWdlc0xpbWl0IDogbnVtYmVyID0gMztcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIG9mZnNldCBvZiBwcmV2aWV3IG1lc3NhZ2VzIGZyb20gbWFpbiBpY29uXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCgpIHByZXZpZXdNZXNzYWdlc09mZnNldFkgOiBzdHJpbmcgPSAnMi43ZW0nO1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogcHJvcGVydGllc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBASW5wdXQoKSBtZXNzYWdlcyA6IHN0cmluZyA9ICcnO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snbWVzc2FnZXMnXSkge1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGNoYW5nZXNbJ21lc3NhZ2VzJ10uY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZU1lc3NhZ2VzKG5ld1ZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZU1lc3NhZ2VzKG5ld1ZhbHVlOiBzdHJpbmcgLyosIG9sZFZhbHVlOiBzdHJpbmcqLykge1xyXG4gICAgY29uc3QgaXNPayA9IG5ld1ZhbHVlICAmJiB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnO1xyXG4gICAgaWYgKCFpc09rKSB7XHJcbiAgICAgIHRoaXMuX21lc3NhZ2VzTGlzdCA9IFtdO1xyXG4gICAgICB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0ID0gW107XHJcbiAgICAgIHRoaXMuX2FsZXJ0QWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtc2dEYXRhID0gSlNPTi5wYXJzZShuZXdWYWx1ZSk7XHJcbiAgICB0aGlzLl9tZXNzYWdlc0xpc3QgPSBtc2dEYXRhLm1lc3NhZ2VzO1xyXG5cclxuICAgIC8vIGZpbHRlciBuZXcgbWVzc2FnZXMgaW50byB0aGUgbGlzdCBmb3IgcHJldmlld1xyXG4gICAgbGV0IG5ld01lc3NhZ2VzTGlzdCA9IHRoaXMuX21lc3NhZ2VzTGlzdC5maWx0ZXIoIChtc2cpID0+IHRoaXMuX29sZE1lc3NhZ2VzTGlzdC5maW5kSW5kZXgoIChvbGRNc2cpID0+IG9sZE1zZy5pZCA9PT0gbXNnLmlkICkgPCAwICk7XHJcbiAgICBuZXdNZXNzYWdlc0xpc3QgPSBuZXdNZXNzYWdlc0xpc3QuZmlsdGVyKCAoaXRlbSkgPT4gdGhpcy5fbWVzc2FnZU5vdFJlYWRZZXQoaXRlbSkpOyAgLy8gZmlsdGVyaW5nIG91dCBhbGxyZWFkeSByZWFkIG1lc3NhZ2VzIChzdG9yZWQgaW4gbG9jYWxzdG9yYWdlKVxyXG5cclxuICAgIC8vIHNldHVwIHByZXZpZXcgZm9yIG5ldyBtZXNzYWdlc1xyXG4gICAgbmV3TWVzc2FnZXNMaXN0LnJldmVyc2UoKS5mb3JFYWNoKCAobmV3TXNnKSA9PiB7XHJcbiAgICAgIGlmICggdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5maW5kSW5kZXgoIChpdGVtKSA9PiBuZXdNc2cuaWQgPT09IGl0ZW0uaWQgKSA8IDApe1xyXG4gICAgICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QudW5zaGlmdChuZXdNc2cpO1xyXG5cclxuICAgICAgICBpZiggdGhpcy5tZXNzYWdlUHJldmlld1RpbWUgPiAwICkge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nsb3NlUHJldmlld01lc3NhZ2UobmV3TXNnLmlkLCBmYWxzZSk7XHJcbiAgICAgICAgICB9LCB0aGlzLm1lc3NhZ2VQcmV2aWV3VGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIC8vIGxpbWl0IHByZXZpZXcgbWVzc2FnZXMgY291bnRcclxuICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QubGVuZ3RoID0gdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5sZW5ndGggPiB0aGlzLnByZXZpZXdNZXNzYWdlc0xpbWl0ID8gdGhpcy5wcmV2aWV3TWVzc2FnZXNMaW1pdCA6IHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QubGVuZ3RoO1xyXG5cclxuICAgIC8vIHNldCBvbGQgc3RhdGUgYW5kIGFsZXJ0XHJcbiAgICB0aGlzLl9vbGRNZXNzYWdlc0xpc3QgPSAgdGhpcy5fbWVzc2FnZXNMaXN0O1xyXG4gICAgdGhpcy5fYWxlcnRBY3RpdmUgPSB0aGlzLl9tZXNzYWdlc0xpc3QubGVuZ3RoICE9IDA7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogU3RhdGVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9tZW51T3BlbmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgX2FsZXJ0QWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgX29sZE1lc3NhZ2VzTGlzdDogTWVzc2FnZU1vZGVsW10gPSBbXTtcclxuICAvLyBsaXN0IG9mIG1lc3NhZ2VzIGZvciBwcmV2aWV3XHJcbiAgX3ByZXZpZXdNZXNzYWdlc0xpc3Q6IE1lc3NhZ2VNb2RlbFtdID0gW107XHJcblxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogRGVsZXRlIGl0ZW0gZXZlbnRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQE91dHB1dCgpIGJpbXBsdXNOb3RpZnlEZWxldGVNZXNzYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBEZWxldGUgYWxsIGl0ZW0gZXZlbnRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQE91dHB1dCgpIGJpbXBsdXNOb3RpZnlEZWxldGVBbGxNZXNzYWdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogTWVzc2FnZSBhY3Rpb24gZXZlbnRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQE91dHB1dCgpIGJpbXBsdXNOb3RpZnlNZXNzYWdlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBzY3JvbGxiYXIgc3R1ZmZcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG4gIF9zaW1wbGVCYXI6IFNpbXBsZUJhciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGluaXRpYWwgY29tcG9uZW50IGxvYWRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZU1lc3NhZ2VzKHRoaXMubWVzc2FnZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNvbXBvbmVudCBkaWQgbG9hZFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpbml0IHNpbXBsZSBiYXIgc2Nyb2xsYmFyXHJcbiAgICBjb25zdCBtZXNzYWdlc0NvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkID0gdGhpcy5fZWxlbWVudD8ucXVlcnlTZWxlY3RvcignLm1lc3NhZ2VzLWNvbnRhaW5lcicpO1xyXG4gICAgaWYgKG1lc3NhZ2VzQ29udGFpbmVyKSB7XHJcbiAgICAgIHRoaXMuX3NpbXBsZUJhciA9IG5ldyBTaW1wbGVCYXIobWVzc2FnZXNDb250YWluZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNvbXBvbmVudCBkaWQgcmVuZGVyXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIC8vLS0tIGZpeCBmb3Igc2ltcGxlIGJhciBjb21wb25lbnQgdXBkYXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLy0tLSBtZXNzYWdlLWl0ZW0gaXRlbXMgYXJlIHJlcmVuZGVyZWQgb3V0c2lkZSBvZiB0aGUgc2ltcGxlIGJhciBjb250YWluZXIgc28gd2UgbmVlZCB0byBtb3ZlIHRoZW0gaW5zaWRlIG9mIHRoZSBzY3JvbGwgY29udGFpbmVyIC0tXHJcbiAgICBjb25zdCBfZWxlbWVudCA9IHRoaXMuX2VsZW1lbnQ7XHJcbiAgICBjb25zdCBiYXJFbGVtID0gX2VsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy5tZXNzYWdlcy1jb250YWluZXInKTtcclxuXHJcbiAgICBpZiAoIWJhckVsZW0pe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbXNnSXRlbXM9IF9lbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsKFwiLm1lc3NhZ2VzLWNvbnRhaW5lciA+IC5tZXNzYWdlLWl0ZW1cIik7XHJcbiAgICBjb25zdCBiYXJDb250ZW50ID0gX2VsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoXCIuc2ltcGxlYmFyLWNvbnRlbnRcIik7XHJcblxyXG4gICAgaWYgKCFiYXJDb250ZW50IHx8ICFtc2dJdGVtcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX3NpbXBsZUJhcikge1xyXG4gICAgICB0aGlzLl9zaW1wbGVCYXIucmVjYWxjdWxhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjbG9zZSBzaW5nbGUgbWVzc2FnZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfY2xvc2VNZXNzYWdlKCBpdGVtOiBNZXNzYWdlTW9kZWwsIHByZXZpZXc6IGJvb2xlYW4sIGV2ZW50OiBFdmVudCB8IHVuZGVmaW5lZCApe1xyXG4gICAgaWYgKHByZXZpZXcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2Nsb3NlUHJldmlld01lc3NhZ2UoaXRlbS5pZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGZpcmVFdmVudCh0aGlzLCBcImJpbXBsdXNOb3RpZnlEZWxldGVNZXNzYWdlXCIsIEpTT04uc3RyaW5naWZ5KGl0ZW0pKTtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjbG9zZSBwcmV2aWV3IG1lc3NhZ2VcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2Nsb3NlUHJldmlld01lc3NhZ2UoIG1zZ0lkOiBzdHJpbmcgfCB1bmRlZmluZWQsIGNsb3NlZEJ5VXNlciA9IHRydWUgKXtcclxuICAgIGlmICghbXNnSWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QgPSB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0LmZpbHRlciggKG1zZykgPT4gbXNnLmlkICE9PSBtc2dJZCApO1xyXG4gICAgdGhpcy5zdG9yZU1lc3NhZ2VzQXNSZWFkKFttc2dJZF0pO1xyXG4gICAgaWYgKCBjbG9zZWRCeVVzZXIgJiYgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5sZW5ndGggPT09IDAgKXtcclxuICAgICAgdGhpcy5fYWxlcnRBY3RpdmUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjbG9zZSBhbGwgbWVzc2FnZXNcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2RlbGV0ZUFsbE1lc3NhZ2VzKCl7XHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJiaW1wbHVzTm90aWZ5RGVsZXRlQWxsTWVzc2FnZXNcIik7XHJcbiAgICB0aGlzLmNsZWFyQWxsTG9jYWxTdG9yYWdlTWVzc2FnZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBtZXNzYWdlIGNsaWNrZWRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX21lc3NhZ2VBY3Rpb24oIGl0ZW06IE1lc3NhZ2VNb2RlbCwgaW5kZXg6IG51bWJlciApe1xyXG4gICAgaXRlbS5hY3Rpb25JZCA9IGluZGV4O1xyXG4gICAgZmlyZUV2ZW50KHRoaXMsIFwiYmltcGx1c05vdGlmeU1lc3NhZ2VBY3Rpb25cIiwgSlNPTi5zdHJpbmdpZnkoaXRlbSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIHRvZ2dsZSBtZW51IG9wZW5cclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX3RvZ2dsZU9wZW5lZCgpe1xyXG4gICAgdGhpcy5fbWVudU9wZW5lZCA9ICF0aGlzLl9tZW51T3BlbmVkO1xyXG4gICAgdGhpcy5fYWxlcnRBY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QgPSBbXTtcclxuICB9XHJcblxyXG4gIF9tZXNzYWdlTm90UmVhZFlldChtZXNzYWdlOiBNZXNzYWdlTW9kZWwpe1xyXG4gICAgaWYoIW1lc3NhZ2U/LmlkKXtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBjb25zdCBtZXNzYWdlTGlzdFN0cmluZyA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShCSU1QTFVTX05PVElGWV9NRVNTQUdFUyk7XHJcbiAgICBpZighbWVzc2FnZUxpc3RTdHJpbmcpe1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiAhbWVzc2FnZUxpc3RTdHJpbmcuaW5jbHVkZXMobWVzc2FnZS5pZCk7XHJcbiAgfVxyXG5cclxuICBzdG9yZU1lc3NhZ2VzQXNSZWFkKG1lc3NhZ2VMaXN0OiBzdHJpbmdbXSl7XHJcbiAgICBpZighbWVzc2FnZUxpc3QgfHwgbWVzc2FnZUxpc3QubGVuZ3RoIDwxKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IG1lc3NhZ2VMaXN0U3RyaW5nID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKEJJTVBMVVNfTk9USUZZX01FU1NBR0VTKTtcclxuICAgIGlmKCFtZXNzYWdlTGlzdFN0cmluZyl7XHJcbiAgICAgIG1lc3NhZ2VMaXN0U3RyaW5nID0gXCJcIjtcclxuICAgIH1cclxuICAgIG1lc3NhZ2VMaXN0LmZvckVhY2goKGl0ZW06IHN0cmluZyk9PntcclxuICAgICAgaWYoIW1lc3NhZ2VMaXN0U3RyaW5nPy5pbmNsdWRlcyhpdGVtKSl7XHJcbiAgICAgICAgbWVzc2FnZUxpc3RTdHJpbmcrPShpdGVtK1wiO1wiKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShCSU1QTFVTX05PVElGWV9NRVNTQUdFUyxtZXNzYWdlTGlzdFN0cmluZyk7XHJcbiAgfVxyXG5cclxuICBjbGVhckFsbExvY2FsU3RvcmFnZU1lc3NhZ2VzKCl7XHJcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oQklNUExVU19OT1RJRllfTUVTU0FHRVMpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGdldCBpdGVtIGxpbmsgdGl0bGVcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2dldEl0ZW1MaW5rVGl0bGUoIGl0ZW06IE1lc3NhZ2VNb2RlbCwgaW5kZXg6IG51bWJlciApe1xyXG4gICAgbGV0IGl0ZW1MaW5rc1RpdGxlczogKHN0cmluZyB8IHVuZGVmaW5lZClbXSA9IFtdO1xyXG4gICAgaWYgKCBpdGVtLmxpbmtUZXh0ICYmIChpdGVtLmxpbmtzIHx8IGl0ZW0ubGluaykpIHtcclxuICAgICAgaXRlbUxpbmtzVGl0bGVzID0gQXJyYXkuaXNBcnJheShpdGVtLmxpbmtzKSA/IGl0ZW0ubGlua3MgOiBbaXRlbS5saW5rXTtcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtTGlua3NUaXRsZXNbaW5kZXhdID8/ICcnO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICBjbGFzcz1cImRyb3Bkb3duXCJcclxuICAgIFtuZ0NsYXNzXT1cIl9tZW51T3BlbmVkID8gJ29wZW4nIDogJydcIlxyXG4gICAgKGNsaWNrKT1cIl90b2dnbGVPcGVuZWQoKVwiXHJcbiAgICBbdGl0bGVdPVwiJ19CaW1wbHVzTm90aWZ5VGl0bGUnIHwgdHJhbnNsYXRlXCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZVwiID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwibWFpbi1pY29uXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ2ljb24tbm90aWZ5JyArICh0aGlzLl9hbGVydEFjdGl2ZSA/ICctYWxlcnQgbm90aWZ5JyA6ICcnKVwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYmltY29tcC1kcm9wZG93bi1tZW51XCJcclxuICAgICAgICBbbmdDbGFzc109XCJfbWVudU9wZW5lZCA/ICdvcGVuJyA6ICcnXCJcclxuICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibm90aWZ5LXRpY2tcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZXMtdGl0bGVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VzLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAoe3t0aGlzLl9tZXNzYWdlc0xpc3QubGVuZ3RofX0pXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2VzLWRlbGV0ZS1hbGxcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9kZWxldGVBbGxNZXNzYWdlcygpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3tcIl9Ob3RpZnlfTWFya19BbGxcIiB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlcy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgQGlmIChfbWVzc2FnZXNMaXN0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9tZXNzYWdlc0xpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1pdGVtLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJ21lc3NhZ2UtaXRlbS1pY29uLScgKyBpdGVtLnR5cGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tdGl0bGUtdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NhcGl0YWxpemUnOml0ZW0uY2FwaXRhbGl6ZWRUaXRsZX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2l0ZW0udGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW0taWNvbi1jbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2Nsb3NlTWVzc2FnZShpdGVtLCBmYWxzZSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1ib2R5LXRleHRcIj57e2l0ZW0udGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChpdGVtLmxpbmtUZXh0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsaW5rIG9mIChpdGVtLmxpbmtUZXh0LmNvbnN0cnVjdG9yID09PSBBcnJheSA/IGl0ZW0ubGlua1RleHQgOiBbaXRlbS5saW5rVGV4dF0pOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtLWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIl9nZXRJdGVtTGlua1RpdGxlKGl0ZW0sIGkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfbWVzc2FnZUFjdGlvbihpdGVtLCBpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID57e2xpbmt9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tZW1wdHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1pdGVtLWVtcHR5LWljb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1pdGVtLWVtcHR5LXRleHRcIj57e1wiX05vdGlmeV9Ob19NZXNzYWdlc1wiIHwgdHJhbnNsYXRlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2XHJcbiAgICBjbGFzcz1cImJpbWNvbXAtb3ZlcmxheVwiXHJcbiAgICBbbmdDbGFzc109XCJfbWVudU9wZW5lZCA/ICdvcGVuJyA6ICcnXCJcclxuICAgIChjbGljayk9XCJfdG9nZ2xlT3BlbmVkKClcIlxyXG4+PC9kaXY+XHJcblxyXG48ZGl2XHJcbiAgICBjbGFzcz1cImJpbWNvbXAtbWVzc2FnZXMtcHJldmlld1wiXHJcbiAgICBbbmdDbGFzc109XCIoc2hvd01lc3NhZ2VQcmV2aWV3ICYmICFfbWVudU9wZW5lZCAmJiBfcHJldmlld01lc3NhZ2VzTGlzdC5sZW5ndGggPiAwKSA/ICd2aXNpYmxlJyA6ICcnXCJcclxuICAgIFtzdHlsZS50b3BdPVwicHJldmlld01lc3NhZ2VzT2Zmc2V0WVwiXHJcbj5cclxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlcy1jb250YWluZXItcHJldmlld1wiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX3ByZXZpZXdNZXNzYWdlc0xpc3RcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1pdGVtLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cIidtZXNzYWdlLWl0ZW0taWNvbi0nICsgaXRlbS50eXBlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tdGl0bGUtdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjYXBpdGFsaXplJzppdGVtLmNhcGl0YWxpemVkVGl0bGV9XCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7e2l0ZW0udGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW0taWNvbi1jbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9jbG9zZU1lc3NhZ2UoaXRlbSwgdHJ1ZSwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1ib2R5LXRleHRcIj5cclxuICAgICAgICAgICAgICAgIHt7aXRlbS50ZXh0fX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rVGV4dCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsaW5rIG9mIChpdGVtLmxpbmtUZXh0LmNvbnN0cnVjdG9yID09PSBBcnJheSA/IGl0ZW0ubGlua1RleHQgOiBbaXRlbS5saW5rVGV4dF0pOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1saW5rXCJcclxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiX2dldEl0ZW1MaW5rVGl0bGUoaXRlbSwgaSlcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfbWVzc2FnZUFjdGlvbihpdGVtLCBpKVwiXHJcbiAgICAgICAgICAgICAgICA+e3tsaW5rfX08L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1ub3RpZnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1ub3RpZnkvYmltcGx1cy1ub3RpZnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1ub3RpZnkvYmltcGx1cy1ub3RpZnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGdCQUFnQixFQUloQixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUNqSCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQzs7OztBQUU3SCxNQUFNLHVCQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBeUIxRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsK0JBQStCO0lBQ3pFLFlBQVksZ0JBQWtDO1FBQzVDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBRXpCLHlDQUF5QztRQUN6QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBWWQ7O29GQUU0RTtRQUM1RSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFFbkM7O29GQUU0RTtRQUNuRSx1QkFBa0Is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bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgSG9zdEJpbmRpbmdcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlyZUV2ZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlLCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmltcGx1c1Njcm9sbGFibGVDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9iaW1wbHVzLXNjcm9sbGFibGUtY29udGFpbmVyL2JpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXIuY29tcG9uZW50JztcclxuXHJcbmNvbnN0IEJJTVBMVVNfTk9USUZZX01FU1NBR0VTID0gXCJiaW1wbHVzLW5vdGlmeS1tZXNzYWdlc1wiO1xyXG5pbnRlcmZhY2UgTWVzc2FnZU1vZGVsIHtcclxuICAnaWQnOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgJ3R5cGUnOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgJ3RpdGxlJzogc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICd0ZXh0Jzogc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICdsaW5rJzogc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICdsaW5rVGV4dCc6IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxyXG4gICdsaW5rcyc6IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxyXG4gICdhY3Rpb25JZCc6IG51bWJlciB8IHVuZGVmaW5lZCxcclxuICAnY2FwaXRhbGl6ZWRUaXRsZSc6IHN0cmluZyB8IGJvb2xlYW4gfCB1bmRlZmluZWRcclxufVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1iaW1wbHVzLW5vdGlmeScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBCaW1wbHVzU2Nyb2xsYWJsZUNvbnRhaW5lckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzIDogW1RyYW5zbGF0ZVNlcnZpY2VdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLW5vdGlmeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtbm90aWZ5LmNvbXBvbmVudC5sZXNzJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzTm90aWZ5Q29tcG9uZW50IGV4dGVuZHMgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0e1xyXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2Upe1xyXG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSlcclxuICB9XHJcbiAgLy8gRXhwb3NlIEFycmF5IGNvbnN0cnVjdG9yIGFzIGEgcHJvcGVydHlcclxuICBBcnJheSA9IEFycmF5O1xyXG4gIFxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubmV3LW1lc3NhZ2VzJylcclxuICBnZXQgbmV3TWVzc2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWxlcnRBY3RpdmU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJpbS1ub3RpZnknKVxyXG4gIGdldCBiaW1Ob3RpZnkoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTsgLy8gT3IgeW91IGNhbiB1c2UgYSBjb25kaXRpb24gaGVyZSBpZiBuZWVkZWRcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBMaXN0IG9mIG1lc3NhZ2VzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9tZXNzYWdlc0xpc3Q6IE1lc3NhZ2VNb2RlbFtdID0gW107XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBwcm9wZXJ0aWVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCgpIG1lc3NhZ2VQcmV2aWV3VGltZSA6IG51bWJlciA9IDMwMDA7IC8vIGluIG1zXHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBwcm9wZXJ0aWVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93TWVzc2FnZVByZXZpZXcgOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIHByb3BlcnRpZXNcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQElucHV0KCkgcHJldmlld01lc3NhZ2VzTGltaXQgOiBudW1iZXIgPSAzO1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogb2Zmc2V0IG9mIHByZXZpZXcgbWVzc2FnZXMgZnJvbSBtYWluIGljb25cclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQElucHV0KCkgcHJldmlld01lc3NhZ2VzT2Zmc2V0WSA6IHN0cmluZyA9ICcyLjdlbSc7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBwcm9wZXJ0aWVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCgpIG1lc3NhZ2VzIDogc3RyaW5nID0gJyc7XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydtZXNzYWdlcyddKSB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY2hhbmdlc1snbWVzc2FnZXMnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlTWVzc2FnZXMobmV3VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlTWVzc2FnZXMobmV3VmFsdWU6IHN0cmluZyAvKiwgb2xkVmFsdWU6IHN0cmluZyovKSB7XHJcbiAgICBjb25zdCBpc09rID0gbmV3VmFsdWUgICYmIHR5cGVvZiBuZXdWYWx1ZSA9PT0gJ3N0cmluZyc7XHJcbiAgICBpZiAoIWlzT2spIHtcclxuICAgICAgdGhpcy5fbWVzc2FnZXNMaXN0ID0gW107XHJcbiAgICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QgPSBbXTtcclxuICAgICAgdGhpcy5fYWxlcnRBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG1zZ0RhdGEgPSBKU09OLnBhcnNlKG5ld1ZhbHVlKTtcclxuICAgIHRoaXMuX21lc3NhZ2VzTGlzdCA9IG1zZ0RhdGEubWVzc2FnZXM7XHJcblxyXG4gICAgLy8gZmlsdGVyIG5ldyBtZXNzYWdlcyBpbnRvIHRoZSBsaXN0IGZvciBwcmV2aWV3XHJcbiAgICBsZXQgbmV3TWVzc2FnZXNMaXN0ID0gdGhpcy5fbWVzc2FnZXNMaXN0LmZpbHRlciggKG1zZykgPT4gdGhpcy5fb2xkTWVzc2FnZXNMaXN0LmZpbmRJbmRleCggKG9sZE1zZykgPT4gb2xkTXNnLmlkID09PSBtc2cuaWQgKSA8IDAgKTtcclxuICAgIG5ld01lc3NhZ2VzTGlzdCA9IG5ld01lc3NhZ2VzTGlzdC5maWx0ZXIoIChpdGVtKSA9PiB0aGlzLl9tZXNzYWdlTm90UmVhZFlldChpdGVtKSk7ICAvLyBmaWx0ZXJpbmcgb3V0IGFsbHJlYWR5IHJlYWQgbWVzc2FnZXMgKHN0b3JlZCBpbiBsb2NhbHN0b3JhZ2UpXHJcblxyXG4gICAgLy8gc2V0dXAgcHJldmlldyBmb3IgbmV3IG1lc3NhZ2VzXHJcbiAgICBuZXdNZXNzYWdlc0xpc3QucmV2ZXJzZSgpLmZvckVhY2goIChuZXdNc2cpID0+IHtcclxuICAgICAgaWYgKCB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0LmZpbmRJbmRleCggKGl0ZW0pID0+IG5ld01zZy5pZCA9PT0gaXRlbS5pZCApIDwgMCl7XHJcbiAgICAgICAgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC51bnNoaWZ0KG5ld01zZyk7XHJcblxyXG4gICAgICAgIGlmKCB0aGlzLm1lc3NhZ2VQcmV2aWV3VGltZSA+IDAgKSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fY2xvc2VQcmV2aWV3TWVzc2FnZShuZXdNc2cuaWQsIGZhbHNlKTtcclxuICAgICAgICAgIH0sIHRoaXMubWVzc2FnZVByZXZpZXdUaW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgLy8gbGltaXQgcHJldmlldyBtZXNzYWdlcyBjb3VudFxyXG4gICAgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5sZW5ndGggPSB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0Lmxlbmd0aCA+IHRoaXMucHJldmlld01lc3NhZ2VzTGltaXQgPyB0aGlzLnByZXZpZXdNZXNzYWdlc0xpbWl0IDogdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5sZW5ndGg7XHJcblxyXG4gICAgLy8gc2V0IG9sZCBzdGF0ZSBhbmQgYWxlcnRcclxuICAgIHRoaXMuX29sZE1lc3NhZ2VzTGlzdCA9ICB0aGlzLl9tZXNzYWdlc0xpc3Q7XHJcbiAgICB0aGlzLl9hbGVydEFjdGl2ZSA9IHRoaXMuX21lc3NhZ2VzTGlzdC5sZW5ndGggIT0gMDtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBTdGF0ZXNcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX21lbnVPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBfYWxlcnRBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBfb2xkTWVzc2FnZXNMaXN0OiBNZXNzYWdlTW9kZWxbXSA9IFtdO1xyXG4gIC8vIGxpc3Qgb2YgbWVzc2FnZXMgZm9yIHByZXZpZXdcclxuICBfcHJldmlld01lc3NhZ2VzTGlzdDogTWVzc2FnZU1vZGVsW10gPSBbXTtcclxuXHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBEZWxldGUgaXRlbSBldmVudFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBAT3V0cHV0KCkgYmltcGx1c05vdGlmeURlbGV0ZU1lc3NhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIERlbGV0ZSBhbGwgaXRlbSBldmVudFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBAT3V0cHV0KCkgYmltcGx1c05vdGlmeURlbGV0ZUFsbE1lc3NhZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBNZXNzYWdlIGFjdGlvbiBldmVudFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBAT3V0cHV0KCkgYmltcGx1c05vdGlmeU1lc3NhZ2VBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGluaXRpYWwgY29tcG9uZW50IGxvYWRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZU1lc3NhZ2VzKHRoaXMubWVzc2FnZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNsb3NlIHNpbmdsZSBtZXNzYWdlXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9jbG9zZU1lc3NhZ2UoIGl0ZW06IE1lc3NhZ2VNb2RlbCwgcHJldmlldzogYm9vbGVhbiwgZXZlbnQ6IEV2ZW50IHwgdW5kZWZpbmVkICl7XHJcbiAgICBpZiAocHJldmlldykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fY2xvc2VQcmV2aWV3TWVzc2FnZShpdGVtLmlkKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZmlyZUV2ZW50KHRoaXMsIFwiYmltcGx1c05vdGlmeURlbGV0ZU1lc3NhZ2VcIiwgSlNPTi5zdHJpbmdpZnkoaXRlbSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNsb3NlIHByZXZpZXcgbWVzc2FnZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfY2xvc2VQcmV2aWV3TWVzc2FnZSggbXNnSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgY2xvc2VkQnlVc2VyID0gdHJ1ZSApe1xyXG4gICAgaWYgKCFtc2dJZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdCA9IHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QuZmlsdGVyKCAobXNnKSA9PiBtc2cuaWQgIT09IG1zZ0lkICk7XHJcbiAgICB0aGlzLnN0b3JlTWVzc2FnZXNBc1JlYWQoW21zZ0lkXSk7XHJcbiAgICBpZiAoIGNsb3NlZEJ5VXNlciAmJiB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0Lmxlbmd0aCA9PT0gMCApe1xyXG4gICAgICB0aGlzLl9hbGVydEFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNsb3NlIGFsbCBtZXNzYWdlc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfZGVsZXRlQWxsTWVzc2FnZXMoKXtcclxuICAgIGZpcmVFdmVudCh0aGlzLCBcImJpbXBsdXNOb3RpZnlEZWxldGVBbGxNZXNzYWdlc1wiKTtcclxuICAgIHRoaXMuY2xlYXJBbGxMb2NhbFN0b3JhZ2VNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIG1lc3NhZ2UgY2xpY2tlZFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfbWVzc2FnZUFjdGlvbiggaXRlbTogTWVzc2FnZU1vZGVsLCBpbmRleDogbnVtYmVyICl7XHJcbiAgICBpdGVtLmFjdGlvbklkID0gaW5kZXg7XHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJiaW1wbHVzTm90aWZ5TWVzc2FnZUFjdGlvblwiLCBKU09OLnN0cmluZ2lmeShpdGVtKSk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogdG9nZ2xlIG1lbnUgb3BlblxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfdG9nZ2xlT3BlbmVkKCl7XHJcbiAgICB0aGlzLl9tZW51T3BlbmVkID0gIXRoaXMuX21lbnVPcGVuZWQ7XHJcbiAgICB0aGlzLl9hbGVydEFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgX21lc3NhZ2VOb3RSZWFkWWV0KG1lc3NhZ2U6IE1lc3NhZ2VNb2RlbCl7XHJcbiAgICBpZighbWVzc2FnZT8uaWQpe1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1lc3NhZ2VMaXN0U3RyaW5nID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKEJJTVBMVVNfTk9USUZZX01FU1NBR0VTKTtcclxuICAgIGlmKCFtZXNzYWdlTGlzdFN0cmluZyl7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICFtZXNzYWdlTGlzdFN0cmluZy5pbmNsdWRlcyhtZXNzYWdlLmlkKTtcclxuICB9XHJcblxyXG4gIHN0b3JlTWVzc2FnZXNBc1JlYWQobWVzc2FnZUxpc3Q6IHN0cmluZ1tdKXtcclxuICAgIGlmKCFtZXNzYWdlTGlzdCB8fCBtZXNzYWdlTGlzdC5sZW5ndGggPDEpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgbWVzc2FnZUxpc3RTdHJpbmcgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oQklNUExVU19OT1RJRllfTUVTU0FHRVMpO1xyXG4gICAgaWYoIW1lc3NhZ2VMaXN0U3RyaW5nKXtcclxuICAgICAgbWVzc2FnZUxpc3RTdHJpbmcgPSBcIlwiO1xyXG4gICAgfVxyXG4gICAgbWVzc2FnZUxpc3QuZm9yRWFjaCgoaXRlbTogc3RyaW5nKT0+e1xyXG4gICAgICBpZighbWVzc2FnZUxpc3RTdHJpbmc/LmluY2x1ZGVzKGl0ZW0pKXtcclxuICAgICAgICBtZXNzYWdlTGlzdFN0cmluZys9KGl0ZW0rXCI7XCIpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKEJJTVBMVVNfTk9USUZZX01FU1NBR0VTLG1lc3NhZ2VMaXN0U3RyaW5nKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQWxsTG9jYWxTdG9yYWdlTWVzc2FnZXMoKXtcclxuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShCSU1QTFVTX05PVElGWV9NRVNTQUdFUyk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogZ2V0IGl0ZW0gbGluayB0aXRsZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfZ2V0SXRlbUxpbmtUaXRsZSggaXRlbTogTWVzc2FnZU1vZGVsLCBpbmRleDogbnVtYmVyICl7XHJcbiAgICBsZXQgaXRlbUxpbmtzVGl0bGVzOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdID0gW107XHJcbiAgICBpZiAoIGl0ZW0ubGlua1RleHQgJiYgKGl0ZW0ubGlua3MgfHwgaXRlbS5saW5rKSkge1xyXG4gICAgICBpdGVtTGlua3NUaXRsZXMgPSBBcnJheS5pc0FycmF5KGl0ZW0ubGlua3MpID8gaXRlbS5saW5rcyA6IFtpdGVtLmxpbmtdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW1MaW5rc1RpdGxlc1tpbmRleF0gPz8gJyc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIGNsYXNzPVwiZHJvcGRvd25cIlxyXG4gICAgW25nQ2xhc3NdPVwiX21lbnVPcGVuZWQgPyAnb3BlbicgOiAnJ1wiXHJcbiAgICAoY2xpY2spPVwiX3RvZ2dsZU9wZW5lZCgpXCJcclxuICAgIFt0aXRsZV09XCInX0JpbXBsdXNOb3RpZnlUaXRsZScgfCB0cmFuc2xhdGVcIlxyXG4+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlXCIgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJtYWluLWljb25cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCInaWNvbi1ub3RpZnknICsgKHRoaXMuX2FsZXJ0QWN0aXZlID8gJy1hbGVydCBub3RpZnknIDogJycpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJiaW1jb21wLWRyb3Bkb3duLW1lbnVcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIl9tZW51T3BlbmVkID8gJ29wZW4nIDogJydcIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZnktdGlja1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlcy10aXRsZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZXMtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICh7e3RoaXMuX21lc3NhZ2VzTGlzdC5sZW5ndGh9fSlcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZXMtZGVsZXRlLWFsbFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2RlbGV0ZUFsbE1lc3NhZ2VzKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7e1wiX05vdGlmeV9NYXJrX0FsbFwiIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICBAaWYgKF9tZXNzYWdlc0xpc3QubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICA8bGliLWJpbXBsdXMtc2Nyb2xsYWJsZS1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfbWVzc2FnZXNMaXN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtaXRlbS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCInbWVzc2FnZS1pdGVtLWljb24tJyArIGl0ZW0udHlwZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtLXRpdGxlLXRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2FwaXRhbGl6ZSc6aXRlbS5jYXBpdGFsaXplZFRpdGxlfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tpdGVtLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtLWljb24tY2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfY2xvc2VNZXNzYWdlKGl0ZW0sIGZhbHNlLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1ib2R5LXRleHRcIj57e2l0ZW0udGV4dH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rVGV4dCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsaW5rIG9mIChpdGVtLmxpbmtUZXh0LmNvbnN0cnVjdG9yID09PSBBcnJheSA/IGl0ZW0ubGlua1RleHQgOiBbaXRlbS5saW5rVGV4dF0pOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1saW5rXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiX2dldEl0ZW1MaW5rVGl0bGUoaXRlbSwgaSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfbWVzc2FnZUFjdGlvbihpdGVtLCBpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3tsaW5rfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9saWItYmltcGx1cy1zY3JvbGxhYmxlLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1pdGVtLWVtcHR5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1lbXB0eS1pY29uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1lbXB0eS10ZXh0XCI+e3tcIl9Ob3RpZnlfTm9fTWVzc2FnZXNcIiB8IHRyYW5zbGF0ZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdlxyXG4gICAgY2xhc3M9XCJiaW1jb21wLW92ZXJsYXlcIlxyXG4gICAgW25nQ2xhc3NdPVwiX21lbnVPcGVuZWQgPyAnb3BlbicgOiAnJ1wiXHJcbiAgICAoY2xpY2spPVwiX3RvZ2dsZU9wZW5lZCgpXCJcclxuPjwvZGl2PlxyXG5cclxuPGRpdlxyXG4gICAgY2xhc3M9XCJiaW1jb21wLW1lc3NhZ2VzLXByZXZpZXdcIlxyXG4gICAgW25nQ2xhc3NdPVwiKHNob3dNZXNzYWdlUHJldmlldyAmJiAhX21lbnVPcGVuZWQgJiYgX3ByZXZpZXdNZXNzYWdlc0xpc3QubGVuZ3RoID4gMCkgPyAndmlzaWJsZScgOiAnJ1wiXHJcbiAgICBbc3R5bGUudG9wXT1cInByZXZpZXdNZXNzYWdlc09mZnNldFlcIlxyXG4+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZXMtY29udGFpbmVyLXByZXZpZXdcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIF9wcmV2aWV3TWVzc2FnZXNMaXN0XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtaXRlbS10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCInbWVzc2FnZS1pdGVtLWljb24tJyArIGl0ZW0udHlwZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtLXRpdGxlLXRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2FwaXRhbGl6ZSc6aXRlbS5jYXBpdGFsaXplZFRpdGxlfVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3tpdGVtLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtLWljb24tY2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfY2xvc2VNZXNzYWdlKGl0ZW0sIHRydWUsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tYm9keS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICB7e2l0ZW0udGV4dH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICBAaWYgKGl0ZW0ubGlua1RleHQpIHtcclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGluayBvZiAoaXRlbS5saW5rVGV4dC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkgPyBpdGVtLmxpbmtUZXh0IDogW2l0ZW0ubGlua1RleHRdKTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tbGlua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIl9nZXRJdGVtTGlua1RpdGxlKGl0ZW0sIGkpXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX21lc3NhZ2VBY3Rpb24oaXRlbSwgaSlcIlxyXG4gICAgICAgICAgICAgICAgPnt7bGlua319PC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=