@fundamental-ngx/core 0.44.0-rc.3 → 0.44.0-rc.4

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 (156) hide show
  1. package/avatar/avatar.component.d.ts +0 -1
  2. package/bar/directives/bar-element.directive.d.ts +6 -3
  3. package/carousel/carousel.component.d.ts +8 -2
  4. package/date-picker/date-picker.component.d.ts +30 -9
  5. package/datetime-picker/datetime-picker.component.d.ts +28 -10
  6. package/dialog/dialog-footer-button/dialog-footer-button.component.d.ts +2 -0
  7. package/dialog/directives/dialog-decisive-button.directive.d.ts +2 -0
  8. package/dialog/utils/dialog-config.class.d.ts +1 -1
  9. package/esm2022/action-bar/action-bar.component.mjs +10 -3
  10. package/esm2022/alert/alert-service/alert.service.mjs +12 -3
  11. package/esm2022/alert/alert-utils/alert-config.mjs +11 -3
  12. package/esm2022/alert/alert-utils/alert-container.component.mjs +11 -3
  13. package/esm2022/alert/alert-utils/alert-ref.mjs +11 -3
  14. package/esm2022/alert/alert.component.mjs +17 -3
  15. package/esm2022/alert/alert.module.mjs +11 -3
  16. package/esm2022/avatar/avatar.component.mjs +2 -2
  17. package/esm2022/bar/directives/bar-element.directive.mjs +15 -7
  18. package/esm2022/carousel/carousel.component.mjs +34 -5
  19. package/esm2022/combobox/combobox-mobile/combobox-mobile.component.mjs +1 -1
  20. package/esm2022/date-picker/date-picker.component.mjs +103 -10
  21. package/esm2022/datetime-picker/datetime-picker.component.mjs +78 -8
  22. package/esm2022/dialog/dialog-footer-button/dialog-footer-button.component.mjs +8 -3
  23. package/esm2022/dialog/dialog-header/dialog-header.component.mjs +1 -1
  24. package/esm2022/dialog/directives/dialog-decisive-button.directive.mjs +6 -2
  25. package/esm2022/dialog/utils/dialog-config.class.mjs +1 -1
  26. package/esm2022/feed-list-item/components/item/feed-list-item.component.mjs +23 -1
  27. package/esm2022/form/form-label/form-label.component.mjs +21 -5
  28. package/esm2022/list/list-item/list-item.component.mjs +36 -1
  29. package/esm2022/menu/menu-mobile/menu-mobile.component.mjs +1 -1
  30. package/esm2022/message-box/directives/message-box-decisive-button.directive.mjs +6 -2
  31. package/esm2022/message-box/message-box-footer-button/message-box-footer-button.component.mjs +8 -3
  32. package/esm2022/message-box/message-box-header/message-box-header.component.mjs +1 -1
  33. package/esm2022/message-strip/message-strip.component.mjs +12 -1
  34. package/esm2022/multi-combobox/mobile/mobile-multi-combobox.component.mjs +1 -1
  35. package/esm2022/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
  36. package/esm2022/pagination/pagination.component.mjs +140 -2
  37. package/esm2022/popover/base/base-popover.class.mjs +25 -1
  38. package/esm2022/popover/popover.component.mjs +28 -17
  39. package/esm2022/product-switch/product-switch/product-switch.component.mjs +11 -1
  40. package/esm2022/quick-view/quick-view-title/quick-view-title.component.mjs +1 -1
  41. package/esm2022/select/select.component.mjs +17 -10
  42. package/esm2022/shellbar/shellbar-actions/shellbar-actions.component.mjs +12 -1
  43. package/esm2022/side-navigation/side-navigation.component.mjs +12 -3
  44. package/esm2022/slider/slider.component.mjs +83 -13
  45. package/esm2022/split-button/split-button.component.mjs +20 -1
  46. package/esm2022/splitter/splitter-pagination/splitter-pagination.component.mjs +9 -2
  47. package/esm2022/splitter/splitter.component.mjs +16 -5
  48. package/esm2022/step-input/step-input.component.mjs +46 -24
  49. package/esm2022/switch/switch.component.mjs +25 -3
  50. package/esm2022/tabs/tab-item-expand/tab-item-expand.component.mjs +11 -1
  51. package/esm2022/tabs/tab-list.component.mjs +16 -5
  52. package/esm2022/text/text.component.mjs +23 -1
  53. package/esm2022/time/i18n/time-i18n.mjs +2 -2
  54. package/esm2022/token/token.component.mjs +25 -3
  55. package/esm2022/toolbar/toolbar.component.mjs +11 -3
  56. package/esm2022/upload-collection/upload-collection-button-group/upload-collection-button-group.component.mjs +67 -1
  57. package/esm2022/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +12 -1
  58. package/feed-list-item/components/item/feed-list-item.component.d.ts +8 -2
  59. package/fesm2022/fundamental-ngx-core-action-bar.mjs +9 -2
  60. package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
  61. package/fesm2022/fundamental-ngx-core-alert.mjs +58 -13
  62. package/fesm2022/fundamental-ngx-core-alert.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-avatar.mjs +1 -1
  64. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-bar.mjs +14 -6
  66. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  67. package/fesm2022/fundamental-ngx-core-carousel.mjs +32 -3
  68. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  69. package/fesm2022/fundamental-ngx-core-combobox.mjs +1 -1
  70. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  71. package/fesm2022/fundamental-ngx-core-date-picker.mjs +102 -9
  72. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  73. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +77 -7
  74. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-core-dialog.mjs +13 -4
  76. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +22 -0
  78. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  79. package/fesm2022/fundamental-ngx-core-form.mjs +20 -4
  80. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-core-list.mjs +35 -0
  82. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-core-menu.mjs +1 -1
  84. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  85. package/fesm2022/fundamental-ngx-core-message-box.mjs +13 -4
  86. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  87. package/fesm2022/fundamental-ngx-core-message-strip.mjs +11 -0
  88. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  89. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +1 -1
  90. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  91. package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
  92. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  93. package/fesm2022/fundamental-ngx-core-pagination.mjs +139 -1
  94. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  95. package/fesm2022/fundamental-ngx-core-popover.mjs +51 -16
  96. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  97. package/fesm2022/fundamental-ngx-core-product-switch.mjs +10 -0
  98. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  99. package/fesm2022/fundamental-ngx-core-quick-view.mjs +1 -1
  100. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  101. package/fesm2022/fundamental-ngx-core-select.mjs +16 -9
  102. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  103. package/fesm2022/fundamental-ngx-core-shellbar.mjs +11 -0
  104. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  105. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +11 -2
  106. package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  107. package/fesm2022/fundamental-ngx-core-slider.mjs +82 -12
  108. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  109. package/fesm2022/fundamental-ngx-core-split-button.mjs +19 -0
  110. package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-core-splitter.mjs +23 -5
  112. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-core-step-input.mjs +45 -23
  114. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-core-switch.mjs +24 -2
  116. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-core-tabs.mjs +25 -4
  118. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  119. package/fesm2022/fundamental-ngx-core-text.mjs +22 -0
  120. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  121. package/fesm2022/fundamental-ngx-core-time.mjs +1 -1
  122. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  123. package/fesm2022/fundamental-ngx-core-token.mjs +24 -2
  124. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  125. package/fesm2022/fundamental-ngx-core-toolbar.mjs +10 -2
  126. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  127. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +77 -0
  128. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  129. package/form/form-label/form-label.component.d.ts +8 -2
  130. package/fundamental-ngx-core-v0.44.0-rc.4.tgz +0 -0
  131. package/list/list-item/list-item.component.d.ts +16 -4
  132. package/message-box/directives/message-box-decisive-button.directive.d.ts +2 -0
  133. package/message-box/message-box-footer-button/message-box-footer-button.component.d.ts +2 -0
  134. package/message-strip/message-strip.component.d.ts +4 -1
  135. package/package.json +3 -3
  136. package/pagination/pagination.component.d.ts +44 -11
  137. package/popover/base/base-popover.class.d.ts +12 -3
  138. package/popover/popover.component.d.ts +8 -5
  139. package/product-switch/product-switch/product-switch.component.d.ts +4 -1
  140. package/schematics/add-dependencies/index.js +4 -4
  141. package/select/select.component.d.ts +9 -6
  142. package/shellbar/shellbar-actions/shellbar-actions.component.d.ts +6 -3
  143. package/slider/slider.component.d.ts +13 -4
  144. package/split-button/split-button.component.d.ts +8 -2
  145. package/splitter/splitter.component.d.ts +5 -2
  146. package/step-input/step-input.component.d.ts +12 -6
  147. package/switch/switch.component.d.ts +10 -4
  148. package/tabs/tab-item-expand/tab-item-expand.component.d.ts +4 -1
  149. package/tabs/tab-list.component.d.ts +6 -3
  150. package/text/text.component.d.ts +8 -2
  151. package/time/i18n/time-i18n.d.ts +2 -2
  152. package/token/token.component.d.ts +8 -2
  153. package/toolbar/toolbar.component.d.ts +4 -1
  154. package/upload-collection/upload-collection-button-group/upload-collection-button-group.component.d.ts +24 -6
  155. package/upload-collection/upload-collection-form-item/upload-collection-form-item.component.d.ts +6 -3
  156. package/fundamental-ngx-core-v0.44.0-rc.3.tgz +0 -0
@@ -1,7 +1,9 @@
1
+ import { __decorate, __metadata } from "tslib";
1
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, EventEmitter, HostListener, Input, NgZone, Optional, Output, TemplateRef, Type, ViewChild, ViewContainerRef } from '@angular/core';
2
3
  import { AbstractFdNgxClass } from '@fundamental-ngx/cdk/utils';
3
4
  import { AlertRef } from './alert-utils/alert-ref';
4
5
  import { AlertConfig } from './alert-utils/alert-config';
6
+ import deprecated from 'deprecated-decorator';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "./alert-utils/alert-config";
7
9
  import * as i2 from "./alert-utils/alert-ref";
@@ -15,7 +17,7 @@ let alertUniqueId = 0;
15
17
  * The component that represents an alert. It can be only be used inline.
16
18
  * If the AlertService is used, this component is auto-generated.
17
19
  */
18
- export class AlertComponent extends AbstractFdNgxClass {
20
+ export let AlertComponent = class AlertComponent extends AbstractFdNgxClass {
19
21
  /** @hidden */
20
22
  constructor(elRef, cdRef, componentFactoryResolver, ngZone, alertConfig, alertRef) {
21
23
  super(elRef);
@@ -164,7 +166,19 @@ export class AlertComponent extends AbstractFdNgxClass {
164
166
  }
165
167
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AlertComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: i1.AlertConfig, optional: true }, { token: i2.AlertRef, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
166
168
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: AlertComponent, selector: "fd-alert", inputs: { dismissible: "dismissible", type: "type", id: "id", duration: "duration", mousePersist: "mousePersist", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", dismissLabel: "dismissLabel", width: "width", minWidth: "minWidth", message: "message" }, outputs: { onDismiss: "onDismiss" }, host: { listeners: { "mouseenter": "handleAlertMouseEvent($event)", "mouseleave": "handleAlertMouseEvent($event)" } }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<fd-message-strip\n [dismissLabel]=\"dismissLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaLabel]=\"ariaLabel\"\n [width]=\"width\"\n [minWidth]=\"minWidth\"\n [dismissible]=\"dismissible\"\n [id]=\"id\"\n [type]=\"type\"\n (onDismiss)=\"onDismiss.emit($event)\"\n>\n <ng-container #container>{{ message }}</ng-container>\n <ng-content></ng-content>\n</fd-message-strip>\n", styles: [":host{display:block}:host.fd-has-display-block{display:block}:host.fd-has-display-none{display:none}\n"], dependencies: [{ kind: "component", type: i3.MessageStripComponent, selector: "fd-message-strip", inputs: ["class", "dismissible", "noIcon", "type", "id", "ariaLabelledBy", "ariaLabel", "dismissLabel", "width", "minWidth", "marginBottom"], outputs: ["onDismiss"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
167
- }
169
+ };
170
+ AlertComponent = __decorate([
171
+ deprecated({
172
+ version: '0.16.0',
173
+ alternative: 'Message Strip'
174
+ }),
175
+ __metadata("design:paramtypes", [ElementRef,
176
+ ChangeDetectorRef,
177
+ ComponentFactoryResolver,
178
+ NgZone,
179
+ AlertConfig,
180
+ AlertRef])
181
+ ], AlertComponent);
168
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AlertComponent, decorators: [{
169
183
  type: Component,
170
184
  args: [{ selector: 'fd-alert', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-message-strip\n [dismissLabel]=\"dismissLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaLabel]=\"ariaLabel\"\n [width]=\"width\"\n [minWidth]=\"minWidth\"\n [dismissible]=\"dismissible\"\n [id]=\"id\"\n [type]=\"type\"\n (onDismiss)=\"onDismiss.emit($event)\"\n>\n <ng-container #container>{{ message }}</ng-container>\n <ng-content></ng-content>\n</fd-message-strip>\n", styles: [":host{display:block}:host.fd-has-display-block{display:block}:host.fd-has-display-none{display:none}\n"] }]
@@ -208,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
208
222
  type: HostListener,
209
223
  args: ['mouseleave', ['$event']]
210
224
  }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYWxlcnQvYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYWxlcnQvYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULHdCQUF3QixFQUV4QixVQUFVLEVBRVYsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFFBQVEsRUFDUixNQUFNLEVBQ04sV0FBVyxFQUNYLElBQUksRUFDSixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBR3pELElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztBQUV0Qjs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxrQkFBa0I7SUErRGxELGNBQWM7SUFDZCxZQUNZLEtBQWlCLEVBQ2pCLEtBQXdCLEVBQ3hCLHdCQUFrRCxFQUNsRCxNQUFjLEVBQ0YsV0FBd0IsRUFDeEIsUUFBa0I7UUFFdEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBUEwsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDRixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFV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dUJBQXVCLENBQUMsTUFBTTs7MEJBdUUxQyxRQUFROzswQkFDUixRQUFROzRDQW5FYixZQUFZO3NCQURYLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUtsRCxXQUFXO3NCQURWLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQUtOLEVBQUU7c0JBREQsS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLGNBQWM7c0JBRGIsS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFLTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLOztRQUtOLCtEQUErRDtRQUMvRCxTQUFTO3NCQUZSLE1BQU07Z0JBMEdQLHFCQUFxQjtzQkFGcEIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNyQyxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZkTmd4Q2xhc3MsIE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQWxlcnRSZWYgfSBmcm9tICcuL2FsZXJ0LXV0aWxzL2FsZXJ0LXJlZic7XG5pbXBvcnQgeyBBbGVydENvbmZpZyB9IGZyb20gJy4vYWxlcnQtdXRpbHMvYWxlcnQtY29uZmlnJztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcFR5cGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVzc2FnZS1zdHJpcCc7XG5cbmxldCBhbGVydFVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICogQWxlcnQgY29tcG9uZW50IGlzIGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAwLjE2LjBcbiAqIE1lc3NhZ2UgU3RyaXAgY29tcG9uZW50IHNob3VsZCBiZSB1c2VkIGluc3RlYWQuXG4gKlxuICogVGhlIGNvbXBvbmVudCB0aGF0IHJlcHJlc2VudHMgYW4gYWxlcnQuIEl0IGNhbiBiZSBvbmx5IGJlIHVzZWQgaW5saW5lLlxuICogSWYgdGhlIEFsZXJ0U2VydmljZSBpcyB1c2VkLCB0aGlzIGNvbXBvbmVudCBpcyBhdXRvLWdlbmVyYXRlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1hbGVydCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGZE5neENsYXNzIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuICAgIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBhbGVydCBpcyBkaXNtaXNzaWJsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc21pc3NpYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgYWxlcnQuIENhbiBiZSBvbmUgb2YgKndhcm5pbmcqLCAqc3VjY2VzcyosICppbmZvcm1hdGlvbiosICplcnJvciogb3IgbnVsbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHR5cGU6IE1lc3NhZ2VTdHJpcFR5cGU7XG5cbiAgICAvKiogSWQgZm9yIHRoZSBhbGVydCBjb21wb25lbnQuIElmIG9taXR0ZWQsIGEgdW5pcXVlIG9uZSBpcyBnZW5lcmF0ZWQuICovXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nID0gJ2ZkLWFsZXJ0LScgKyBhbGVydFVuaXF1ZUlkKys7XG5cbiAgICAvKiogRHVyYXRpb24gb2YgdGltZSAqaW4gbWlsbGlzZWNvbmRzKiB0aGF0IHRoZSBhbGVydCB3aWxsIGJlIHZpc2libGUuIFNldCB0byAtMSBmb3IgaW5kZWZpbml0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGR1cmF0aW9uID0gMTAwMDA7XG5cbiAgICAvKiogV2hldGhlciB0aGUgYWxlcnQgc2hvdWxkIHN0YXkgb3BlbiBpZiB0aGUgbW91c2UgaXMgaG92ZXJpbmcgb3ZlciBpdC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1vdXNlUGVyc2lzdCA9IGZhbHNlO1xuXG4gICAgLyoqIElkIG9mIHRoZSBlbGVtZW50IHRoYXQgbGFiZWxzIHRoZSBhbGVydC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbGxlZEJ5OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFyaWEgbGFiZWwgZm9yIHRoZSBhbGVydCBjb21wb25lbnQgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBBcmlhIGxhYmVsIGZvciB0aGUgZGlzbWlzcyBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBkaXNtaXNzTGFiZWwgPSAnRGlzbWlzcyc7XG5cbiAgICAvKiogV2lkdGggb2YgdGhlIGFsZXJ0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgd2lkdGg6IHN0cmluZztcblxuICAgIC8qKiBNaW5pbXVtIHdpZHRoIG9mIHRoZSBhbGVydC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1pbldpZHRoOiBzdHJpbmc7XG5cbiAgICAvKiogQWx0ZXJuYXRpdmUgd2F5IG9mIHBhc3NpbmcgaW4gYSBtZXNzYWdlIHRvIHRoZSBhbGVydC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1lc3NhZ2U6IHN0cmluZztcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIHRoZSBhbGVydCBpcyBkaXNtaXNzZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25EaXNtaXNzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG1vdXNlSW5BbGVydCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+IHwgRW1iZWRkZWRWaWV3UmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoaWxkQ29udGVudDogVHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PiB8IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGFsZXJ0Q29uZmlnOiBBbGVydENvbmZpZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhbGVydFJlZjogQWxlcnRSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxSZWYpO1xuICAgICAgICB0aGlzLl9zZXRBbGVydENvbmZpZyhhbGVydENvbmZpZyk7XG4gICAgICAgIHRoaXMuX3NldFByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hbGVydFJlZikge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0UHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jaGlsZENvbnRlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoaWxkQ29udGVudCBpbnN0YW5jZW9mIFR5cGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRGcm9tQ29tcG9uZW50KHRoaXMuY2hpbGRDb250ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jaGlsZENvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZEZyb21UZW1wbGF0ZSh0aGlzLmNoaWxkQ29udGVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZEZyb21TdHJpbmcodGhpcy5jaGlsZENvbnRlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNtaXNzZXMgdGhlIGFsZXJ0LiBJZiB0aGUgYWxlcnQgd2FzIGdlbmVyYXRlZCB2aWEgdGhlIEFsZXJ0U2VydmljZSwgaXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00uXG4gICAgICogT3RoZXJ3aXNlLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHZhbHVlIHRvIG5vbmUuIEZpcmVzIHRoZSBvbkRpc21pc3MgZXZlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWFudWFsRGlzbWlzcyBTZXQgdG8gdHJ1ZSB0byBza2lwIHRoZSBkaXNtaXNzIGFuaW1hdGlvbi5cbiAgICAgKiBAcGFyYW0gcmVhc29uIERhdGEgdG8gcGFzcyBiYWNrIHRvIHRoZSBjYWxsaW5nIGNvbXBvbmVudC4gT25seSB1c2FibGUgaWYgYWxlcnQgaXMgb3BlbmVkIHVzaW5nIHRoZSBTZXJ2aWNlLlxuICAgICAqXG4gICAgICovXG4gICAgZGlzbWlzcyhyZWFzb24/OiBhbnksIG1hbnVhbERpc21pc3M6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAobWFudWFsRGlzbWlzcykge1xuICAgICAgICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2ZkLWhhcy1kaXNwbGF5LW5vbmUnKTtcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdmZC1oYXMtZGlzcGxheS1ibG9jaycpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFsZXJ0UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0UmVmLmRpc21pc3MocmVhc29uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC1oYXMtZGlzcGxheS1ub25lJyk7XG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZmQtaGFzLWRpc3BsYXktYmxvY2snKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uRGlzbWlzcy5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbnMgdGhlIGFsZXJ0LlxuICAgICAqL1xuICAgIG9wZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hbGVydFJlZikge1xuICAgICAgICAgICAgaWYgKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID09PSAnYmxvY2snKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2ZkLWhhcy1kaXNwbGF5LW5vbmUnKTtcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC1oYXMtZGlzcGxheS1ibG9jaycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZHVyYXRpb24gPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tb3VzZVBlcnNpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHdhaXQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubW91c2VJbkFsZXJ0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQod2FpdCwgNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5kaXNtaXNzKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB3YWl0KCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5kaXNtaXNzKCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgdGhpcy5kdXJhdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlQWxlcnRNb3VzZUV2ZW50KGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC50eXBlID09PSAnbW91c2VlbnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMubW91c2VJbkFsZXJ0ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnbW91c2VsZWF2ZScpIHtcbiAgICAgICAgICAgIHRoaXMubW91c2VJbkFsZXJ0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hZGRDbGFzc1RvRWxlbWVudCgnZmQtYWxlcnQnKTtcbiAgICAgICAgaWYgKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgdGhpcy5fYWRkQ2xhc3NUb0VsZW1lbnQoJ2ZkLWFsZXJ0LS0nICsgdGhpcy50eXBlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kaXNtaXNzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fYWRkQ2xhc3NUb0VsZW1lbnQoJ2ZkLWFsZXJ0LS1kaXNtaXNzaWJsZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGxvYWRGcm9tVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgICAgICAgICRpbXBsaWNpdDogdGhpcy5hbGVydFJlZlxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGxvYWRGcm9tQ29tcG9uZW50KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRUeXBlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgbG9hZEZyb21TdHJpbmcoY29udGVudFN0cmluZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IGNvbnRlbnRTdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRBbGVydENvbmZpZyhhbGVydENvbmZpZzogQWxlcnRDb25maWcpOiB2b2lkIHtcbiAgICAgICAgT2JqZWN0LmtleXMoYWxlcnRDb25maWcgfHwge30pXG4gICAgICAgICAgICAuZmlsdGVyKChrZXkpID0+IGtleSAhPT0gJ2RhdGEnICYmIGtleSAhPT0gJ2NvbnRhaW5lcicpXG4gICAgICAgICAgICAuZm9yRWFjaCgoa2V5KSA9PiAodGhpc1trZXldID0gYWxlcnRDb25maWdba2V5XSkpO1xuICAgIH1cbn1cbiIsIjxmZC1tZXNzYWdlLXN0cmlwXG4gICAgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIlxuICAgIFthcmlhTGFiZWxsZWRCeV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgW2FyaWFMYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFt3aWR0aF09XCJ3aWR0aFwiXG4gICAgW21pbldpZHRoXT1cIm1pbldpZHRoXCJcbiAgICBbZGlzbWlzc2libGVdPVwiZGlzbWlzc2libGVcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgKG9uRGlzbWlzcyk9XCJvbkRpc21pc3MuZW1pdCgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICNjb250YWluZXI+e3sgbWVzc2FnZSB9fTwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZmQtbWVzc2FnZS1zdHJpcD5cbiJdfQ==
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYWxlcnQvYWxlcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYWxlcnQvYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFFeEIsVUFBVSxFQUVWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxJQUFJLEVBQ0osU0FBUyxFQUNULGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQVksTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sVUFBVSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQUU5QyxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFFdEI7Ozs7Ozs7R0FPRztBQVdJLFdBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWUsU0FBUSxrQkFBa0I7SUErRGxELGNBQWM7SUFDZCxZQUNZLEtBQWlCLEVBQ2pCLEtBQXdCLEVBQ3hCLHdCQUFrRCxFQUNsRCxNQUFjLEVBQ0YsV0FBd0IsRUFDeEIsUUFBa0I7UUFFdEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBUEwsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDRixn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Y0E7O0FEaUNhLGNBQWM7SUFWMUIsVUFBVSxDQUFDO1FBQ1IsT0FBTyxFQUFFLFFBQVE7UUFDakIsV0FBVyxFQUFFLGVBQWU7S0FDL0IsQ0FBQztxQ0F3RXFCLFVBQVU7UUFDVixpQkFBaUI7UUFDRSx3QkFBd0I7UUFDMUMsTUFBTTtRQUNXLFdBQVc7UUFDZCxRQUFRO0dBdEVqQyxjQUFjLENBeU0xQjsyRkF6TVksY0FBYztrQkFOMUIsU0FBUzsrQkFDSSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU07OzBCQXVFMUMsUUFBUTs7MEJBQ1IsUUFBUTs0Q0FuRWIsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFLbEQsV0FBVztzQkFEVixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFLTixFQUFFO3NCQURELEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixjQUFjO3NCQURiLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLE9BQU87c0JBRE4sS0FBSzs7UUFLTiwrREFBK0Q7UUFDL0QsU0FBUztzQkFGUixNQUFNO2dCQTBHUCxxQkFBcUI7c0JBRnBCLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDckMsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBUeXBlLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RGZE5neENsYXNzLCBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEFsZXJ0UmVmIH0gZnJvbSAnLi9hbGVydC11dGlscy9hbGVydC1yZWYnO1xuaW1wb3J0IHsgQWxlcnRDb25maWcgfSBmcm9tICcuL2FsZXJ0LXV0aWxzL2FsZXJ0LWNvbmZpZyc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBUeXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lc3NhZ2Utc3RyaXAnO1xuaW1wb3J0IGRlcHJlY2F0ZWQgZnJvbSAnZGVwcmVjYXRlZC1kZWNvcmF0b3InO1xuXG5sZXQgYWxlcnRVbmlxdWVJZCA9IDA7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIEFsZXJ0IGNvbXBvbmVudCBpcyBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMC4xNi4wXG4gKiBNZXNzYWdlIFN0cmlwIGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLlxuICpcbiAqIFRoZSBjb21wb25lbnQgdGhhdCByZXByZXNlbnRzIGFuIGFsZXJ0LiBJdCBjYW4gYmUgb25seSBiZSB1c2VkIGlubGluZS5cbiAqIElmIHRoZSBBbGVydFNlcnZpY2UgaXMgdXNlZCwgdGhpcyBjb21wb25lbnQgaXMgYXV0by1nZW5lcmF0ZWQuXG4gKi9cbkBkZXByZWNhdGVkKHtcbiAgICB2ZXJzaW9uOiAnMC4xNi4wJyxcbiAgICBhbHRlcm5hdGl2ZTogJ01lc3NhZ2UgU3RyaXAnXG59KVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1hbGVydCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGZE5neENsYXNzIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuICAgIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZjtcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBhbGVydCBpcyBkaXNtaXNzaWJsZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc21pc3NpYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgYWxlcnQuIENhbiBiZSBvbmUgb2YgKndhcm5pbmcqLCAqc3VjY2VzcyosICppbmZvcm1hdGlvbiosICplcnJvciogb3IgbnVsbC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHR5cGU6IE1lc3NhZ2VTdHJpcFR5cGU7XG5cbiAgICAvKiogSWQgZm9yIHRoZSBhbGVydCBjb21wb25lbnQuIElmIG9taXR0ZWQsIGEgdW5pcXVlIG9uZSBpcyBnZW5lcmF0ZWQuICovXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nID0gJ2ZkLWFsZXJ0LScgKyBhbGVydFVuaXF1ZUlkKys7XG5cbiAgICAvKiogRHVyYXRpb24gb2YgdGltZSAqaW4gbWlsbGlzZWNvbmRzKiB0aGF0IHRoZSBhbGVydCB3aWxsIGJlIHZpc2libGUuIFNldCB0byAtMSBmb3IgaW5kZWZpbml0ZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGR1cmF0aW9uID0gMTAwMDA7XG5cbiAgICAvKiogV2hldGhlciB0aGUgYWxlcnQgc2hvdWxkIHN0YXkgb3BlbiBpZiB0aGUgbW91c2UgaXMgaG92ZXJpbmcgb3ZlciBpdC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1vdXNlUGVyc2lzdCA9IGZhbHNlO1xuXG4gICAgLyoqIElkIG9mIHRoZSBlbGVtZW50IHRoYXQgbGFiZWxzIHRoZSBhbGVydC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbGxlZEJ5OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEFyaWEgbGFiZWwgZm9yIHRoZSBhbGVydCBjb21wb25lbnQgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBBcmlhIGxhYmVsIGZvciB0aGUgZGlzbWlzcyBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBkaXNtaXNzTGFiZWwgPSAnRGlzbWlzcyc7XG5cbiAgICAvKiogV2lkdGggb2YgdGhlIGFsZXJ0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgd2lkdGg6IHN0cmluZztcblxuICAgIC8qKiBNaW5pbXVtIHdpZHRoIG9mIHRoZSBhbGVydC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1pbldpZHRoOiBzdHJpbmc7XG5cbiAgICAvKiogQWx0ZXJuYXRpdmUgd2F5IG9mIHBhc3NpbmcgaW4gYSBtZXNzYWdlIHRvIHRoZSBhbGVydC4gKi9cbiAgICBASW5wdXQoKVxuICAgIG1lc3NhZ2U6IHN0cmluZztcblxuICAgIC8qKiBFdmVudCBmaXJlZCB3aGVuIHRoZSBhbGVydCBpcyBkaXNtaXNzZWQuICovXG4gICAgQE91dHB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgb25EaXNtaXNzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG1vdXNlSW5BbGVydCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+IHwgRW1iZWRkZWRWaWV3UmVmPGFueT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoaWxkQ29udGVudDogVHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PiB8IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGFsZXJ0Q29uZmlnOiBBbGVydENvbmZpZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBhbGVydFJlZjogQWxlcnRSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxSZWYpO1xuICAgICAgICB0aGlzLl9zZXRBbGVydENvbmZpZyhhbGVydENvbmZpZyk7XG4gICAgICAgIHRoaXMuX3NldFByb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hbGVydFJlZikge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0UHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jaGlsZENvbnRlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoaWxkQ29udGVudCBpbnN0YW5jZW9mIFR5cGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRGcm9tQ29tcG9uZW50KHRoaXMuY2hpbGRDb250ZW50KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5jaGlsZENvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZEZyb21UZW1wbGF0ZSh0aGlzLmNoaWxkQ29udGVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZEZyb21TdHJpbmcodGhpcy5jaGlsZENvbnRlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNtaXNzZXMgdGhlIGFsZXJ0LiBJZiB0aGUgYWxlcnQgd2FzIGdlbmVyYXRlZCB2aWEgdGhlIEFsZXJ0U2VydmljZSwgaXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00uXG4gICAgICogT3RoZXJ3aXNlLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHZhbHVlIHRvIG5vbmUuIEZpcmVzIHRoZSBvbkRpc21pc3MgZXZlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWFudWFsRGlzbWlzcyBTZXQgdG8gdHJ1ZSB0byBza2lwIHRoZSBkaXNtaXNzIGFuaW1hdGlvbi5cbiAgICAgKiBAcGFyYW0gcmVhc29uIERhdGEgdG8gcGFzcyBiYWNrIHRvIHRoZSBjYWxsaW5nIGNvbXBvbmVudC4gT25seSB1c2FibGUgaWYgYWxlcnQgaXMgb3BlbmVkIHVzaW5nIHRoZSBTZXJ2aWNlLlxuICAgICAqXG4gICAgICovXG4gICAgZGlzbWlzcyhyZWFzb24/OiBhbnksIG1hbnVhbERpc21pc3M6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAobWFudWFsRGlzbWlzcykge1xuICAgICAgICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2ZkLWhhcy1kaXNwbGF5LW5vbmUnKTtcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdmZC1oYXMtZGlzcGxheS1ibG9jaycpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFsZXJ0UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0UmVmLmRpc21pc3MocmVhc29uKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC1oYXMtZGlzcGxheS1ub25lJyk7XG4gICAgICAgICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnZmQtaGFzLWRpc3BsYXktYmxvY2snKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uRGlzbWlzcy5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbnMgdGhlIGFsZXJ0LlxuICAgICAqL1xuICAgIG9wZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hbGVydFJlZikge1xuICAgICAgICAgICAgaWYgKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID09PSAnYmxvY2snKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2ZkLWhhcy1kaXNwbGF5LW5vbmUnKTtcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdmZC1oYXMtZGlzcGxheS1ibG9jaycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZHVyYXRpb24gPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tb3VzZVBlcnNpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHdhaXQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubW91c2VJbkFsZXJ0ID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQod2FpdCwgNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5kaXNtaXNzKCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB3YWl0KCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5kaXNtaXNzKCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgdGhpcy5kdXJhdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlQWxlcnRNb3VzZUV2ZW50KGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChldmVudC50eXBlID09PSAnbW91c2VlbnRlcicpIHtcbiAgICAgICAgICAgIHRoaXMubW91c2VJbkFsZXJ0ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC50eXBlID09PSAnbW91c2VsZWF2ZScpIHtcbiAgICAgICAgICAgIHRoaXMubW91c2VJbkFsZXJ0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZXRQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hZGRDbGFzc1RvRWxlbWVudCgnZmQtYWxlcnQnKTtcbiAgICAgICAgaWYgKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgdGhpcy5fYWRkQ2xhc3NUb0VsZW1lbnQoJ2ZkLWFsZXJ0LS0nICsgdGhpcy50eXBlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kaXNtaXNzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fYWRkQ2xhc3NUb0VsZW1lbnQoJ2ZkLWFsZXJ0LS1kaXNtaXNzaWJsZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGxvYWRGcm9tVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgICAgICAgICRpbXBsaWNpdDogdGhpcy5hbGVydFJlZlxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGxvYWRGcm9tQ29tcG9uZW50KGNvbXBvbmVudFR5cGU6IFR5cGU8YW55Pik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRUeXBlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgbG9hZEZyb21TdHJpbmcoY29udGVudFN0cmluZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IGNvbnRlbnRTdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRBbGVydENvbmZpZyhhbGVydENvbmZpZzogQWxlcnRDb25maWcpOiB2b2lkIHtcbiAgICAgICAgT2JqZWN0LmtleXMoYWxlcnRDb25maWcgfHwge30pXG4gICAgICAgICAgICAuZmlsdGVyKChrZXkpID0+IGtleSAhPT0gJ2RhdGEnICYmIGtleSAhPT0gJ2NvbnRhaW5lcicpXG4gICAgICAgICAgICAuZm9yRWFjaCgoa2V5KSA9PiAodGhpc1trZXldID0gYWxlcnRDb25maWdba2V5XSkpO1xuICAgIH1cbn1cbiIsIjxmZC1tZXNzYWdlLXN0cmlwXG4gICAgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIlxuICAgIFthcmlhTGFiZWxsZWRCeV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gICAgW2FyaWFMYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgIFt3aWR0aF09XCJ3aWR0aFwiXG4gICAgW21pbldpZHRoXT1cIm1pbldpZHRoXCJcbiAgICBbZGlzbWlzc2libGVdPVwiZGlzbWlzc2libGVcIlxuICAgIFtpZF09XCJpZFwiXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgKG9uRGlzbWlzcyk9XCJvbkRpc21pc3MuZW1pdCgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICNjb250YWluZXI+e3sgbWVzc2FnZSB9fTwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZmQtbWVzc2FnZS1zdHJpcD5cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { __decorate } from "tslib";
1
2
  import { NgModule } from '@angular/core';
2
3
  import { CommonModule } from '@angular/common';
3
4
  import { AlertComponent } from './alert.component';
@@ -6,17 +7,24 @@ import { AlertContainerComponent } from './alert-utils/alert-container.component
6
7
  import { DynamicComponentService } from '@fundamental-ngx/cdk/utils';
7
8
  import { ButtonModule } from '@fundamental-ngx/core/button';
8
9
  import { MessageStripComponent } from '@fundamental-ngx/core/message-strip';
10
+ import deprecated from 'deprecated-decorator';
9
11
  import * as i0 from "@angular/core";
10
12
  /**
11
13
  * @deprecated
12
14
  * Alert component is deprecated since version 0.16.0
13
15
  * Message Strip component should be used instead.
14
16
  */
15
- export class AlertModule {
17
+ export let AlertModule = class AlertModule {
16
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
19
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: AlertModule, declarations: [AlertComponent, AlertContainerComponent], imports: [CommonModule, ButtonModule, MessageStripComponent], exports: [AlertComponent, AlertContainerComponent] }); }
18
20
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AlertModule, providers: [AlertService, DynamicComponentService], imports: [CommonModule, ButtonModule, MessageStripComponent] }); }
19
- }
21
+ };
22
+ AlertModule = __decorate([
23
+ deprecated({
24
+ version: '0.16.0',
25
+ alternative: 'Message Strip'
26
+ })
27
+ ], AlertModule);
20
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: AlertModule, decorators: [{
21
29
  type: NgModule,
22
30
  args: [{
@@ -26,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
26
34
  providers: [AlertService, DynamicComponentService]
27
35
  }]
28
36
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYWxlcnQvYWxlcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOztBQUU1RTs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLFdBQVc7OEdBQVgsV0FBVzsrR0FBWCxXQUFXLGlCQUxMLGNBQWMsRUFBRSx1QkFBdUIsYUFDNUMsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsYUFDakQsY0FBYyxFQUFFLHVCQUF1QjsrR0FHeEMsV0FBVyxhQUZULENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDLFlBRnhDLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCOzsyRkFJbEQsV0FBVztrQkFOdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUM7b0JBQ3ZELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQztvQkFDbEQsU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQtc2VydmljZS9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC11dGlscy9hbGVydC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVzc2FnZS1zdHJpcCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIEFsZXJ0IGNvbXBvbmVudCBpcyBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMC4xNi4wXG4gKiBNZXNzYWdlIFN0cmlwIGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLlxuICovXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0FsZXJ0Q29tcG9uZW50LCBBbGVydENvbnRhaW5lckNvbXBvbmVudF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uTW9kdWxlLCBNZXNzYWdlU3RyaXBDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtBbGVydENvbXBvbmVudCwgQWxlcnRDb250YWluZXJDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW0FsZXJ0U2VydmljZSwgRHluYW1pY0NvbXBvbmVudFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEFsZXJ0TW9kdWxlIHt9XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYWxlcnQvYWxlcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLFVBQVUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFOUM7Ozs7R0FJRztBQVdJLFdBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVc7OEdBQVgsV0FBVzsrR0FBWCxXQUFXLGlCQUxMLGNBQWMsRUFBRSx1QkFBdUIsYUFDNUMsWUFBWSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsYUFDakQsY0FBYyxFQUFFLHVCQUF1QjsrR0FHeEMsV0FBVyxhQUZULENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDLFlBRnhDLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCOztBQUlsRCxXQUFXO0lBVnZCLFVBQVUsQ0FBQztRQUNSLE9BQU8sRUFBRSxRQUFRO1FBQ2pCLFdBQVcsRUFBRSxlQUFlO0tBQy9CLENBQUM7R0FPVyxXQUFXLENBQUc7MkZBQWQsV0FBVztrQkFOdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxjQUFjLEVBQUUsdUJBQXVCLENBQUM7b0JBQ3ZELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUscUJBQXFCLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQztvQkFDbEQsU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLHVCQUF1QixDQUFDO2lCQUNyRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBBbGVydENvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQtc2VydmljZS9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC11dGlscy9hbGVydC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVzc2FnZS1zdHJpcCc7XG5pbXBvcnQgZGVwcmVjYXRlZCBmcm9tICdkZXByZWNhdGVkLWRlY29yYXRvcic7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIEFsZXJ0IGNvbXBvbmVudCBpcyBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMC4xNi4wXG4gKiBNZXNzYWdlIFN0cmlwIGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLlxuICovXG5AZGVwcmVjYXRlZCh7XG4gICAgdmVyc2lvbjogJzAuMTYuMCcsXG4gICAgYWx0ZXJuYXRpdmU6ICdNZXNzYWdlIFN0cmlwJ1xufSlcbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbQWxlcnRDb21wb25lbnQsIEFsZXJ0Q29udGFpbmVyQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCdXR0b25Nb2R1bGUsIE1lc3NhZ2VTdHJpcENvbXBvbmVudF0sXG4gICAgZXhwb3J0czogW0FsZXJ0Q29tcG9uZW50LCBBbGVydENvbnRhaW5lckNvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbQWxlcnRTZXJ2aWNlLCBEeW5hbWljQ29tcG9uZW50U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQWxlcnRNb2R1bGUge31cbiJdfQ==
@@ -20,9 +20,9 @@ export class AvatarComponent {
20
20
  /**
21
21
  * @deprecated
22
22
  * Deprecated according to Rename `backgroundImage` to `image`
23
- * */
24
23
  /** Background image url. */
25
24
  set backgroundImage(value) {
25
+ console.warn('`backgroundImage` input property is deprecated. Use `image` instead.');
26
26
  this._setImage(value);
27
27
  }
28
28
  /** Background image resource: url or base64. */
@@ -379,4 +379,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
379
379
  type: HostListener,
380
380
  args: ['keydown.space', ['$event']]
381
381
  }] } });
382
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEVBRzFCLGFBQWEsRUFDYixvQkFBb0IsRUFFdkIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUUvQyxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0NBQy9CLENBQUM7QUFrQkYsTUFBTSxPQUFPLGVBQWU7SUFxQnhCLCtCQUErQjtJQUMvQixJQUNJLEtBQUssQ0FBQyxLQUF1QjtRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFzQ0Q7OztTQUdLO0lBQ0wsNEJBQTRCO0lBQzVCLElBQ0ksZUFBZSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLFNB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R0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFRRixlQUFlO3NCQURsQixLQUFLO2dCQU9GLEtBQUs7c0JBRFIsS0FBSztnQkFhRixTQUFTO3NCQURaLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxLQUFLO2dCQVNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBR0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQWlCSCxJQUFJO3NCQURQLFdBQVc7dUJBQUMsV0FBVztnQkFPcEIsT0FBTztzQkFEVixTQUFTO3VCQUFDLFNBQVM7Z0JBK0RwQixzQkFBc0IsTUFvQnRCLFFBQVE7c0JBSFAsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNoQyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTllfTEFOR1VBR0VfTEVUVEVSU19SRUdFWCxcbiAgICBDb2xvckFjY2VudCxcbiAgICBTaXplLFxuICAgIGFwcGx5Q3NzQ2xhc3MsXG4gICAgZ2V0UmFuZG9tQ29sb3JBY2NlbnQsXG4gICAgQ3NzQ2xhc3NCdWlsZGVyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRkRfQVZBVEFSX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxubGV0IGF2YXRhclVuaXF1ZUlkID0gMDtcblxuY29uc3QgQUxURVJfSUNPTl9PUFRJT05TID0ge1xuICAgIENPTlRFTlQ6ICdjb250ZW50JyxcbiAgICBBTFQ6ICdhbHQnLFxuICAgIEJBQ0tVUDogJ2JhY2t1cCcsXG4gICAgREVGQVVMVF9JQ09OOiAnZGVmYXVsdC1pY29uJ1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0FWQVRBUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQXZhdGFyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdfdGFiaW5kZXgnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ3NzQ2xhc3NCdWlsZGVyLCBPbkNoYW5nZXMge1xuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogSWQgb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgaWQgPSBgZmQtYXZhdGFyLSR7YXZhdGFyVW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYWx0JylcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEFyaWEtTGFiZWxsZWRieSBmb3IgZWxlbWVudCBkZXNjcmliaW5nIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKVxuICAgIGFyaWFMYWJlbGxlZGJ5OiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBMb2NhbGl6ZWQgdGV4dCBmb3IgbGFiZWwgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYWJlbCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHZhbHVlIHx8IG51bGw7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dldEFiYnJldmlhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyLiBPcHRpb25zIGluY2x1ZGU6ICp4cyosICpzKiwgKm0qLCAqbCogYW5kICp4bCouICovXG4gICAgQElucHV0KCkgc2l6ZTogU2l6ZSA9ICdsJztcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZS4gKi9cbiAgICBASW5wdXQoKSBnbHlwaDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogVGhlIGdseXBoIG5hbWUgZm9yIHpvb20gaWNvbi4gKi9cbiAgICBASW5wdXQoKSB6b29tR2x5cGg6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYSBjaXJjbGUgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBjaXJjbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgdHJhbnNwYXJlbnQgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSB0cmFuc3BhcmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYmFja2dyb3VuZCBzaXplIGNvbnRhaW4gc3R5bGUgdG8gdGhlIEF2YXRhciAqL1xuICAgIEBJbnB1dCgpIGNvbnRhaW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgcGxhY2Vob2xkZXIgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0byBhcHBseSBhIHRpbGUgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgYm9yZGVyIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgYm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogQSBudW1iZXIgZnJvbSAxIHRvIDEwIHJlcHJlc2VudGluZyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNvbG9yQWNjZW50OiBOdWxsYWJsZTxDb2xvckFjY2VudD4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgcmFuZG9tIGJhY2tncm91bmQgY29sb3IgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSByYW5kb20gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGNvbXBvbmVudCBzaG91bGQgYmUgZm9jdXNhYmxlICYgY2xpY2FibGUgKi9cbiAgICBASW5wdXQoKSBjbGlja2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogRGVwcmVjYXRlZCBhY2NvcmRpbmcgdG8gUmVuYW1lIGBiYWNrZ3JvdW5kSW1hZ2VgIHRvIGBpbWFnZWBcbiAgICAgKiAqL1xuICAgIC8qKiBCYWNrZ3JvdW5kIGltYWdlIHVybC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBiYWNrZ3JvdW5kSW1hZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9zZXRJbWFnZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEJhY2tncm91bmQgaW1hZ2UgcmVzb3VyY2U6IHVybCBvciBiYXNlNjQuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW1hZ2UodmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgaW1hZ2UoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQmFja3VwIG9wdGlvbnMgdG8gdXNlIHdoZW4gaW1hZ2UgaGFzbid0IGJlZW4gbG9hZGVkIHN1Y2Nlc3NmdWxseS5cbiAgICAgKiBPcHRpb25zIHNlcGFyYXRlZCB3aXRoIFwifFwiIHN5bWJvbC5cbiAgICAgKiBQb3NzaWJsZSBvcHRpb25zOiBjb250ZW50LCBhbHQsIGJhY2t1cCwgZGVmYXVsdC1pY29uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYWx0ZXJJY29uKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2FsdGVySWNvbiA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYWx0ZXJJY29uKCk6IE51bGxhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWx0ZXJJY29uO1xuICAgIH1cblxuICAgIC8qKiBCYWNrdXAgaW1hZ2UgdG8gbG9hZCB3aGVuIGltYWdlIGhhc24ndCBiZWVuIGxvYWRlZCBzdWNjZXNzZnVsbHkuXG4gICAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gdXNpbmcgYWx0ZXJJY29uIGlucHV0IHByb3BlcnR5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJhY2t1cEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2JhY2t1cEltYWdlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBiYWNrdXBJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2t1cEltYWdlO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYXZhdGFyIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgY2xpY2thYmxlIGlucHV0IHByb3BlcnR5IHNldCB0byB0cnVlLiAqL1xuICAgIEBPdXRwdXQoKSBhdmF0YXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gem9vbSBpY29uIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgem9vbUdseXBoIGlucHV0IHByb3BlcnR5IGlzIHNldC4gKi9cbiAgICBAT3V0cHV0KCkgem9vbUdseXBoQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBzZXQgYmdJbWFnZShpbWFnZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9iZ0ltYWdlID0gaW1hZ2U7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdiYWNrZ3JvdW5kLWltYWdlJywgaW1hZ2UpO1xuICAgIH1cblxuICAgIGdldCBiZ0ltYWdlKCk6IE51bGxhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmdJbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBnZXQgcm9sZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy56b29tR2x5cGggPyAnYnV0dG9uJyA6ICdpbWcnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcpXG4gICAgc2V0IGNvbnRlbnQodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5fY29udGVudCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWJicmV2aWF0ZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ltYWdlOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWx0ZXJJY29uOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29udGVudDogTnVsbGFibGU8RWxlbWVudFJlZj4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9iYWNrdXBJbWFnZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JnSW1hZ2U6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3RhYmluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5ob3N0VGFiaW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaG9zdFRhYmluZGV4O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWNrYWJsZSA/IDAgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBJZiBhIGRlZmF1bHQgcGxhY2Vob2xkZXIgc2hvdWxkIGJlIGRpc3BsYXllZCAqL1xuICAgIGdldCBzaG93RGVmYXVsdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmFiYnJldmlhdGUgJiYgIXRoaXMuX2ltYWdlICYmICF0aGlzLmdseXBoO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHByaXZhdGUgaG9zdFRhYmluZGV4OiBudW1iZXIgfCBudWxsXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuem9vbUdseXBoKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtYXZhdGFyJyxcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA/IGBmZC1hdmF0YXItLSR7dGhpcy5zaXplfWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29sb3JBY2NlbnQgJiYgIXRoaXMucmFuZG9tID8gYGZkLWF2YXRhci0tYWNjZW50LWNvbG9yLSR7dGhpcy5jb2xvckFjY2VudH1gIDogJycsXG4gICAgICAgICAgICB0aGlzLnJhbmRvbSA/IGBmZC1hdmF0YXItLWFjY2VudC1jb2xvci0ke2dldFJhbmRvbUNvbG9yQWNjZW50KCl9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jaXJjbGUgPyAnZmQtYXZhdGFyLS1jaXJjbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmJvcmRlciA/ICdmZC1hdmF0YXItLWJvcmRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNwYXJlbnQgPyAnZmQtYXZhdGFyLS10cmFuc3BhcmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbiA/ICdmZC1hdmF0YXItLWJhY2tncm91bmQtY29udGFpbicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPyAnZmQtYXZhdGFyLS1wbGFjZWhvbGRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudGlsZSA/ICdmZC1hdmF0YXItLXRpbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmNsYXNzXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXG4gICAgX29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNsaWNrYWJsZSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuYXZhdGFyQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnpvb21HbHlwaCkge1xuICAgICAgICAgICAgICAgIHRoaXMuem9vbUdseXBoQ2xpY2tlZC5uZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHpvb21DbGlja2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB0aGlzLnpvb21HbHlwaENsaWNrZWQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEdldCBhbiBhYmJyZXZpYXRlIGZyb20gdGhlIGxhYmVsIG9yIHJldHVybiBudWxsIGlmIG5vdCBmaXQgcmVxdWlyZW1lbnRzICovXG4gICAgcHJpdmF0ZSBfZ2V0QWJicmV2aWF0ZShsYWJlbDogTnVsbGFibGU8c3RyaW5nPik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoIWxhYmVsIHx8IHRoaXMuX2ltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihsYWJlbCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IHRoZSBhYmJyZXZpYXRpb24gc3RyaW5nICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVBYmJyZXZpYXRpb24obGFiZWw6IE51bGxhYmxlPHN0cmluZz4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKCFsYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWF4TGV0dGVyc0NvdW50ID0gMztcbiAgICAgICAgY29uc3QgZmlyc3RMZXR0ZXJzID0gbGFiZWwuc3BsaXQoJyAnKS5tYXAoKHdvcmQpID0+IHdvcmQuY2hhckF0KDApKTtcbiAgICAgICAgY29uc3QgYWJicmV2aWF0ZSA9IGZpcnN0TGV0dGVycy5qb2luKCcnKTtcblxuICAgICAgICBpZiAoZmlyc3RMZXR0ZXJzLmxlbmd0aCA+IG1heExldHRlcnNDb3VudCB8fCAhYWJicmV2aWF0ZS5tYXRjaChBTllfTEFOR1VBR0VfTEVUVEVSU19SRUdFWCkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFiYnJldmlhdGU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRJbWFnZSh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbWFnZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmVyaWZ5SW1hZ2VVcmwodmFsdWUsICgpOiB2b2lkID0+IHt9LCB0aGlzLl9vbkVycm9yQ2FsbGJhY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5iZ0ltYWdlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmVyaWZ5SW1hZ2VVcmwoc3JjVmFsdWU6IHN0cmluZywgb25Mb2FkQ2FsbGJhY2s6ICgpID0+IHZvaWQsIG9uRXJyb3JDYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICAvLyBEb24ndCBsb2FkIHRoZSBzYW1lIGltYWdlIGFsbCB0aGUgdGltZSBjaGVjayBoYXBwZW5zXG4gICAgICAgIGlmIChzcmNWYWx1ZSA9PT0gdGhpcy5iZ0ltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltZy5vbmxvYWQgPSBvbkxvYWRDYWxsYmFjay5iaW5kKHRoaXMpO1xuICAgICAgICBpbWcub25lcnJvciA9IG9uRXJyb3JDYWxsYmFjay5iaW5kKHRoaXMpO1xuICAgICAgICBpbWcuc3JjID0gc3JjVmFsdWU7XG4gICAgICAgIHRoaXMuX2Fzc2lnbkJnSW1hZ2Uoc3JjVmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXNzaWduQmdJbWFnZShzcmNWYWx1ZTogTnVsbGFibGU8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLmJnSW1hZ2UgPSBzcmNWYWx1ZSA/IGB1cmwoJHtzcmNWYWx1ZX0pYCA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9vbkVycm9yQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fYWx0ZXJJY29uKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9hbHRlckljb24uc3BsaXQoJ3wnKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2ldO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQ09OVEVOVCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRWYWx1ZSA9IHRoaXMuX2NvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihjb250ZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkFMVCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsdFZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhbHQnKTtcbiAgICAgICAgICAgICAgICBpZiAoYWx0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hYmJyZXZpYXRlID0gdGhpcy5fZ2VuZXJhdGVBYmJyZXZpYXRpb24oYWx0VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkJBQ0tVUCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9iYWNrdXBJbWFnZSAmJiB0aGlzLl9iYWNrdXBJbWFnZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYmFja3VwSW1hZ2UgY2FuIGJlIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgbm90LCBzZXQgZGVmYXVsdCB1c2VyIGljb25cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmVyaWZ5SW1hZ2VVcmwoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25CZ0ltYWdlKHRoaXMuX2JhY2t1cEltYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuREVGQVVMVF9JQ09OKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG93RGVmYXVsdEljb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5nbHlwaCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWJicmV2aWF0ZVwiPnt7IGFiYnJldmlhdGUgfX08L25nLWNvbnRhaW5lcj5cblxuPGlcbiAgICAqbmdJZj1cInpvb21HbHlwaFwiXG4gICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgY2xhc3M9XCJmZC1hdmF0YXJfX3pvb20taWNvblwiXG4gICAgW2NsYXNzXT1cInpvb21HbHlwaCA/ICdzYXAtaWNvbi0tJyArIHpvb21HbHlwaCA6ICcnXCJcbiAgICAobW91c2Vkb3duKT1cInpvb21DbGlja2VkKCRldmVudClcIlxuPlxuPC9pPlxuXG48aVxuICAgICpuZ0lmPVwiZ2x5cGggfHwgc2hvd0RlZmF1bHRcIlxuICAgIGNsYXNzPVwiZmQtYXZhdGFyX19pY29uXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBbY2xhc3NdPVwiZ2x5cGggPyAnc2FwLWljb24tLScgKyBnbHlwaCA6ICdzYXAtaWNvbi0tcGVyc29uLXBsYWNlaG9sZGVyJ1wiXG4+XG48L2k+XG5cbjxkaXYgI2NvbnRlbnQgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
382
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYXZhdGFyL2F2YXRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEVBRzFCLGFBQWEsRUFDYixvQkFBb0IsRUFFdkIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUUvQyxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7QUFFdkIsTUFBTSxrQkFBa0IsR0FBRztJQUN2QixPQUFPLEVBQUUsU0FBUztJQUNsQixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFlBQVksRUFBRSxjQUFjO0NBQy9CLENBQUM7QUFrQkYsTUFBTSxPQUFPLGVBQWU7SUFxQnhCLCtCQUErQjtJQUMvQixJQUNJLEtBQUssQ0FBQyxLQUF1QjtRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFzQ0Q7OztnQ0FHNEI7SUFDNUIsSUFDSSxlQUFlLENBQUMsS0FBYTtRQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLHNF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QVosS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFPRixlQUFlO3NCQURsQixLQUFLO2dCQVFGLEtBQUs7c0JBRFIsS0FBSztnQkFhRixTQUFTO3NCQURaLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxLQUFLO2dCQVNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBR0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQWlCSCxJQUFJO3NCQURQLFdBQVc7dUJBQUMsV0FBVztnQkFPcEIsT0FBTztzQkFEVixTQUFTO3VCQUFDLFNBQVM7Z0JBK0RwQixzQkFBc0IsTUFvQnRCLFFBQVE7c0JBSFAsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNoQyxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3hDLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTllfTEFOR1VBR0VfTEVUVEVSU19SRUdFWCxcbiAgICBDb2xvckFjY2VudCxcbiAgICBTaXplLFxuICAgIGFwcGx5Q3NzQ2xhc3MsXG4gICAgZ2V0UmFuZG9tQ29sb3JBY2NlbnQsXG4gICAgQ3NzQ2xhc3NCdWlsZGVyXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRkRfQVZBVEFSX0NPTVBPTkVOVCB9IGZyb20gJy4vdG9rZW5zJztcblxubGV0IGF2YXRhclVuaXF1ZUlkID0gMDtcblxuY29uc3QgQUxURVJfSUNPTl9PUFRJT05TID0ge1xuICAgIENPTlRFTlQ6ICdjb250ZW50JyxcbiAgICBBTFQ6ICdhbHQnLFxuICAgIEJBQ0tVUDogJ2JhY2t1cCcsXG4gICAgREVGQVVMVF9JQ09OOiAnZGVmYXVsdC1pY29uJ1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1hdmF0YXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2F2YXRhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZEX0FWQVRBUl9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogQXZhdGFyQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICdfdGFiaW5kZXgnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ3NzQ2xhc3NCdWlsZGVyLCBPbkNoYW5nZXMge1xuICAgIC8qKiBVc2VyJ3MgY3VzdG9tIGNsYXNzZXMgKi9cbiAgICBASW5wdXQoKVxuICAgIGNsYXNzOiBzdHJpbmc7XG5cbiAgICAvKiogSWQgb2YgdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgaWQgPSBgZmQtYXZhdGFyLSR7YXZhdGFyVW5pcXVlSWQrK31gO1xuXG4gICAgLyoqIEFyaWEtbGFiZWwgZm9yIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYWx0JylcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEFyaWEtTGFiZWxsZWRieSBmb3IgZWxlbWVudCBkZXNjcmliaW5nIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKVxuICAgIGFyaWFMYWJlbGxlZGJ5OiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBMb2NhbGl6ZWQgdGV4dCBmb3IgbGFiZWwgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBsYWJlbCh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLmFyaWFMYWJlbCA9IHZhbHVlIHx8IG51bGw7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IHRoaXMuX2dldEFiYnJldmlhdGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgc2l6ZSBvZiB0aGUgQXZhdGFyLiBPcHRpb25zIGluY2x1ZGU6ICp4cyosICpzKiwgKm0qLCAqbCogYW5kICp4bCouICovXG4gICAgQElucHV0KCkgc2l6ZTogU2l6ZSA9ICdsJztcblxuICAgIC8qKiBUaGUgZ2x5cGggbmFtZS4gKi9cbiAgICBASW5wdXQoKSBnbHlwaDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogVGhlIGdseXBoIG5hbWUgZm9yIHpvb20gaWNvbi4gKi9cbiAgICBASW5wdXQoKSB6b29tR2x5cGg6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYSBjaXJjbGUgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSBjaXJjbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgdHJhbnNwYXJlbnQgc3R5bGUgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSB0cmFuc3BhcmVudCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgYmFja2dyb3VuZCBzaXplIGNvbnRhaW4gc3R5bGUgdG8gdGhlIEF2YXRhciAqL1xuICAgIEBJbnB1dCgpIGNvbnRhaW4gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgcGxhY2Vob2xkZXIgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciB0byBhcHBseSBhIHRpbGUgYmFja2dyb3VuZCBzdHlsZSB0byB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIHRpbGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGFwcGx5IGEgYm9yZGVyIHRvIHRoZSBBdmF0YXIuICovXG4gICAgQElucHV0KCkgYm9yZGVyID0gZmFsc2U7XG5cbiAgICAvKiogQSBudW1iZXIgZnJvbSAxIHRvIDEwIHJlcHJlc2VudGluZyB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgQXZhdGFyLiAqL1xuICAgIEBJbnB1dCgpIGNvbG9yQWNjZW50OiBOdWxsYWJsZTxDb2xvckFjY2VudD4gPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gYXBwbHkgcmFuZG9tIGJhY2tncm91bmQgY29sb3IgdG8gdGhlIEF2YXRhci4gKi9cbiAgICBASW5wdXQoKSByYW5kb20gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGNvbXBvbmVudCBzaG91bGQgYmUgZm9jdXNhYmxlICYgY2xpY2FibGUgKi9cbiAgICBASW5wdXQoKSBjbGlja2FibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICogRGVwcmVjYXRlZCBhY2NvcmRpbmcgdG8gUmVuYW1lIGBiYWNrZ3JvdW5kSW1hZ2VgIHRvIGBpbWFnZWBcbiAgICAvKiogQmFja2dyb3VuZCBpbWFnZSB1cmwuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYmFja2dyb3VuZEltYWdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdgYmFja2dyb3VuZEltYWdlYCBpbnB1dCBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLiBVc2UgYGltYWdlYCBpbnN0ZWFkLicpO1xuICAgICAgICB0aGlzLl9zZXRJbWFnZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEJhY2tncm91bmQgaW1hZ2UgcmVzb3VyY2U6IHVybCBvciBiYXNlNjQuICovXG4gICAgQElucHV0KClcbiAgICBzZXQgaW1hZ2UodmFsdWU6IE51bGxhYmxlPHN0cmluZz4pIHtcbiAgICAgICAgdGhpcy5fc2V0SW1hZ2UodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgaW1hZ2UoKTogTnVsbGFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQmFja3VwIG9wdGlvbnMgdG8gdXNlIHdoZW4gaW1hZ2UgaGFzbid0IGJlZW4gbG9hZGVkIHN1Y2Nlc3NmdWxseS5cbiAgICAgKiBPcHRpb25zIHNlcGFyYXRlZCB3aXRoIFwifFwiIHN5bWJvbC5cbiAgICAgKiBQb3NzaWJsZSBvcHRpb25zOiBjb250ZW50LCBhbHQsIGJhY2t1cCwgZGVmYXVsdC1pY29uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgYWx0ZXJJY29uKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2FsdGVySWNvbiA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgYWx0ZXJJY29uKCk6IE51bGxhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWx0ZXJJY29uO1xuICAgIH1cblxuICAgIC8qKiBCYWNrdXAgaW1hZ2UgdG8gbG9hZCB3aGVuIGltYWdlIGhhc24ndCBiZWVuIGxvYWRlZCBzdWNjZXNzZnVsbHkuXG4gICAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gdXNpbmcgYWx0ZXJJY29uIGlucHV0IHByb3BlcnR5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGJhY2t1cEltYWdlKHZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+KSB7XG4gICAgICAgIHRoaXMuX2JhY2t1cEltYWdlID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBiYWNrdXBJbWFnZSgpOiBOdWxsYWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JhY2t1cEltYWdlO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYXZhdGFyIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgY2xpY2thYmxlIGlucHV0IHByb3BlcnR5IHNldCB0byB0cnVlLiAqL1xuICAgIEBPdXRwdXQoKSBhdmF0YXJDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gem9vbSBpY29uIGNsaWNrZWQuIE9ubHkgZmlyZXMgaWYgem9vbUdseXBoIGlucHV0IHByb3BlcnR5IGlzIHNldC4gKi9cbiAgICBAT3V0cHV0KCkgem9vbUdseXBoQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBzZXQgYmdJbWFnZShpbWFnZTogTnVsbGFibGU8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9iZ0ltYWdlID0gaW1hZ2U7XG5cbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdiYWNrZ3JvdW5kLWltYWdlJywgaW1hZ2UpO1xuICAgIH1cblxuICAgIGdldCBiZ0ltYWdlKCk6IE51bGxhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmdJbWFnZTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBnZXQgcm9sZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy56b29tR2x5cGggPyAnYnV0dG9uJyA6ICdpbWcnO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcpXG4gICAgc2V0IGNvbnRlbnQodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgdGhpcy5fY29udGVudCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgYWJicmV2aWF0ZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2ltYWdlOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWx0ZXJJY29uOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY29udGVudDogTnVsbGFibGU8RWxlbWVudFJlZj4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9iYWNrdXBJbWFnZTogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2JnSW1hZ2U6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgX3RhYmluZGV4KCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5ob3N0VGFiaW5kZXggIT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaG9zdFRhYmluZGV4O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWNrYWJsZSA/IDAgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBJZiBhIGRlZmF1bHQgcGxhY2Vob2xkZXIgc2hvdWxkIGJlIGRpc3BsYXllZCAqL1xuICAgIGdldCBzaG93RGVmYXVsdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmFiYnJldmlhdGUgJiYgIXRoaXMuX2ltYWdlICYmICF0aGlzLmdseXBoO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHByaXZhdGUgaG9zdFRhYmluZGV4OiBudW1iZXIgfCBudWxsXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuem9vbUdseXBoKSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrYWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5idWlsZENvbXBvbmVudENzc0NsYXNzKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBDc3NDbGFzc0J1aWxkZXIgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uXG4gICAgICogZnVuY3Rpb24gbXVzdCByZXR1cm4gc2luZ2xlIHN0cmluZ1xuICAgICAqIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBvcmRlciB3aGljaCBjc3MgY2xhc3NlcyBhcmUgYXBwbGllZFxuICAgICAqL1xuICAgIEBhcHBseUNzc0NsYXNzXG4gICAgYnVpbGRDb21wb25lbnRDc3NDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAnZmQtYXZhdGFyJyxcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA/IGBmZC1hdmF0YXItLSR7dGhpcy5zaXplfWAgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29sb3JBY2NlbnQgJiYgIXRoaXMucmFuZG9tID8gYGZkLWF2YXRhci0tYWNjZW50LWNvbG9yLSR7dGhpcy5jb2xvckFjY2VudH1gIDogJycsXG4gICAgICAgICAgICB0aGlzLnJhbmRvbSA/IGBmZC1hdmF0YXItLWFjY2VudC1jb2xvci0ke2dldFJhbmRvbUNvbG9yQWNjZW50KCl9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5jaXJjbGUgPyAnZmQtYXZhdGFyLS1jaXJjbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmJvcmRlciA/ICdmZC1hdmF0YXItLWJvcmRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudHJhbnNwYXJlbnQgPyAnZmQtYXZhdGFyLS10cmFuc3BhcmVudCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbiA/ICdmZC1hdmF0YXItLWJhY2tncm91bmQtY29udGFpbicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPyAnZmQtYXZhdGFyLS1wbGFjZWhvbGRlcicgOiAnJyxcbiAgICAgICAgICAgIHRoaXMudGlsZSA/ICdmZC1hdmF0YXItLXRpbGUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmNsYXNzXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXG4gICAgX29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNsaWNrYWJsZSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuYXZhdGFyQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnpvb21HbHlwaCkge1xuICAgICAgICAgICAgICAgIHRoaXMuem9vbUdseXBoQ2xpY2tlZC5uZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHpvb21DbGlja2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB0aGlzLnpvb21HbHlwaENsaWNrZWQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuIEdldCBhbiBhYmJyZXZpYXRlIGZyb20gdGhlIGxhYmVsIG9yIHJldHVybiBudWxsIGlmIG5vdCBmaXQgcmVxdWlyZW1lbnRzICovXG4gICAgcHJpdmF0ZSBfZ2V0QWJicmV2aWF0ZShsYWJlbDogTnVsbGFibGU8c3RyaW5nPik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBpZiAoIWxhYmVsIHx8IHRoaXMuX2ltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihsYWJlbCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gR2V0IHRoZSBhYmJyZXZpYXRpb24gc3RyaW5nICovXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVBYmJyZXZpYXRpb24obGFiZWw6IE51bGxhYmxlPHN0cmluZz4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKCFsYWJlbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWF4TGV0dGVyc0NvdW50ID0gMztcbiAgICAgICAgY29uc3QgZmlyc3RMZXR0ZXJzID0gbGFiZWwuc3BsaXQoJyAnKS5tYXAoKHdvcmQpID0+IHdvcmQuY2hhckF0KDApKTtcbiAgICAgICAgY29uc3QgYWJicmV2aWF0ZSA9IGZpcnN0TGV0dGVycy5qb2luKCcnKTtcblxuICAgICAgICBpZiAoZmlyc3RMZXR0ZXJzLmxlbmd0aCA+IG1heExldHRlcnNDb3VudCB8fCAhYWJicmV2aWF0ZS5tYXRjaChBTllfTEFOR1VBR0VfTEVUVEVSU19SRUdFWCkpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFiYnJldmlhdGU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRJbWFnZSh2YWx1ZTogTnVsbGFibGU8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbWFnZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmVyaWZ5SW1hZ2VVcmwodmFsdWUsICgpOiB2b2lkID0+IHt9LCB0aGlzLl9vbkVycm9yQ2FsbGJhY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5iZ0ltYWdlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdmVyaWZ5SW1hZ2VVcmwoc3JjVmFsdWU6IHN0cmluZywgb25Mb2FkQ2FsbGJhY2s6ICgpID0+IHZvaWQsIG9uRXJyb3JDYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICAvLyBEb24ndCBsb2FkIHRoZSBzYW1lIGltYWdlIGFsbCB0aGUgdGltZSBjaGVjayBoYXBwZW5zXG4gICAgICAgIGlmIChzcmNWYWx1ZSA9PT0gdGhpcy5iZ0ltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltZy5vbmxvYWQgPSBvbkxvYWRDYWxsYmFjay5iaW5kKHRoaXMpO1xuICAgICAgICBpbWcub25lcnJvciA9IG9uRXJyb3JDYWxsYmFjay5iaW5kKHRoaXMpO1xuICAgICAgICBpbWcuc3JjID0gc3JjVmFsdWU7XG4gICAgICAgIHRoaXMuX2Fzc2lnbkJnSW1hZ2Uoc3JjVmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYXNzaWduQmdJbWFnZShzcmNWYWx1ZTogTnVsbGFibGU8c3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLmJnSW1hZ2UgPSBzcmNWYWx1ZSA/IGB1cmwoJHtzcmNWYWx1ZX0pYCA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9vbkVycm9yQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fYWx0ZXJJY29uKSB7XG4gICAgICAgICAgICB0aGlzLl9zaG93RGVmYXVsdEljb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9hbHRlckljb24uc3BsaXQoJ3wnKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb24gPSBvcHRpb25zW2ldO1xuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuQ09OVEVOVCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRWYWx1ZSA9IHRoaXMuX2NvbnRlbnQ/Lm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFiYnJldmlhdGUgPSB0aGlzLl9nZW5lcmF0ZUFiYnJldmlhdGlvbihjb250ZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkFMVCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsdFZhbHVlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhbHQnKTtcbiAgICAgICAgICAgICAgICBpZiAoYWx0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hYmJyZXZpYXRlID0gdGhpcy5fZ2VuZXJhdGVBYmJyZXZpYXRpb24oYWx0VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbiA9PT0gQUxURVJfSUNPTl9PUFRJT05TLkJBQ0tVUCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9iYWNrdXBJbWFnZSAmJiB0aGlzLl9iYWNrdXBJbWFnZSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgYmFja3VwSW1hZ2UgY2FuIGJlIGxvYWRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgbm90LCBzZXQgZGVmYXVsdCB1c2VyIGljb25cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdmVyaWZ5SW1hZ2VVcmwoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9iYWNrdXBJbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9hc3NpZ25CZ0ltYWdlKHRoaXMuX2JhY2t1cEltYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uID09PSBBTFRFUl9JQ09OX09QVElPTlMuREVGQVVMVF9JQ09OKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd0RlZmF1bHRJY29uKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX3Nob3dEZWZhdWx0SWNvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG93RGVmYXVsdEljb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWJicmV2aWF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuX2ltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5nbHlwaCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYWJicmV2aWF0ZVwiPnt7IGFiYnJldmlhdGUgfX08L25nLWNvbnRhaW5lcj5cblxuPGlcbiAgICAqbmdJZj1cInpvb21HbHlwaFwiXG4gICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgY2xhc3M9XCJmZC1hdmF0YXJfX3pvb20taWNvblwiXG4gICAgW2NsYXNzXT1cInpvb21HbHlwaCA/ICdzYXAtaWNvbi0tJyArIHpvb21HbHlwaCA6ICcnXCJcbiAgICAobW91c2Vkb3duKT1cInpvb21DbGlja2VkKCRldmVudClcIlxuPlxuPC9pPlxuXG48aVxuICAgICpuZ0lmPVwiZ2x5cGggfHwgc2hvd0RlZmF1bHRcIlxuICAgIGNsYXNzPVwiZmQtYXZhdGFyX19pY29uXCJcbiAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICBbY2xhc3NdPVwiZ2x5cGggPyAnc2FwLWljb24tLScgKyBnbHlwaCA6ICdzYXAtaWNvbi0tcGVyc29uLXBsYWNlaG9sZGVyJ1wiXG4+XG48L2k+XG5cbjxkaXYgI2NvbnRlbnQgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -7,13 +7,21 @@ export class BarElementDirective {
7
7
  constructor() {
8
8
  /** Whether the element should take the whole width of the container. */
9
9
  this.fullWidth = false;
10
- /** @deprecated */
11
- this.isTitle = false;
12
10
  /** @hidden */
13
11
  this.barElement = true;
12
+ /** @hidden */
13
+ this._isTitle = false;
14
+ }
15
+ /** @deprecated */
16
+ set isTitle(value) {
17
+ console.warn('isTitle is deprecated, it will be automatically set.');
18
+ this._isTitle = value;
19
+ }
20
+ get isTitle() {
21
+ return this._isTitle;
14
22
  }
15
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: BarElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: BarElementDirective, selector: "fd-bar-element", inputs: { fullWidth: "fullWidth", isTitle: "isTitle" }, host: { properties: { "class.fd-bar__element--full-width": "this.fullWidth", "class.fd-bar__element": "this.barElement" } }, ngImport: i0 }); }
24
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: BarElementDirective, selector: "fd-bar-element", inputs: { isTitle: "isTitle", fullWidth: "fullWidth" }, host: { properties: { "class.fd-bar__element--full-width": "this.fullWidth", "class.fd-bar__element": "this.barElement" } }, ngImport: i0 }); }
17
25
  }
18
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: BarElementDirective, decorators: [{
19
27
  type: Directive,
@@ -21,15 +29,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
21
29
  // eslint-disable-next-line @angular-eslint/directive-selector
22
30
  selector: 'fd-bar-element'
23
31
  }]
24
- }], propDecorators: { fullWidth: [{
32
+ }], propDecorators: { isTitle: [{
33
+ type: Input
34
+ }], fullWidth: [{
25
35
  type: Input
26
36
  }, {
27
37
  type: HostBinding,
28
38
  args: ['class.fd-bar__element--full-width']
29
- }], isTitle: [{
30
- type: Input
31
39
  }], barElement: [{
32
40
  type: HostBinding,
33
41
  args: ['class.fd-bar__element']
34
42
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLWVsZW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYmFyL2RpcmVjdGl2ZXMvYmFyLWVsZW1lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sbUJBQW1CO0lBSmhDO1FBS0ksd0VBQXdFO1FBR3hFLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsa0JBQWtCO1FBRWxCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsY0FBYztRQUVkLGVBQVUsR0FBRyxJQUFJLENBQUM7S0FDckI7OEdBYlksbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUM3Qjs4QkFLRyxTQUFTO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUNBQW1DO2dCQUtoRCxPQUFPO3NCQUROLEtBQUs7Z0JBS04sVUFBVTtzQkFEVCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQW4gZWxlbWVudCBvZiB0aGUgQmFyLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZmQtYmFyLWVsZW1lbnQnXG59KVxuZXhwb3J0IGNsYXNzIEJhckVsZW1lbnREaXJlY3RpdmUge1xuICAgIC8qKiBXaGV0aGVyIHRoZSBlbGVtZW50IHNob3VsZCB0YWtlIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1iYXJfX2VsZW1lbnQtLWZ1bGwtd2lkdGgnKVxuICAgIGZ1bGxXaWR0aCA9IGZhbHNlO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkICovXG4gICAgQElucHV0KClcbiAgICBpc1RpdGxlID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtYmFyX19lbGVtZW50JylcbiAgICBiYXJFbGVtZW50ID0gdHJ1ZTtcbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLWVsZW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvYmFyL2RpcmVjdGl2ZXMvYmFyLWVsZW1lbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sbUJBQW1CO0lBSmhDO1FBZ0JJLHdFQUF3RTtRQUd4RSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGNBQWM7UUFFZCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGNBQWM7UUFDTixhQUFRLEdBQUcsS0FBSyxDQUFDO0tBQzVCO0lBdEJHLGtCQUFrQjtJQUNsQixJQUNJLE9BQU8sQ0FBQyxLQUFjO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7OEdBVlEsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUM3Qjs4QkFJTyxPQUFPO3NCQURWLEtBQUs7Z0JBYU4sU0FBUztzQkFGUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG1DQUFtQztnQkFLaEQsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQW4gZWxlbWVudCBvZiB0aGUgQmFyLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZmQtYmFyLWVsZW1lbnQnXG59KVxuZXhwb3J0IGNsYXNzIEJhckVsZW1lbnREaXJlY3RpdmUge1xuICAgIC8qKiBAZGVwcmVjYXRlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGlzVGl0bGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdpc1RpdGxlIGlzIGRlcHJlY2F0ZWQsIGl0IHdpbGwgYmUgYXV0b21hdGljYWxseSBzZXQuJyk7XG4gICAgICAgIHRoaXMuX2lzVGl0bGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaXNUaXRsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzVGl0bGU7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGVsZW1lbnQgc2hvdWxkIHRha2UgdGhlIHdob2xlIHdpZHRoIG9mIHRoZSBjb250YWluZXIuICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWJhcl9fZWxlbWVudC0tZnVsbC13aWR0aCcpXG4gICAgZnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtYmFyX19lbGVtZW50JylcbiAgICBiYXJFbGVtZW50ID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNUaXRsZSA9IGZhbHNlO1xufVxuIl19