@skyux/indicators 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/bundles/skyux-indicators-testing.umd.js +2 -2
  2. package/bundles/skyux-indicators-testing.umd.js.map +1 -1
  3. package/bundles/skyux-indicators.umd.js +343 -374
  4. package/bundles/skyux-indicators.umd.js.map +1 -1
  5. package/documentation.json +533 -499
  6. package/esm2015/modules/alert/alert.component.js +5 -5
  7. package/esm2015/modules/alert/alert.module.js +9 -13
  8. package/esm2015/modules/chevron/chevron.component.js +5 -5
  9. package/esm2015/modules/chevron/chevron.module.js +9 -13
  10. package/esm2015/modules/help-inline/help-inline.component.js +5 -5
  11. package/esm2015/modules/help-inline/help-inline.module.js +9 -13
  12. package/esm2015/modules/icon/icon-class-list.pipe.js +5 -5
  13. package/esm2015/modules/icon/icon-resolver.service.js +5 -5
  14. package/esm2015/modules/icon/icon-stack-item.js +1 -1
  15. package/esm2015/modules/icon/icon-stack.component.js +5 -5
  16. package/esm2015/modules/icon/icon.component.js +5 -5
  17. package/esm2015/modules/icon/icon.module.js +8 -25
  18. package/esm2015/modules/key-info/key-info-label.component.js +5 -5
  19. package/esm2015/modules/key-info/key-info-value.component.js +5 -5
  20. package/esm2015/modules/key-info/key-info.component.js +5 -5
  21. package/esm2015/modules/key-info/key-info.module.js +9 -13
  22. package/esm2015/modules/label/label.component.js +5 -5
  23. package/esm2015/modules/label/label.module.js +8 -19
  24. package/esm2015/modules/shared/indicator-description-type.js +1 -1
  25. package/esm2015/modules/shared/indicator-icon-utility.js +4 -4
  26. package/esm2015/modules/shared/indicator-icon.js +1 -1
  27. package/esm2015/modules/shared/sky-indicators-resources.module.js +34 -12
  28. package/esm2015/modules/status-indicator/status-indicator.component.js +10 -7
  29. package/esm2015/modules/status-indicator/status-indicator.module.js +9 -13
  30. package/esm2015/modules/text-highlight/text-highlight.directive.js +57 -36
  31. package/esm2015/modules/text-highlight/text-highlight.module.js +8 -16
  32. package/esm2015/modules/tokens/token.component.js +9 -9
  33. package/esm2015/modules/tokens/tokens.component.js +34 -35
  34. package/esm2015/modules/tokens/tokens.module.js +10 -18
  35. package/esm2015/modules/tokens/types/token-selected-event-args.js +1 -1
  36. package/esm2015/modules/tokens/types/token.js +1 -1
  37. package/esm2015/modules/tokens/types/tokens-message-type.js +1 -1
  38. package/esm2015/modules/tokens/types/tokens-message.js +1 -1
  39. package/esm2015/modules/wait/wait-adapter.service.js +29 -22
  40. package/esm2015/modules/wait/wait-page-adapter.service.js +5 -5
  41. package/esm2015/modules/wait/wait-page.component.js +5 -5
  42. package/esm2015/modules/wait/wait.component.js +9 -12
  43. package/esm2015/modules/wait/wait.module.js +9 -27
  44. package/esm2015/modules/wait/wait.service.js +6 -6
  45. package/esm2015/testing/alert-fixture.js +1 -1
  46. package/esm2015/testing/label-fixture.js +1 -1
  47. package/esm2015/testing/wait-fixture.js +1 -1
  48. package/fesm2015/skyux-indicators-testing.js.map +1 -1
  49. package/fesm2015/skyux-indicators.js +306 -339
  50. package/fesm2015/skyux-indicators.js.map +1 -1
  51. package/modules/text-highlight/text-highlight.directive.d.ts +2 -2
  52. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- import { Directive, Input } from '@angular/core';
1
+ import { Directive, Input, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@skyux/core";
4
4
  const className = 'sky-highlight-mark';
@@ -16,6 +16,24 @@ export class SkyTextHighlightDirective {
16
16
  this.observerService = observerService;
17
17
  this.existingHighlight = false;
18
18
  }
19
+ /**
20
+ * Specifies the text to highlight.
21
+ */
22
+ set skyHighlight(value) {
23
+ value = value || [];
24
+ this._skyHighlight = [];
25
+ if (Array.isArray(value)) {
26
+ this._skyHighlight = value.filter((item) => !!item);
27
+ // Reorder strings by their length in descending order to avoid missing matches
28
+ // that contain substrings of other matches.
29
+ this._skyHighlight.sort(function (a, b) {
30
+ return b.length - a.length;
31
+ });
32
+ }
33
+ else {
34
+ this._skyHighlight = [value];
35
+ }
36
+ }
19
37
  ngOnChanges(changes) {
20
38
  if (changes.skyHighlight && !changes.skyHighlight.firstChange) {
21
39
  this.highlight();
@@ -27,7 +45,7 @@ export class SkyTextHighlightDirective {
27
45
  self.highlight();
28
46
  });
29
47
  this.observeDom();
30
- if (this.skyHighlight) {
48
+ if (this._skyHighlight && this._skyHighlight.length > 0) {
31
49
  this.highlight();
32
50
  }
33
51
  }
@@ -38,14 +56,14 @@ export class SkyTextHighlightDirective {
38
56
  }
39
57
  }
40
58
  readyForHighlight(searchText) {
41
- return searchText && this.el.nativeElement;
59
+ return searchText && searchText.length > 0 && this.el.nativeElement;
42
60
  }
43
61
  highlight() {
44
62
  /* istanbul ignore else */
45
63
  if (this.observer) {
46
64
  this.observer.disconnect();
47
65
  }
48
- const searchText = this.skyHighlight;
66
+ const searchText = this._skyHighlight;
49
67
  if (this.existingHighlight) {
50
68
  SkyTextHighlightDirective.removeHighlight(this.el);
51
69
  }
@@ -61,46 +79,49 @@ export class SkyTextHighlightDirective {
61
79
  observeDom() {
62
80
  /* istanbul ignore else */
63
81
  if (this.observer) {
64
- const config = { attributes: false, childList: true, characterData: true };
82
+ const config = {
83
+ attributes: false,
84
+ childList: true,
85
+ characterData: true,
86
+ };
65
87
  this.observer.observe(this.el.nativeElement, config);
66
88
  }
67
89
  }
68
90
  static cleanRegex(regex) {
69
91
  return regex.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
70
92
  }
71
- static getRegexMatch(node, searchText) {
72
- const text = node.nodeValue;
73
- const newSearchText = this.cleanRegex(searchText);
74
- const searchRegex = new RegExp(newSearchText, 'gi');
75
- return searchRegex.exec(text);
76
- }
77
- static markNode(node, searchText) {
78
- const regexMatch = SkyTextHighlightDirective.getRegexMatch(node, searchText);
79
- // found match
80
- if (regexMatch && regexMatch.length > 0) {
81
- // split apart text node with mark tags in the middle on the search term
82
- const matchIndex = regexMatch.index;
83
- const middle = node.splitText(matchIndex);
84
- middle.splitText(searchText.length);
85
- const middleClone = middle.cloneNode(true);
86
- const markNode = document.createElement('mark');
87
- markNode.className = className;
88
- markNode.appendChild(middleClone);
89
- middle.parentNode.replaceChild(markNode, middle);
90
- return 1;
91
- }
92
- else {
93
- return 0;
93
+ static markNode(node, searchTerms) {
94
+ /* istanbul ignore else */
95
+ if (searchTerms) {
96
+ const text = node.nodeValue;
97
+ for (let i = 0; i < searchTerms.length; i++) {
98
+ searchTerms[i] = this.cleanRegex(searchTerms[i]);
99
+ }
100
+ const searchRegex = new RegExp(searchTerms.join('|'), 'gi');
101
+ const match = searchRegex.exec(text);
102
+ if (match) {
103
+ // Split apart text node with mark tags in the middle on the search term.
104
+ const matchIndex = match.index;
105
+ const middle = node.splitText(matchIndex);
106
+ middle.splitText(searchRegex.lastIndex - matchIndex);
107
+ const middleClone = middle.cloneNode(true);
108
+ const markNode = document.createElement('mark');
109
+ markNode.className = className;
110
+ markNode.appendChild(middleClone);
111
+ middle.parentNode.replaceChild(markNode, middle);
112
+ return 1;
113
+ }
94
114
  }
115
+ return 0;
95
116
  }
96
- static markTextNodes(node, searchText) {
117
+ static markTextNodes(node, searchTerms) {
97
118
  if (node.nodeType === 3) {
98
- return SkyTextHighlightDirective.markNode(node, searchText);
119
+ return SkyTextHighlightDirective.markNode(node, searchTerms);
99
120
  }
100
121
  else if (node.nodeType === 1 && node.childNodes) {
101
122
  for (let i = 0; i < node.childNodes.length; i++) {
102
123
  const childNode = node.childNodes[i];
103
- i += SkyTextHighlightDirective.markTextNodes(childNode, searchText);
124
+ i += SkyTextHighlightDirective.markTextNodes(childNode, searchTerms);
104
125
  }
105
126
  }
106
127
  return 0;
@@ -119,14 +140,14 @@ export class SkyTextHighlightDirective {
119
140
  }
120
141
  }
121
142
  }
122
- SkyTextHighlightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextHighlightDirective, deps: [{ token: i0.ElementRef }, { token: i1.MutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
123
- SkyTextHighlightDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.7", type: SkyTextHighlightDirective, selector: "[skyHighlight]", inputs: { skyHighlight: "skyHighlight" }, usesOnChanges: true, ngImport: i0 });
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextHighlightDirective, decorators: [{
143
+ SkyTextHighlightDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightDirective, deps: [{ token: i0.ElementRef }, { token: i1.MutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
144
+ SkyTextHighlightDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.14", type: SkyTextHighlightDirective, selector: "[skyHighlight]", inputs: { skyHighlight: "skyHighlight" }, usesOnChanges: true, ngImport: i0 });
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightDirective, decorators: [{
125
146
  type: Directive,
126
147
  args: [{
127
- selector: '[skyHighlight]'
148
+ selector: '[skyHighlight]',
128
149
  }]
129
150
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MutationObserverService }]; }, propDecorators: { skyHighlight: [{
130
151
  type: Input
131
152
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1oaWdobGlnaHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBSU4sTUFBTSxlQUFlLENBQUM7OztBQU12QixNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztBQUV2QyxxRUFBcUU7QUFDckUsMkRBQTJEO0FBQzNELFdBQVc7QUFDWDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQVlwQyxZQUNVLEVBQWMsRUFDZCxlQUF3QztRQUR4QyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQXlCO1FBTjFDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztJQU85QixDQUFDO0lBRUUsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO1lBQzdELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTSxlQUFlO1FBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBMkIsRUFBRSxFQUFFO1lBQzFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsMEJB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QUFDO2dCQUVuQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQzs7c0hBL0lVLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7dUlBT1EsWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBNdXRhdGlvbk9ic2VydmVyU2VydmljZVxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmNvbnN0IGNsYXNzTmFtZSA9ICdza3ktaGlnaGxpZ2h0LW1hcmsnO1xuXG4vLyBOZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIGNsYXNzZXMgd2hpY2ggY29udGFpbiBzdGF0aWMgbWV0aG9kcy5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9pc3N1ZXMvNjQxXG4vLyBAZHluYW1pY1xuLyoqXG4gKiBIaWdobGlnaHRzIGFsbCBtYXRjaGluZyB0ZXh0IHdpdGhpbiBET00gZWxlbWVudHMgdGhhdCBpdCBpcyBwbGFjZWQgb24uXG4gKiBUaGUgZGlyZWN0aXZlIGlzIG9ubHkgdmFsaWQgZm9yIGVsZW1lbnRzIHRoYXQgY29udGFpbiBjb250ZW50LCBzbyB5b3VcbiAqIGNhbm5vdCBwbGFjZSBpdCBvbiBgbmctdGVtcGxhdGVgLCBgbmctY29udGVudGAsIG9yIGBuZy1jb250YWluZXJgIHRhZ3MuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lIaWdobGlnaHRdJ1xufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgdG8gaGlnaGxpZ2h0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNreUhpZ2hsaWdodDogc3RyaW5nO1xuXG4gIHByaXZhdGUgZXhpc3RpbmdIaWdobGlnaHQgPSBmYWxzZTtcblxuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBvYnNlcnZlclNlcnZpY2U6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5za3lIaWdobGlnaHQgJiYgIWNoYW5nZXMuc2t5SGlnaGxpZ2h0LmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLmhpZ2hsaWdodCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgdGhpcy5vYnNlcnZlciA9IHRoaXMub2JzZXJ2ZXJTZXJ2aWNlLmNyZWF0ZSgobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICBzZWxmLmhpZ2hsaWdodCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5vYnNlcnZlRG9tKCk7XG4gICAgaWYgKHRoaXMuc2t5SGlnaGxpZ2h0KSB7XG4gICAgICB0aGlzLmhpZ2hsaWdodCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLm9ic2VydmVyKSB7XG4gICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlYWR5Rm9ySGlnaGxpZ2h0KHNlYXJjaFRleHQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzZWFyY2hUZXh0ICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgaGlnaGxpZ2h0KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IHNlYXJjaFRleHQgPSB0aGlzLnNreUhpZ2hsaWdodDtcblxuICAgIGlmICh0aGlzLmV4aXN0aW5nSGlnaGxpZ2h0KSB7XG4gICAgICBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLnJlbW92ZUhpZ2hsaWdodCh0aGlzLmVsKTtcbiAgICB9XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnJlYWR5Rm9ySGlnaGxpZ2h0KHNlYXJjaFRleHQpKSB7XG4gICAgICBjb25zdCBub2RlOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gbWFyayBhbGwgbWF0Y2hlZCB0ZXh0IGluIHRoZSBET01cbiAgICAgIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUubWFya1RleHROb2Rlcyhub2RlLCBzZWFyY2hUZXh0KTtcbiAgICAgIHRoaXMuZXhpc3RpbmdIaWdobGlnaHQgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMub2JzZXJ2ZURvbSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRG9tKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogZmFsc2UsIGNoaWxkTGlzdDogdHJ1ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZSB9O1xuICAgICAgdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjbGVhblJlZ2V4KHJlZ2V4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiByZWdleC5yZXBsYWNlKC9bLVxcL1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldFJlZ2V4TWF0Y2gobm9kZTogSFRNTEVsZW1lbnQsIHNlYXJjaFRleHQ6IHN0cmluZyk6IFJlZ0V4cEV4ZWNBcnJheSB7XG4gICAgY29uc3QgdGV4dCA9IG5vZGUubm9kZVZhbHVlO1xuICAgIGNvbnN0IG5ld1NlYXJjaFRleHQgPSB0aGlzLmNsZWFuUmVnZXgoc2VhcmNoVGV4dCk7XG4gICAgY29uc3Qgc2VhcmNoUmVnZXggPSBuZXcgUmVnRXhwKG5ld1NlYXJjaFRleHQsICdnaScpO1xuXG4gICAgcmV0dXJuIHNlYXJjaFJlZ2V4LmV4ZWModGV4dCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtYXJrTm9kZShub2RlOiBhbnksIHNlYXJjaFRleHQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgY29uc3QgcmVnZXhNYXRjaCA9IFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUuZ2V0UmVnZXhNYXRjaChub2RlLCBzZWFyY2hUZXh0KTtcblxuICAgIC8vIGZvdW5kIG1hdGNoXG4gICAgaWYgKHJlZ2V4TWF0Y2ggJiYgcmVnZXhNYXRjaC5sZW5ndGggPiAwKSB7XG5cbiAgICAgIC8vIHNwbGl0IGFwYXJ0IHRleHQgbm9kZSB3aXRoIG1hcmsgdGFncyBpbiB0aGUgbWlkZGxlIG9uIHRoZSBzZWFyY2ggdGVybVxuICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IHJlZ2V4TWF0Y2guaW5kZXg7XG5cbiAgICAgIGNvbnN0IG1pZGRsZSA9IG5vZGUuc3BsaXRUZXh0KG1hdGNoSW5kZXgpO1xuICAgICAgbWlkZGxlLnNwbGl0VGV4dChzZWFyY2hUZXh0Lmxlbmd0aCk7XG4gICAgICBjb25zdCBtaWRkbGVDbG9uZSA9IG1pZGRsZS5jbG9uZU5vZGUodHJ1ZSk7XG5cbiAgICAgIGNvbnN0IG1hcmtOb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbWFyaycpO1xuICAgICAgbWFya05vZGUuY2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuICAgICAgbWFya05vZGUuYXBwZW5kQ2hpbGQobWlkZGxlQ2xvbmUpO1xuICAgICAgbWlkZGxlLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG1hcmtOb2RlLCBtaWRkbGUpO1xuXG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFya1RleHROb2Rlcyhub2RlOiBIVE1MRWxlbWVudCwgc2VhcmNoVGV4dDogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gMykge1xuICAgICAgcmV0dXJuIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUubWFya05vZGUobm9kZSwgc2VhcmNoVGV4dCk7XG5cbiAgICB9IGVsc2UgaWYgKG5vZGUubm9kZVR5cGUgPT09IDEgJiYgbm9kZS5jaGlsZE5vZGVzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5vZGUuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjaGlsZE5vZGUgPSBub2RlLmNoaWxkTm9kZXNbaV0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGkgKz0gU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZS5tYXJrVGV4dE5vZGVzKGNoaWxkTm9kZSwgc2VhcmNoVGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZW1vdmVIaWdobGlnaHQoZWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBtYXRjaGVkRWxlbWVudHMgPVxuICAgICAgZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKGBtYXJrLiR7Y2xhc3NOYW1lfWApIGFzIE5vZGVMaXN0O1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICBpZiAobWF0Y2hlZEVsZW1lbnRzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1hdGNoZWRFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBub2RlID0gbWF0Y2hlZEVsZW1lbnRzW2ldO1xuICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gbm9kZS5wYXJlbnROb2RlO1xuXG4gICAgICAgIHBhcmVudE5vZGUucmVwbGFjZUNoaWxkKG5vZGUuZmlyc3RDaGlsZCwgbm9kZSk7XG4gICAgICAgIHBhcmVudE5vZGUubm9ybWFsaXplKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1oaWdobGlnaHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7OztBQUl2QixNQUFNLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztBQUV2QyxxRUFBcUU7QUFDckUsMkRBQTJEO0FBQzNELFdBQVc7QUFDWDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLHlCQUF5QjtJQTZCcEMsWUFDVSxFQUFjLEVBQ2QsZUFBd0M7UUFEeEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUF5QjtRQVIxQyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFTL0IsQ0FBQztJQTdCSjs7T0FFRztJQUNILElBQ1csWUFBWSxDQUFDLEtBQXdCO1FBQzlDLEtBQUssR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXhCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCwrRUFBK0U7WUFDL0UsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FB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QUMsVUFBVSxFQUFFO1lBQ2pELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQWdCLENBQUM7Z0JBQ3BELENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ3RFO1NBQ0Y7UUFFRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQWM7UUFDM0MsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDdkQsUUFBUSxTQUFTLEVBQUUsQ0FDUixDQUFDO1FBRWQsMEJBQTBCO1FBQzFCLGtCQUFrQjtRQUNsQixJQUFJLGVBQWUsRUFBRTtZQUNuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUVuQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUN4QjtTQUNGO0lBQ0gsQ0FBQzs7dUhBcktVLHlCQUF5QjsyR0FBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7dUlBUVksWUFBWTtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmNvbnN0IGNsYXNzTmFtZSA9ICdza3ktaGlnaGxpZ2h0LW1hcmsnO1xuXG4vLyBOZWVkIHRvIGFkZCB0aGUgZm9sbG93aW5nIHRvIGNsYXNzZXMgd2hpY2ggY29udGFpbiBzdGF0aWMgbWV0aG9kcy5cbi8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9pc3N1ZXMvNjQxXG4vLyBAZHluYW1pY1xuLyoqXG4gKiBIaWdobGlnaHRzIGFsbCBtYXRjaGluZyB0ZXh0IHdpdGhpbiBET00gZWxlbWVudHMgdGhhdCBpdCBpcyBwbGFjZWQgb24uXG4gKiBUaGUgZGlyZWN0aXZlIGlzIG9ubHkgdmFsaWQgZm9yIGVsZW1lbnRzIHRoYXQgY29udGFpbiBjb250ZW50LCBzbyB5b3VcbiAqIGNhbm5vdCBwbGFjZSBpdCBvbiBgbmctdGVtcGxhdGVgLCBgbmctY29udGVudGAsIG9yIGBuZy1jb250YWluZXJgIHRhZ3MuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lIaWdobGlnaHRdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgdG8gaGlnaGxpZ2h0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBza3lIaWdobGlnaHQodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdmFsdWUgPSB2YWx1ZSB8fCBbXTtcbiAgICB0aGlzLl9za3lIaWdobGlnaHQgPSBbXTtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy5fc2t5SGlnaGxpZ2h0ID0gdmFsdWUuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuICAgICAgLy8gUmVvcmRlciBzdHJpbmdzIGJ5IHRoZWlyIGxlbmd0aCBpbiBkZXNjZW5kaW5nIG9yZGVyIHRvIGF2b2lkIG1pc3NpbmcgbWF0Y2hlc1xuICAgICAgLy8gdGhhdCBjb250YWluIHN1YnN0cmluZ3Mgb2Ygb3RoZXIgbWF0Y2hlcy5cbiAgICAgIHRoaXMuX3NreUhpZ2hsaWdodC5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgIHJldHVybiBiLmxlbmd0aCAtIGEubGVuZ3RoO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NreUhpZ2hsaWdodCA9IFt2YWx1ZSBhcyBzdHJpbmddO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXhpc3RpbmdIaWdobGlnaHQgPSBmYWxzZTtcblxuICBwcml2YXRlIG9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuXG4gIHByaXZhdGUgX3NreUhpZ2hsaWdodDogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG9ic2VydmVyU2VydmljZTogTXV0YXRpb25PYnNlcnZlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2t5SGlnaGxpZ2h0ICYmICFjaGFuZ2VzLnNreUhpZ2hsaWdodC5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5oaWdobGlnaHQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMub2JzZXJ2ZXIgPSB0aGlzLm9ic2VydmVyU2VydmljZS5jcmVhdGUoXG4gICAgICAobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICAgIHNlbGYuaGlnaGxpZ2h0KCk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMub2JzZXJ2ZURvbSgpO1xuICAgIGlmICh0aGlzLl9za3lIaWdobGlnaHQgJiYgdGhpcy5fc2t5SGlnaGxpZ2h0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuaGlnaGxpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZHlGb3JIaWdobGlnaHQoc2VhcmNoVGV4dDogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2VhcmNoVGV4dCAmJiBzZWFyY2hUZXh0Lmxlbmd0aCA+IDAgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBoaWdobGlnaHQoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5vYnNlcnZlcikge1xuICAgICAgdGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoVGV4dCA9IHRoaXMuX3NreUhpZ2hsaWdodDtcblxuICAgIGlmICh0aGlzLmV4aXN0aW5nSGlnaGxpZ2h0KSB7XG4gICAgICBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLnJlbW92ZUhpZ2hsaWdodCh0aGlzLmVsKTtcbiAgICB9XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnJlYWR5Rm9ySGlnaGxpZ2h0KHNlYXJjaFRleHQpKSB7XG4gICAgICBjb25zdCBub2RlOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblxuICAgICAgLy8gbWFyayBhbGwgbWF0Y2hlZCB0ZXh0IGluIHRoZSBET01cbiAgICAgIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUubWFya1RleHROb2Rlcyhub2RlLCBzZWFyY2hUZXh0KTtcbiAgICAgIHRoaXMuZXhpc3RpbmdIaWdobGlnaHQgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMub2JzZXJ2ZURvbSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvYnNlcnZlRG9tKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgICAgYXR0cmlidXRlczogZmFsc2UsXG4gICAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgICAgY2hhcmFjdGVyRGF0YTogdHJ1ZSxcbiAgICAgIH07XG4gICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNsZWFuUmVnZXgocmVnZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJlZ2V4LnJlcGxhY2UoL1stXFwvXFxcXF4kKis/LigpfFtcXF17fV0vZywgJ1xcXFwkJicpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFya05vZGUobm9kZTogYW55LCBzZWFyY2hUZXJtczogc3RyaW5nW10pOiBudW1iZXIge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHNlYXJjaFRlcm1zKSB7XG4gICAgICBjb25zdCB0ZXh0ID0gbm9kZS5ub2RlVmFsdWU7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlYXJjaFRlcm1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHNlYXJjaFRlcm1zW2ldID0gdGhpcy5jbGVhblJlZ2V4KHNlYXJjaFRlcm1zW2ldKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNlYXJjaFJlZ2V4ID0gbmV3IFJlZ0V4cChzZWFyY2hUZXJtcy5qb2luKCd8JyksICdnaScpO1xuICAgICAgY29uc3QgbWF0Y2ggPSBzZWFyY2hSZWdleC5leGVjKHRleHQpO1xuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIC8vIFNwbGl0IGFwYXJ0IHRleHQgbm9kZSB3aXRoIG1hcmsgdGFncyBpbiB0aGUgbWlkZGxlIG9uIHRoZSBzZWFyY2ggdGVybS5cbiAgICAgICAgY29uc3QgbWF0Y2hJbmRleCA9IG1hdGNoLmluZGV4O1xuXG4gICAgICAgIGNvbnN0IG1pZGRsZSA9IG5vZGUuc3BsaXRUZXh0KG1hdGNoSW5kZXgpO1xuICAgICAgICBtaWRkbGUuc3BsaXRUZXh0KHNlYXJjaFJlZ2V4Lmxhc3RJbmRleCAtIG1hdGNoSW5kZXgpO1xuICAgICAgICBjb25zdCBtaWRkbGVDbG9uZSA9IG1pZGRsZS5jbG9uZU5vZGUodHJ1ZSk7XG5cbiAgICAgICAgY29uc3QgbWFya05vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdtYXJrJyk7XG4gICAgICAgIG1hcmtOb2RlLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICAgICAgbWFya05vZGUuYXBwZW5kQ2hpbGQobWlkZGxlQ2xvbmUpO1xuICAgICAgICBtaWRkbGUucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQobWFya05vZGUsIG1pZGRsZSk7XG5cbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbWFya1RleHROb2RlcyhcbiAgICBub2RlOiBIVE1MRWxlbWVudCxcbiAgICBzZWFyY2hUZXJtczogc3RyaW5nW11cbiAgKTogbnVtYmVyIHtcbiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PT0gMykge1xuICAgICAgcmV0dXJuIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmUubWFya05vZGUobm9kZSwgc2VhcmNoVGVybXMpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5ub2RlVHlwZSA9PT0gMSAmJiBub2RlLmNoaWxkTm9kZXMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZSA9IG5vZGUuY2hpbGROb2Rlc1tpXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaSArPSBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlLm1hcmtUZXh0Tm9kZXMoY2hpbGROb2RlLCBzZWFyY2hUZXJtcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZW1vdmVIaWdobGlnaHQoZWw6IEVsZW1lbnRSZWYpOiB2b2lkIHtcbiAgICBjb25zdCBtYXRjaGVkRWxlbWVudHMgPSBlbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBgbWFyay4ke2NsYXNzTmFtZX1gXG4gICAgKSBhcyBOb2RlTGlzdDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgaWYgKG1hdGNoZWRFbGVtZW50cykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXRjaGVkRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IG1hdGNoZWRFbGVtZW50c1tpXTtcbiAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcblxuICAgICAgICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZChub2RlLmZpcnN0Q2hpbGQsIG5vZGUpO1xuICAgICAgICBwYXJlbnROb2RlLm5vcm1hbGl6ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -4,23 +4,15 @@ import { SkyTextHighlightDirective } from './text-highlight.directive';
4
4
  import * as i0 from "@angular/core";
5
5
  export class SkyTextHighlightModule {
6
6
  }
7
- SkyTextHighlightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- SkyTextHighlightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextHighlightModule, declarations: [SkyTextHighlightDirective], exports: [SkyTextHighlightDirective] });
9
- SkyTextHighlightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextHighlightModule, providers: [
10
- MutationObserverService
11
- ] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTextHighlightModule, decorators: [{
7
+ SkyTextHighlightModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ SkyTextHighlightModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightModule, declarations: [SkyTextHighlightDirective], exports: [SkyTextHighlightDirective] });
9
+ SkyTextHighlightModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightModule, providers: [MutationObserverService] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTextHighlightModule, decorators: [{
13
11
  type: NgModule,
14
12
  args: [{
15
- declarations: [
16
- SkyTextHighlightDirective
17
- ],
18
- exports: [
19
- SkyTextHighlightDirective
20
- ],
21
- providers: [
22
- MutationObserverService
23
- ]
13
+ declarations: [SkyTextHighlightDirective],
14
+ exports: [SkyTextHighlightDirective],
15
+ providers: [MutationObserverService],
24
16
  }]
25
17
  }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1oaWdobGlnaHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3hCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDTCx5QkFBeUIsRUFDMUIsTUFBTSw0QkFBNEIsQ0FBQzs7QUFhcEMsTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjtvSEFBdEIsc0JBQXNCLGlCQVQvQix5QkFBeUIsYUFHekIseUJBQXlCO29IQU1oQixzQkFBc0IsYUFKdEI7UUFDVCx1QkFBdUI7S0FDeEI7MkZBRVUsc0JBQXNCO2tCQVhsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx5QkFBeUI7cUJBQzFCO29CQUNELFNBQVMsRUFBRTt3QkFDVCx1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmdNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGV4dEhpZ2hsaWdodERpcmVjdGl2ZVxufSBmcm9tICcuL3RleHQtaGlnaGxpZ2h0LmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreVRleHRIaWdobGlnaHREaXJlY3RpdmVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTXV0YXRpb25PYnNlcnZlclNlcnZpY2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0SGlnaGxpZ2h0TW9kdWxlIHsgfVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1oaWdobGlnaHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90ZXh0LWhpZ2hsaWdodC90ZXh0LWhpZ2hsaWdodC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBT3ZFLE1BQU0sT0FBTyxzQkFBc0I7O29IQUF0QixzQkFBc0I7cUhBQXRCLHNCQUFzQixpQkFKbEIseUJBQXlCLGFBQzlCLHlCQUF5QjtxSEFHeEIsc0JBQXNCLGFBRnRCLENBQUMsdUJBQXVCLENBQUM7NEZBRXpCLHNCQUFzQjtrQkFMbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi90ZXh0LWhpZ2hsaWdodC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTa3lUZXh0SGlnaGxpZ2h0RGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW1NreVRleHRIaWdobGlnaHREaXJlY3RpdmVdLFxuICBwcm92aWRlcnM6IFtNdXRhdGlvbk9ic2VydmVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRleHRIaWdobGlnaHRNb2R1bGUge31cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@skyux/i18n";
4
4
  import * as i2 from "../icon/icon.component";
@@ -37,7 +37,7 @@ export class SkyTokenComponent {
37
37
  this._ariaLabel = value;
38
38
  }
39
39
  get ariaLabel() {
40
- return this._ariaLabel || this.getString('skyux_tokens_dismiss_button_title');
40
+ return (this._ariaLabel || this.getString('skyux_tokens_dismiss_button_title'));
41
41
  }
42
42
  /**
43
43
  * Indicates whether users can remove the token from the list by selecting the close button
@@ -59,13 +59,13 @@ export class SkyTokenComponent {
59
59
  this._focusable = value;
60
60
  }
61
61
  get focusable() {
62
- return (this._focusable !== false);
62
+ return this._focusable !== false;
63
63
  }
64
64
  /**
65
65
  * @internal
66
66
  */
67
67
  get tabIndex() {
68
- return (this.focusable) ? 0 : -1;
68
+ return this.focusable ? 0 : -1;
69
69
  }
70
70
  dismissToken(event) {
71
71
  event.stopPropagation();
@@ -79,15 +79,15 @@ export class SkyTokenComponent {
79
79
  return this.resourcesService.getStringForLocale({ locale: 'en-US' }, key);
80
80
  }
81
81
  }
82
- SkyTokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTokenComponent, deps: [{ token: i0.ElementRef }, { token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
83
- SkyTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, ngImport: i0, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n role=\"button\"\n [attr.aria-disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-dismissable': dismissible,\n 'sky-token-active': tokenActive && !closeActive\n }\"\n (document:mouseup)=\"tokenActive = false;\"\n (focus)=\"tokenFocus.emit()\"\n (mousedown)=\"tokenActive = true;\"\n >\n <ng-content>\n </ng-content>\n <button *ngIf=\"dismissible\"\n class=\"sky-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"ariaLabel\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"closeActive = false;\"\n (mousedown)=\"closeActive = true;\"\n >\n <sky-icon\n class=\"sky-token-btn-close-icon-default\"\n icon=\"times\"\n >\n </sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;overflow:hidden;padding:2px 8px;display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-token:hover,.sky-token:focus{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token:focus{box-shadow:0 0 8px #00b4f199;border:1px solid #00b4f1;outline:none}.sky-btn-disabled{cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-token-btn-close{background:transparent;padding:0;border:0;margin-left:2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus{opacity:1}.sky-token-btn-close-icon-modern{display:none}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;padding:1px 5px;font-size:14px}:host-context(.sky-theme-modern) .sky-token.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissable{padding-right:1px}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token:focus,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#c1e8fb}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-default{display:none}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-modern{display:inline-block;width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;padding:1px 5px;font-size:14px}.sky-theme-modern .sky-token.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}.sky-theme-modern .sky-token.sky-token-dismissable{padding-right:1px}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token:focus,.sky-theme-modern .sky-token:hover{background-color:#c1e8fb}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus{outline:none}.sky-theme-modern .sky-token-btn-close:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon-default{display:none}.sky-theme-modern .sky-token-btn-close-icon-modern{display:inline-block;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"], components: [{ type: i2.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: SkyTokenComponent, decorators: [{
82
+ SkyTokenComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokenComponent, deps: [{ token: i0.ElementRef }, { token: i1.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
83
+ SkyTokenComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, ngImport: i0, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n role=\"button\"\n [attr.aria-disabled]=\"disabled\"\n [attr.tabindex]=\"tabIndex\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-dismissable': dismissible,\n 'sky-token-active': tokenActive && !closeActive\n }\"\n (document:mouseup)=\"tokenActive = false\"\n (focus)=\"tokenFocus.emit()\"\n (mousedown)=\"tokenActive = true\"\n>\n <ng-content> </ng-content>\n <button\n *ngIf=\"dismissible\"\n class=\"sky-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"ariaLabel\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"closeActive = false\"\n (mousedown)=\"closeActive = true\"\n >\n <sky-icon class=\"sky-token-btn-close-icon-default\" icon=\"times\"> </sky-icon>\n <sky-icon\n class=\"sky-token-btn-close-icon-modern\"\n icon=\"close\"\n iconType=\"skyux\"\n >\n </sky-icon>\n </button>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;overflow:hidden;padding:2px 8px;display:inline-block;-webkit-user-select:none;user-select:none}.sky-token:hover,.sky-token:focus{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token:focus{box-shadow:0 0 8px #00b4f199;border:1px solid #00b4f1;outline:none}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn-close{background:transparent;padding:0;border:0;margin-left:2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus{opacity:1}.sky-token-btn-close-icon-modern{display:none}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;padding:1px 5px;font-size:14px}:host-context(.sky-theme-modern) .sky-token.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissable{padding-right:1px}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token:focus,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#c1e8fb}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-default{display:none}:host-context(.sky-theme-modern) .sky-token-btn-close-icon-modern{display:inline-block;width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;padding:1px 5px;font-size:14px}.sky-theme-modern .sky-token.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7}.sky-theme-modern .sky-token.sky-token-dismissable{padding-right:1px}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token:focus,.sky-theme-modern .sky-token:hover{background-color:#c1e8fb}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus{outline:none}.sky-theme-modern .sky-token-btn-close:focus:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon-default{display:none}.sky-theme-modern .sky-token-btn-close-icon-modern{display:inline-block;width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"], components: [{ type: i2.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyTokenComponent, decorators: [{
85
85
  type: Component,
86
86
  args: [{
87
87
  selector: 'sky-token',
88
88
  templateUrl: './token.component.html',
89
89
  styleUrls: ['./token.component.scss'],
90
- changeDetection: ChangeDetectionStrategy.OnPush
90
+ changeDetection: ChangeDetectionStrategy.OnPush,
91
91
  }]
92
92
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SkyLibResourcesService }]; }, propDecorators: { disabled: [{
93
93
  type: Input
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
102
102
  }], tokenFocus: [{
103
103
  type: Output
104
104
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90b2tlbnMvdG9rZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90b2tlbnMvdG9rZW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7O0FBWXZCLE1BQU0sT0FBTyxpQkFBaUI7SUE2RjVCLFlBQ1UsVUFBc0IsRUFDdEIsZ0JBQXdDO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQXBDbEQ7O1dBRUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUxQzs7V0FFRztRQUVJLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBMkJ6QyxDQUFDO0lBOUZMOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csV0FBVyxDQUFDLEtBQWM7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxTQUFTLENBQUMsS0FBYztRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFjRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFzQk0sWUFBWSxDQUFDLEtBQVk7UUFDOUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBVztRQUMzQiw2RUFBNkU7UUFDN0UsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQzdDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUNuQixHQUFHLENBQ0osQ0FBQztJQUNKLENBQUM7OzhHQWpIVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwwTkNuQjlCLHlvQ0EyQ0E7MkZEeEJhLGlCQUFpQjtrQkFON0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsV0FBVyxFQUFFLHdCQUF3QjtvQkFDckMsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDtzSUFVWSxRQUFRO3NCQURsQixLQUFLO2dCQWVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBZUssV0FBVztzQkFEckIsS0FBSztnQkFlSyxTQUFTO3NCQURuQixLQUFLO2dCQWFDLE9BQU87c0JBRGIsTUFBTTtnQkFPQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlXG59IGZyb20gJ0Bza3l1eC9pMThuJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRva2VuJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rva2VuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9rZW4uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5Db21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNhYmxlIHRoZSB0b2tlbiB0byBwcmV2ZW50IHVzZXJzIGZyb20gc2VsZWN0aW5nIGl0LCBkaXNtaXNzaW5nIGl0LFxuICAgKiBvciBuYXZpZ2F0aW5nIHRvIGl0IHdpdGggdGhlIGFycm93IGtleXMuIFdoZW4gdGhlIHRva2VuIGlzIGRpc2FibGVkLFxuICAgKiB1c2VycyBjYW4gc3RpbGwgcGxhY2UgZm9jdXMgb24gaXQgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBBUklBIGxhYmVsIGZvciB0aGUgdG9rZW4ncyBjbG9zZSBidXR0b24uIFRoaXMgc2V0cyB0aGUgYnV0dG9uJ3MgYGFyaWEtbGFiZWxgXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIEBkZWZhdWx0IFwiUmVtb3ZlIGl0ZW1cIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcmlhTGFiZWwodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2FyaWFMYWJlbCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBhcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fYXJpYUxhYmVsIHx8IHRoaXMuZ2V0U3RyaW5nKCdza3l1eF90b2tlbnNfZGlzbWlzc19idXR0b25fdGl0bGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB1c2VycyBjYW4gcmVtb3ZlIHRoZSB0b2tlbiBmcm9tIHRoZSBsaXN0IGJ5IHNlbGVjdGluZyB0aGUgY2xvc2UgYnV0dG9uXG4gICAqIG9yIHByZXNzaW5nIHRoZSBgQmFja3NwYWNlYCBrZXkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNtaXNzaWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNtaXNzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzbWlzc2libGUgIT09IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiBwcmVzcyB0aGUgYFRhYmAga2V5IHRvIHBsYWNlIGZvY3VzIG9uIHRoZSB0b2tlbi4gVGhpcyBkb2VzIG5vdFxuICAgKiBhZmZlY3QgdGhlIGFiaWxpdHkgdG8gc2VsZWN0IHRoZSB0b2tlbiwgZGlzbWlzcyBpdCwgb3IgbmF2aWdhdGUgdG8gaXQgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb2N1c2FibGUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5fZm9jdXNhYmxlICE9PSBmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBjbGljayB0aGUgY2xvc2UgYnV0dG9uIG9yIHByZXNzIHRoZSBgQmFja3NwYWNlYCBrZXkgdG8gZGlzbWlzcyB0aGUgdG9rZW4uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgcGxhY2UgZm9jdXMgb24gdGhlIHRva2VuIGJ5IG5hdmlnYXRpbmcgdG8gaXQgd2l0aCB0aGUgYFRhYmAga2V5LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXgoKTogbnVtYmVyIHwgYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmZvY3VzYWJsZSkgPyAwIDogLTE7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgdG9rZW5BY3RpdmU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNsb3NlQWN0aXZlOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2FyaWFMYWJlbDogc3RyaW5nO1xuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfZGlzbWlzc2libGU6IGJvb2xlYW47XG4gIHByaXZhdGUgX2ZvY3VzYWJsZTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlXG4gICkgeyB9XG5cbiAgcHVibGljIGRpc21pc3NUb2tlbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmRpc21pc3MuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzRWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRva2VuJykuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKFxuICAgICAgeyBsb2NhbGU6ICdlbi1VUycgfSxcbiAgICAgIGtleVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdG9rZW4gc2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICByb2xlPVwiYnV0dG9uXCJcbiAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktYnRuLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ3NreS10b2tlbi1kaXNtaXNzYWJsZSc6IGRpc21pc3NpYmxlLFxuICAgICdza3ktdG9rZW4tYWN0aXZlJzogdG9rZW5BY3RpdmUgJiYgIWNsb3NlQWN0aXZlXG4gIH1cIlxuICAoZG9jdW1lbnQ6bW91c2V1cCk9XCJ0b2tlbkFjdGl2ZSA9IGZhbHNlO1wiXG4gIChmb2N1cyk9XCJ0b2tlbkZvY3VzLmVtaXQoKVwiXG4gIChtb3VzZWRvd24pPVwidG9rZW5BY3RpdmUgPSB0cnVlO1wiXG4gPlxuICA8bmctY29udGVudD5cbiAgPC9uZy1jb250ZW50PlxuICA8YnV0dG9uICpuZ0lmPVwiZGlzbWlzc2libGVcIlxuICAgIGNsYXNzPVwic2t5LWJ0biBza3ktdG9rZW4tYnRuLWNsb3NlXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgIFthdHRyLnRpdGxlXT1cImFyaWFMYWJlbFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXRva2VuLWJ0bi1jbG9zZS1hY3RpdmUnOiBjbG9zZUFjdGl2ZVxuICAgIH1cIlxuICAgIChjbGljayk9XCJkaXNtaXNzVG9rZW4oJGV2ZW50KVwiXG4gICAgKGRvY3VtZW50Om1vdXNldXApPVwiY2xvc2VBY3RpdmUgPSBmYWxzZTtcIlxuICAgIChtb3VzZWRvd24pPVwiY2xvc2VBY3RpdmUgPSB0cnVlO1wiXG4gID5cbiAgICA8c2t5LWljb25cbiAgICAgIGNsYXNzPVwic2t5LXRva2VuLWJ0bi1jbG9zZS1pY29uLWRlZmF1bHRcIlxuICAgICAgaWNvbj1cInRpbWVzXCJcbiAgICA+XG4gICAgPC9za3ktaWNvbj5cbiAgICA8c2t5LWljb25cbiAgICAgIGNsYXNzPVwic2t5LXRva2VuLWJ0bi1jbG9zZS1pY29uLW1vZGVyblwiXG4gICAgICBpY29uPVwiY2xvc2VcIlxuICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgPlxuICAgIDwvc2t5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90b2tlbnMvdG9rZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5kaWNhdG9ycy9zcmMvbW9kdWxlcy90b2tlbnMvdG9rZW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7O0FBVXZCLE1BQU0sT0FBTyxpQkFBaUI7SUE4RjVCLFlBQ1UsVUFBc0IsRUFDdEIsZ0JBQXdDO1FBRHhDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQXBDbEQ7O1dBRUc7UUFFSSxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUxQzs7V0FFRztRQUVJLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBMkIxQyxDQUFDO0lBaEdKOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBYztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFNBQVMsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxDQUNMLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUNXLFdBQVcsQ0FBQyxLQUFjO1FBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csU0FBUyxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFjRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQXNCTSxZQUFZLENBQUMsS0FBWTtRQUM5QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFXO1FBQzNCLDZFQUE2RTtRQUM3RSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1RSxDQUFDOzsrR0EvR1UsaUJBQWlCO21HQUFqQixpQkFBaUIsME5DakI5Qiw2bUNBdUNBOzRGRHRCYSxpQkFBaUI7a0JBTjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7c0lBU1ksUUFBUTtzQkFEbEIsS0FBSztnQkFlSyxTQUFTO3NCQURuQixLQUFLO2dCQWlCSyxXQUFXO3NCQURyQixLQUFLO2dCQWVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBYUMsT0FBTztzQkFEYixNQUFNO2dCQU9BLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdG9rZW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9rZW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2tlbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5Db21wb25lbnQge1xuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW4gdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyBpdCwgZGlzbWlzc2luZyBpdCxcbiAgICogb3IgbmF2aWdhdGluZyB0byBpdCB3aXRoIHRoZSBhcnJvdyBrZXlzLiBXaGVuIHRoZSB0b2tlbiBpcyBkaXNhYmxlZCxcbiAgICogdXNlcnMgY2FuIHN0aWxsIHBsYWNlIGZvY3VzIG9uIGl0IHVzaW5nIHRoZSBgVGFiYCBrZXkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYW4gQVJJQSBsYWJlbCBmb3IgdGhlIHRva2VuJ3MgY2xvc2UgYnV0dG9uLiBUaGlzIHNldHMgdGhlIGJ1dHRvbidzIGBhcmlhLWxhYmVsYFxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2FjY2Vzc2liaWxpdHkpLlxuICAgKiBAZGVmYXVsdCBcIlJlbW92ZSBpdGVtXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYXJpYUxhYmVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hcmlhTGFiZWwgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXJpYUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX2FyaWFMYWJlbCB8fCB0aGlzLmdldFN0cmluZygnc2t5dXhfdG9rZW5zX2Rpc21pc3NfYnV0dG9uX3RpdGxlJylcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgdGhlIHRva2VuIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIHRoZSBjbG9zZSBidXR0b25cbiAgICogb3IgcHJlc3NpbmcgdGhlIGBCYWNrc3BhY2VgIGtleS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc21pc3NpYmxlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNtaXNzaWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdXNlcnMgY2FuIHByZXNzIHRoZSBgVGFiYCBrZXkgdG8gcGxhY2UgZm9jdXMgb24gdGhlIHRva2VuLiBUaGlzIGRvZXMgbm90XG4gICAqIGFmZmVjdCB0aGUgYWJpbGl0eSB0byBzZWxlY3QgdGhlIHRva2VuLCBkaXNtaXNzIGl0LCBvciBuYXZpZ2F0ZSB0byBpdCB3aXRoIHRoZSBhcnJvdyBrZXlzLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGZvY3VzYWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2ZvY3VzYWJsZSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCBmb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzYWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBjbGljayB0aGUgY2xvc2UgYnV0dG9uIG9yIHByZXNzIHRoZSBgQmFja3NwYWNlYCBrZXkgdG8gZGlzbWlzcyB0aGUgdG9rZW4uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGRpc21pc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgcGxhY2UgZm9jdXMgb24gdGhlIHRva2VuIGJ5IG5hdmlnYXRpbmcgdG8gaXQgd2l0aCB0aGUgYFRhYmAga2V5LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyB0b2tlbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBnZXQgdGFiSW5kZXgoKTogbnVtYmVyIHwgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlID8gMCA6IC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHRva2VuQWN0aXZlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBjbG9zZUFjdGl2ZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9hcmlhTGFiZWw6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2Rpc21pc3NpYmxlOiBib29sZWFuO1xuICBwcml2YXRlIF9mb2N1c2FibGU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGRpc21pc3NUb2tlbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmRpc21pc3MuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzRWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LXRva2VuJykuZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdG9rZW4gc2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICByb2xlPVwiYnV0dG9uXCJcbiAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktYnRuLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ3NreS10b2tlbi1kaXNtaXNzYWJsZSc6IGRpc21pc3NpYmxlLFxuICAgICdza3ktdG9rZW4tYWN0aXZlJzogdG9rZW5BY3RpdmUgJiYgIWNsb3NlQWN0aXZlXG4gIH1cIlxuICAoZG9jdW1lbnQ6bW91c2V1cCk9XCJ0b2tlbkFjdGl2ZSA9IGZhbHNlXCJcbiAgKGZvY3VzKT1cInRva2VuRm9jdXMuZW1pdCgpXCJcbiAgKG1vdXNlZG93bik9XCJ0b2tlbkFjdGl2ZSA9IHRydWVcIlxuPlxuICA8bmctY29udGVudD4gPC9uZy1jb250ZW50PlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJkaXNtaXNzaWJsZVwiXG4gICAgY2xhc3M9XCJza3ktYnRuIHNreS10b2tlbi1idG4tY2xvc2VcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgW2F0dHIudGl0bGVdPVwiYXJpYUxhYmVsXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktdG9rZW4tYnRuLWNsb3NlLWFjdGl2ZSc6IGNsb3NlQWN0aXZlXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cImRpc21pc3NUb2tlbigkZXZlbnQpXCJcbiAgICAoZG9jdW1lbnQ6bW91c2V1cCk9XCJjbG9zZUFjdGl2ZSA9IGZhbHNlXCJcbiAgICAobW91c2Vkb3duKT1cImNsb3NlQWN0aXZlID0gdHJ1ZVwiXG4gID5cbiAgICA8c2t5LWljb24gY2xhc3M9XCJza3ktdG9rZW4tYnRuLWNsb3NlLWljb24tZGVmYXVsdFwiIGljb249XCJ0aW1lc1wiPiA8L3NreS1pY29uPlxuICAgIDxza3ktaWNvblxuICAgICAgY2xhc3M9XCJza3ktdG9rZW4tYnRuLWNsb3NlLWljb24tbW9kZXJuXCJcbiAgICAgIGljb249XCJjbG9zZVwiXG4gICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICA+XG4gICAgPC9za3ktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==