@tetacom/ng-components 1.2.5 → 1.2.7

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.
@@ -2,6 +2,7 @@ export * from './accordion/public-api';
2
2
  export * from './avatar/public-api';
3
3
  export * from './autocomplete/public-api';
4
4
  export * from './button/public-api';
5
+ export * from './chart-3d/public-api';
5
6
  export * from './checkbox/public-api';
6
7
  export * from './date-picker/public-api';
7
8
  export * from './delimiter/public-api';
@@ -8,10 +8,19 @@ export interface ITabChangeEvent {
8
8
  }
9
9
  export declare class TabsComponent implements AfterContentChecked {
10
10
  classTabs: boolean;
11
+ get verticalClassTabs(): boolean;
11
12
  /**
12
13
  * An identifier of an initially selected (active) tab. Use the "select" method to switch a tab programmatically.
13
14
  */
14
15
  activeId: string | null;
16
+ /**
17
+ * Tabs direction
18
+ */
19
+ direction: 'horizontal' | 'vertical';
20
+ /**
21
+ * Tabs size
22
+ */
23
+ size: 's' | 'm';
15
24
  /**
16
25
  * Whether the closed tabs should be hidden without destroying them
17
26
  */
@@ -30,5 +39,5 @@ export declare class TabsComponent implements AfterContentChecked {
30
39
  ngAfterContentChecked(): void;
31
40
  private _getTabById;
32
41
  static ɵfac: i0.ɵɵFactoryDeclaration<TabsComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "teta-tabs", never, { "activeId": { "alias": "activeId"; "required": false; }; "destroyOnHide": { "alias": "destroyOnHide"; "required": false; }; }, { "tabChange": "tabChange"; }, ["tabs"], ["*"], true, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<TabsComponent, "teta-tabs", never, { "activeId": { "alias": "activeId"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "size": { "alias": "size"; "required": false; }; "destroyOnHide": { "alias": "destroyOnHide"; "required": false; }; }, { "tabChange": "tabChange"; }, ["tabs"], never, true, never>;
34
43
  }
@@ -1,24 +1,19 @@
1
- import {Meta} from "@storybook/blocks";
2
- import BadgeStories from "../src/component/badge/Badge.stories";
1
+ import { Meta } from '@storybook/blocks';
2
+ import BadgeStories from '../src/component/badge/Badge.stories';
3
3
 
4
- <Meta of={BadgeStories}/>
4
+ <Meta of={BadgeStories} />
5
5
 
6
- <div class='column gap-24'>
7
- <h1>Badge</h1>
8
- <div class='column'>
9
- <p>Badge — показывает статус объекта, например, им можно показать разные этапы какого-то процесса:</p>
10
- <ul>
11
- <li>Запланированно</li>
12
- <li>В работе</li>
13
- <li>Завершено</li>
14
- </ul>
15
- </div>
16
- <h3>Как использовать</h3>
17
- <div class='column'>
18
- <p>У Badge есть 2 варианта отображения:</p>
19
- <ul>
20
- <li>Обводка- реализуется добавлением класса <code>badge</code></li>
21
- <li>Заливка - необходимо добавить класс <code>badge</code> и <code>badge-"палитра"_filled</code> (Пример: badge-green_filled)</li>
22
- </ul>
23
- </div>
24
- </div>
6
+ # Badge
7
+
8
+ Badge — показывает статус объекта, например, им можно показать разные этапы какого-то процесса:
9
+
10
+ - Запланированно
11
+ - В работе
12
+ - Завершено
13
+
14
+ ### Как использовать
15
+
16
+ У Badge есть 2 варианта отображения:
17
+
18
+ - Обводка- реализуется добавлением класса `badge`
19
+ - Заливка - необходимо добавить класс `badge` и `badge-"палитра"_filled` ( Пример: `badge-green_filled` )
package/docs/chipDocs.mdx CHANGED
@@ -1,17 +1,15 @@
1
- import {Meta} from "@storybook/blocks";
2
- import ChipStories from "../src/component/chip/Chip.stories";
1
+ import { Meta } from '@storybook/blocks';
2
+ import ChipStories from '../src/component/chip/Chip.stories';
3
3
 
4
- <Meta of={ChipStories}/>
4
+ <Meta of={ChipStories} />
5
5
 
6
- <div class='column gap-24'>
7
- <h1>Чипы</h1>
8
- <div class='column'>
9
- <p>Чипы это компактные элементы, которые представляют атрибут или действие.</p>
10
- <p>Чипы позволяют пользователям получать информацию, делать выбор, фильтровать контент или запускать действия.</p>
11
- </div>
12
- <h3>Как использовать</h3>
13
- <div class='column'>
14
- <p>Для того чтобы сделать чип, нужно к блоку добавить CSS класс <code>chip</code></p>
15
- <p>Если помимо текста в чипе нужна кнопка (допустим кнопка с иконкой closeBig), то она должна идти после текста</p>
16
- </div>
17
- </div>
6
+ # Чипы
7
+
8
+ - Чипы — это компактные элементы, которые представляют атрибут или действие.
9
+ - Чипы позволяют пользователям получать информацию, делать выбор, фильтровать контент или запускать действия.
10
+
11
+ ### Как использовать
12
+
13
+ Для того чтобы сделать чип, нужно к блоку добавить CSS класс `chip`
14
+
15
+ Если помимо текста в чипе нужна кнопка (допустим кнопка с иконкой closeBig), то она должна идти после текста
package/docs/tabsDocs.mdx CHANGED
@@ -1,145 +1,163 @@
1
- import {Meta} from "@storybook/blocks";
2
- import TabsStories from "../src/component/tabs/Tabs.stories";
3
-
4
- <Meta of={TabsStories}/>
5
-
6
- <div class='column gap-24'>
7
- <h1>Таб</h1>
8
- <div class='column'>
9
- <p>Tab (таб) компонент, который переключают вкладки на странице. Активный таб выделен цветом и помечен специальным
10
- маркером — горизонтальной или вертикальной линией.</p>
11
- <p>Табы группируют контент и помогают в навигации.</p>
12
- </div>
13
- <h3>Правила применения</h3>
14
- <div class='column'>
15
- <p>Основные правила применения табов:</p>
16
- <ul>
17
- <li>Не использовать табы для переключения состояний. Для таких моментов лучше использовать радиокнопки</li>
18
- <li>Лучше всего подойдет для второстепенной навигации</li>
19
- <li>Разделяйте табы и контент, чтобы информация лучше читалась.</li>
20
- </ul>
21
- </div>
22
- <h3>Виды табов</h3>
23
- <p>Существует 2 вида табов:</p>
24
- <ul>
25
- <li>Вертикальный(vertical)</li>
26
- <li>Горизонтальный(horizontal)</li>
27
- </ul>
28
- <p>Для изменения вида таба, нужно передать свойство <code>direction</code></p>
29
- <h3>Как использовать</h3>
30
- <div class='column'>
31
- <p>Для начала нужно создать <code> &lt;teta-tabs&gt;</code>- обертку для табов и служит для их объединения, т.е. среди них может быть выбран только один.</p>
32
- <p>Таб создается при помощи тега <code> &lt;teta-tab&gt;</code>.</p>
33
- <p>Внутрь необходимо передать контент для шапки и наполнение таба. Это делается при помощи <code>ng-template</code> с директивами <code>&lt;tetaTabTitle&gt;</code> и <code>tetaTabContent</code></p>
34
- </div>
35
- <h3>Пример кода</h3>
36
- <p><pre><code>&lt;teta-tabs&gt;
37
- &nbsp;&nbsp;&lt;teta-tab&gt;
38
- &nbsp;&nbsp;&nbsp;&lt;ng-template tetaTabTitle&gt;
39
- &nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;1&lt;/p&gt;
40
- &nbsp;&nbsp;&nbsp;&lt;/ng-template&gt;
41
- &nbsp;&nbsp;&nbsp;&lt;ng-template tetaTabContent&gt;
42
- &nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="padding-v-3 padding-h-2"&gt;conteeeeeeeeeeeent 1&lt;/div&gt;
43
- &nbsp;&nbsp;&nbsp;&lt;/ng-template&gt;
44
- &nbsp;&nbsp;&lt;/teta-tab&gt;
45
- &nbsp;&nbsp;&lt;teta-tab&gt;
46
- &nbsp;&nbsp;&nbsp;&lt;ng-template tetaTabTitle&gt;
47
- &nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;2&lt;/p&gt;
48
- &nbsp;&nbsp;&nbsp;&lt;/ng-template&gt;
49
- &nbsp;&nbsp;&nbsp;&lt;ng-template tetaTabContent&gt;
50
- &nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="padding-v-3 padding-h-2"&gt;conteeeeeent 2&lt;/div&gt;
51
- &nbsp;&nbsp;&nbsp;&lt;/ng-template&gt;
52
- &nbsp;&nbsp;&lt;/teta-tab&gt;
53
- &lt;/teta-tabs&gt;</code></pre></p>
54
- <h3>Свойства</h3>
55
- <h4>teta-tabs</h4>
56
- <table>
57
- <thead>
1
+ import { Meta } from '@storybook/blocks';
2
+ import TabsStories from '../src/component/tabs/Tabs.stories';
3
+
4
+ <Meta of={TabsStories} />
5
+
6
+ # Таб
7
+
8
+ Tab (таб) — компонент, который переключают вкладки на странице. Активный таб выделен цветом и помечен специальным
9
+ маркеромгоризонтальной или вертикальной линией
10
+
11
+ Табы группируют контент и помогают в навигации
12
+
13
+ Основные правила применения табов:
14
+
15
+ ### Правила применения
16
+
17
+ - Не использовать табы для переключения состояний. Для таких моментов лучше использовать радиокнопки
18
+ - Лучше всего подойдет для второстепенной навигации
19
+ - Разделяйте табы и контент, чтобы информация лучше читалась
20
+
21
+ ### Виды табов
22
+
23
+ Существует 2 вида табов:
24
+
25
+ - Вертикальный(vertical)
26
+ - Горизонтальный(horizontal)
27
+
28
+ Для изменения вида таба, нужно передать свойство `direction`
29
+
30
+ ### Как использовать
31
+
32
+ Для начала нужно создать `<teta-tabs>` - обертку для табов и служит для их объединения, т.е.
33
+ среди них может быть выбран только один
34
+
35
+ Таб создается при помощи тега `<teta-tab>`
36
+
37
+ Внутрь необходимо передать контент для шапки и наполнение таба. Это делается при помощи `ng-template` с
38
+ директивами `<tetaTabTitle>` и `tetaTabContent`
39
+
40
+ ### Пример кода
41
+
42
+ ```
43
+ <teta-tabs>
44
+ <teta-tab>
45
+ <ng-template tetaTabTitle>
46
+ <p>1</p>
47
+ </ng-template>
48
+ <ng-template tetaTabContent>
49
+ <div class="padding-v-3 padding-h-2">conteeeeeeeeeeeent 1</div>
50
+ </ng-template>
51
+ </teta-tab>
52
+ <teta-tab>
53
+ <ng-template tetaTabTitle>
54
+ <p>2</p>
55
+ </ng-template>
56
+ <ng-template tetaTabContent>
57
+ <div class="padding-v-3 padding-h-2">conteeeeeent 2</div>
58
+ </ng-template>
59
+ </teta-tab>
60
+ </teta-tabs>
61
+ ```
62
+
63
+ ### Свойства
64
+
65
+ #### teta-tabs
66
+
67
+ <table>
68
+ <thead>
58
69
  <tr>
59
70
  <th>Свойство</th>
60
71
  <th>Tип</th>
61
72
  <th>Описание</th>
62
73
  </tr>
63
- </thead>
64
- <tbody>
74
+ </thead>
75
+ <tbody>
65
76
  <tr>
66
- <td class='text-align-center'>
77
+ <td class="text-align-center">
67
78
  <p>activeId</p>
68
79
  </td>
69
- <td class='text-align-center'>
80
+ <td class="text-align-center">
70
81
  <code>string</code>
71
82
  </td>
72
- <td class='text-align-center'>
73
- <p>Используется для указания выбранного таба (аттрибут не обязателен, т.к. компонент сам умеет управлять своим состоянием)</p>
83
+ <td class="text-align-center">
84
+ <p>
85
+ Используется для указания выбранного таба (аттрибут не обязателен, т.к. компонент сам умеет управлять своим
86
+ состоянием)
87
+ </p>
74
88
  </td>
75
89
  </tr>
76
90
  <tr>
77
- <td class='text-align-center'>
91
+ <td class="text-align-center">
78
92
  <p>tabChange</p>
79
93
  </td>
80
- <td class='text-align-center'>
94
+ <td class="text-align-center">
81
95
  <code>function</code>
82
96
  </td>
83
- <td class='text-align-center'>
97
+ <td class="text-align-center">
84
98
  <p>Принимает функцию, которая применяется при изменении активного таба.Отдает текущее состояния.</p>
85
99
  </td>
86
100
  </tr>
87
101
  <tr>
88
- <td class='text-align-center'>
102
+ <td class="text-align-center">
89
103
  <p>destroyOnHide</p>
90
104
  </td>
91
- <td class='text-align-center'>
105
+ <td class="text-align-center">
92
106
  <code>boolean</code>
93
107
  </td>
94
- <td class='text-align-center'>
108
+ <td class="text-align-center">
95
109
  <p>Свойство, отвечающее за уничтожение и пересоздание содержимого таба.</p>
96
110
  </td>
97
111
  </tr>
98
- </tbody>
99
- </table>
100
- <h4>teta-tab</h4>
101
- <table>
102
- <thead>
112
+ </tbody>
113
+ </table>
114
+
115
+ #### teta-tab
116
+
117
+ <table>
118
+ <thead>
103
119
  <tr>
104
120
  <th>Свойство</th>
105
121
  <th>Tип</th>
106
122
  <th>Описание</th>
107
123
  </tr>
108
- </thead>
109
- <tbody>
124
+ </thead>
125
+ <tbody>
110
126
  <tr>
111
- <td class='text-align-center'>
127
+ <td class="text-align-center">
112
128
  <p>id</p>
113
129
  </td>
114
- <td class='text-align-center'>
130
+ <td class="text-align-center">
115
131
  <code>string</code>
116
132
  </td>
117
- <td class='text-align-center'>
133
+ <td class="text-align-center">
118
134
  <p>Идентификатор,который используется при выборе активного таба</p>
119
135
  </td>
120
136
  </tr>
121
137
  <tr>
122
- <td class='text-align-center'>
138
+ <td class="text-align-center">
123
139
  <p>disabled</p>
124
140
  </td>
125
- <td class='text-align-center'>
141
+ <td class="text-align-center">
126
142
  <code>boolean</code>
127
143
  </td>
128
- <td class='text-align-center'>
144
+ <td class="text-align-center">
129
145
  <p>Отключает взаимодействие с табом</p>
130
146
  </td>
131
147
  </tr>
132
148
  <tr>
133
- <td class='text-align-center'>
149
+ <td class="text-align-center">
134
150
  <p>title</p>
135
151
  </td>
136
- <td class='text-align-center'>
152
+ <td class="text-align-center">
137
153
  <code>string</code>
138
154
  </td>
139
- <td class='text-align-center'>
140
- <p>Замента директиве <code>tetaTabTitle</code>. Это свойство нужно использовать, если требуется вывести просто текст без дополнительных модификаций.</p>
155
+ <td class="text-align-center">
156
+ <p>
157
+ Замента директиве <code>tetaTabTitle</code>. Это свойство нужно использовать, если требуется вывести просто
158
+ текст без дополнительных модификаций.
159
+ </p>
141
160
  </td>
142
161
  </tr>
143
- </tbody>
144
- </table>
145
- </div>
162
+ </tbody>
163
+ </table>
@@ -1,10 +1,10 @@
1
1
  import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, } from '@angular/core';
2
2
  import * as THREE from 'three';
3
- import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
4
3
  import * as d3 from 'd3';
5
4
  import { Chart3dOptions } from '../model/chart-3d-options';
6
5
  import { ThemeSwitchService } from '../../theme-switch/theme-switch.service';
7
6
  import { takeWhile, tap } from 'rxjs/operators';
7
+ import { OrbitControls } from "three-stdlib";
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../../theme-switch/theme-switch.service";
10
10
  export class Chart3dComponent {
@@ -251,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
251
251
  }], config: [{
252
252
  type: Input
253
253
  }] } });
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQzZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoYXJ0LTNkL2NoYXJ0M2QvY2hhcnQzZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoYXJ0LTNkL2NoYXJ0M2QvY2hhcnQzZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVNoRCxNQUFNLE9BQU8sZ0JBQWdCO0lBZ0IzQixZQUNVLFdBQXVCLEVBQ3ZCLGFBQWlDO1FBRGpDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQVJuQyxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBSWhCLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFLbkIsQ0FBQztJQUVKLElBQWEsTUFBTSxDQUFDLE1BQXNCO1FBQ3hDLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUN0QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTTtR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QztnQkFDakQsQ0FBQztnQkFFRCxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDZCxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLENBQUM7Z0JBRUQsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ2QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakQsQ0FBQztnQkFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUUxRCxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENB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LEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5QixNQUFNLENBQUMsR0FBRyxFQUFFO2FBQ1QsV0FBVyxFQUFFO2FBQ2IsTUFBTSxDQUFDO1lBQ04sQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJO2dCQUM3QixDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRztTQUMxQixDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxQixJQUFJLEVBQUUsQ0FBQztRQUVWLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBbFZVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDJNQzFCN0IsNkJBQ0E7OzJGRHlCYSxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0ksY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUk7Z0hBR0csU0FBUztzQkFBN0IsU0FBUzt1QkFBQyxRQUFRO2dCQW9CTixNQUFNO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgT3JiaXRDb250cm9scyB9IGZyb20gJ3RocmVlL2V4YW1wbGVzL2pzbS9jb250cm9scy9PcmJpdENvbnRyb2xzJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7IENoYXJ0M2RPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWwvY2hhcnQtM2Qtb3B0aW9ucyc7XG5pbXBvcnQgeyBCYXNlM2RQb2ludCB9IGZyb20gJy4uL21vZGVsL2Jhc2UtM2QtcG9pbnQnO1xuaW1wb3J0IHsgU2VyaWVzM2QgfSBmcm9tICcuLi9tb2RlbC9zZXJpZXMtM2QnO1xuaW1wb3J0IHsgVGhlbWVTd2l0Y2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGhlbWUtc3dpdGNoL3RoZW1lLXN3aXRjaC5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2VXaGlsZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RldGEtY2hhcnQzZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0M2QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NoYXJ0M2QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydDNkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjYW52YXMnKSBjYW52YXNSZWY6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBfc2NlbmU6IFRIUkVFLlNjZW5lO1xuICBwcml2YXRlIF9jYW1lcmE6IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhO1xuICBwcml2YXRlIF9yZW5kZXJlcjogVEhSRUUuUmVuZGVyZXI7XG4gIHByaXZhdGUgX2NvbnRyb2xzOiBPcmJpdENvbnRyb2xzO1xuICBwcml2YXRlIF9vYnM6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIF9jb25maWc6IENoYXJ0M2RPcHRpb25zO1xuXG4gIHByaXZhdGUgU0lERV9TSVpFID0gMTAwO1xuICBwcml2YXRlIGdyaWRDb2xvcjogYW55O1xuICBwcml2YXRlIGF4ZXNDb2xvcjogYW55O1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX3RoZW1lU2VydmljZTogVGhlbWVTd2l0Y2hTZXJ2aWNlXG4gICkge31cblxuICBASW5wdXQoKSBzZXQgY29uZmlnKGNvbmZpZzogQ2hhcnQzZE9wdGlvbnMpIHtcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgICB0aGlzLmluaXQoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBwcml2YXRlIGdldCBjYW52YXMoKTogSFRNTENhbnZhc0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmNhbnZhc1JlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnRoZW1lXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKF8gPT4gdGhpcy5fYWxpdmUpLFxuICAgICAgICB0YXAoXyA9PiB7XG4gICAgICAgICAgdGhpcy5ncmlkQ29sb3IgPSBfID8gJyM1ZDZhNzMnIDogJyNiZGJkYzYnO1xuICAgICAgICAgIHRoaXMuYXhlc0NvbG9yID0gXyA/ICcjOGU4ZjlkJyA6ICcjN2Q4ZjlhJztcbiAgICAgICAgICB0aGlzLmluaXQoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmFkZFJlc2l6ZU9ic2VydmVyKCk7XG4gICAgdGhpcy5jcmVhdGVTY2VuZSgpO1xuICAgIHRoaXMuc3RhcnRSZW5kZXJpbmdMb29wKCk7XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICAgIHRoaXMucmVtb3ZlUmVzaXplT2JzZXJ2ZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX3NjZW5lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2hpbGUgKHRoaXMuX3NjZW5lLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3NjZW5lLnJlbW92ZSh0aGlzLl9zY2VuZS5jaGlsZHJlblswXSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyB4LCB5LCB6IH0gPSB0aGlzLmdldFNjYWxlcyh0aGlzLl9jb25maWcuc2VyaWVzKTtcblxuICAgIHRoaXMuY29uZmlnLnNlcmllcy5mb3JFYWNoKChkYXRhLCBpZHgpID0+IHtcbiAgICAgIGlmICghZGF0YS5wb2ludHM/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBvaW50cyA9IGRhdGEucG9pbnRzLm1hcChcbiAgICAgICAgXyA9PiBuZXcgVEhSRUUuVmVjdG9yMyh4KF8ueCksIHkoXy55KSwgeihfLnopKVxuICAgICAgKTtcblxuICAgICAgY29uc3QgY29sb3IgPSBkMy5zY2FsZU9yZGluYWwoZDMuc2NoZW1lVGFibGVhdTEwKTtcblxuICAgICAgY29uc3QgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuTGluZUJhc2ljTWF0ZXJpYWwoe1xuICAgICAgICBjb2xvcjogZGF0YT8uY29sb3IgPz8gY29sb3IoaWR4LnRvU3RyaW5nKCkpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHR1YmVHZW9tZXRyeSA9IG5ldyBUSFJFRS5UdWJlR2VvbWV0cnkoXG4gICAgICAgIG5ldyBUSFJFRS5DYXRtdWxsUm9tQ3VydmUzKHBvaW50cyksXG4gICAgICAgIDEwMjQsXG4gICAgICAgIDAuNSxcbiAgICAgICAgMjAsXG4gICAgICAgIGZhbHNlXG4gICAgICApO1xuXG4gICAgICBsZXQgdHViZSA9IG5ldyBUSFJFRS5MaW5lKHR1YmVHZW9tZXRyeSwgbWF0ZXJpYWwpO1xuICAgICAgdGhpcy5fc2NlbmUuYWRkKHR1YmUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY2lyY2xlcyA9IHgudGlja3ModGhpcy5TSURFX1NJWkUgLyAxMCk7XG5cbiAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5MaW5lQmFzaWNNYXRlcmlhbCh7IGNvbG9yOiB0aGlzLmF4ZXNDb2xvciB9KTtcbiAgICBjb25zdCBwb2ludHNMaW5lcyA9IFtdO1xuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoMCwgMCwgMCkpO1xuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoMCwgMCwgeigtei5kb21haW4oKVsxXSkpKTtcblxuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoMCwgMCwgMCkpO1xuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoeCgteC5kb21haW4oKVsxXSksIDAsIDApKTtcblxuICAgIGNvbnN0IGdlb21ldHJ5TGluZXMgPSBuZXcgVEhSRUUuQnVmZmVyR2VvbWV0cnkoKS5zZXRGcm9tUG9pbnRzKHBvaW50c0xpbmVzKTtcbiAgICBjb25zdCBsaW5lID0gbmV3IFRIUkVFLkxpbmUoZ2VvbWV0cnlMaW5lcywgbWF0ZXJpYWwpO1xuXG4gICAgdGhpcy5fc2NlbmUuYWRkKGxpbmUpO1xuXG4gICAgY2lyY2xlcy5mb3JFYWNoKHIgPT4ge1xuICAgICAgY29uc3QgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuTGluZURhc2hlZE1hdGVyaWFsKHtcbiAgICAgICAgY29sb3I6IHRoaXMuZ3JpZENvbG9yLFxuICAgICAgICBkYXNoU2l6ZTogMSxcbiAgICAgICAgZ2FwU2l6ZTogMyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaXJjbGVHZW9tZXRyeSA9IG5ldyBUSFJFRS5CdWZmZXJHZW9tZXRyeSgpLnNldEZyb21Qb2ludHMoXG4gICAgICAgIG5ldyBUSFJFRS5QYXRoKClcbiAgICAgICAgICAuYWJzYXJjKDAsIDAsIHgociksIDAsIE1hdGguUEkgKiAyLCBmYWxzZSlcbiAgICAgICAgICAuZ2V0U3BhY2VkUG9pbnRzKDEwMClcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNpcmNsZSA9IG5ldyBUSFJFRS5MaW5lU2VnbWVudHMoY2lyY2xlR2VvbWV0cnksIG1hdGVyaWFsKTtcblxuICAgICAgY2lyY2xlLmdlb21ldHJ5LnJvdGF0ZVgoLU1hdGguUEkgLyAyKTtcblxuICAgICAgdGhpcy5fc2NlbmUuYWRkKGNpcmNsZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRyYXdUaWNrcyh4LCB5LCB6KTtcblxuICAgIGlmICghdGhpcy5fY29udHJvbHMpIHtcbiAgICAgIHRoaXMuX2NvbnRyb2xzID0gbmV3IE9yYml0Q29udHJvbHMoXG4gICAgICAgIHRoaXMuX2NhbWVyYSxcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuZG9tRWxlbWVudFxuICAgICAgKTtcblxuICAgICAgdGhpcy5fY29udHJvbHMuZW5hYmxlRGFtcGluZyA9IHRydWU7XG4gICAgICB0aGlzLl9jb250cm9scy5lbmFibGVQYW4gPSB0cnVlO1xuICAgICAgdGhpcy5fY29udHJvbHMuZGFtcGluZ0ZhY3RvciA9IDAuMjU7XG4gICAgICB0aGlzLl9jb250cm9scy5zY3JlZW5TcGFjZVBhbm5pbmcgPSB0cnVlO1xuICAgICAgdGhpcy5fY29udHJvbHMubWluRGlzdGFuY2UgPSAwO1xuICAgICAgdGhpcy5fY29udHJvbHMubWF4RGlzdGFuY2UgPSAxMDAwMDtcbiAgICAgIHRoaXMuX2NvbnRyb2xzLm1heFBvbGFyQW5nbGUgPSBNYXRoLlBJIC8gMjtcblxuICAgICAgdGhpcy5fY29udHJvbHMuZW5hYmxlWm9vbSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTY2VuZSgpIHtcbiAgICB0aGlzLl9zY2VuZSA9IG5ldyBUSFJFRS5TY2VuZSgpO1xuXG4gICAgY29uc3QgYXNwZWN0UmF0aW8gPVxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC9cbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICBjb25zdCBmaWVsZE9mVmlldyA9IDEwO1xuICAgIGNvbnN0IG5lYXJDbGlwcGluZ1BhbmUgPSAxO1xuICAgIGNvbnN0IGZhckNsaXBwaW5nUGFuZSA9IDEwMDAwO1xuXG4gICAgdGhpcy5fY2FtZXJhID0gbmV3IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhKFxuICAgICAgZmllbGRPZlZpZXcsXG4gICAgICBhc3BlY3RSYXRpbyxcbiAgICAgIG5lYXJDbGlwcGluZ1BhbmUsXG4gICAgICBmYXJDbGlwcGluZ1BhbmVcbiAgICApO1xuXG4gICAgdGhpcy5fY2FtZXJhLnBvc2l0aW9uLnNldCgxMzAwLCAxMzAwLCAxMzAwKS5zZXRMZW5ndGgoMTMwMCk7XG4gICAgdGhpcy5fc2NlbmUuYWRkKHRoaXMuX2NhbWVyYSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNpemUod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcbiAgICB0aGlzLl9jYW1lcmEuYXNwZWN0ID0gd2lkdGggLyBoZWlnaHQ7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KTtcblxuICAgIHRoaXMuX2NhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcigpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW5kZXIodGhpcy5fc2NlbmUsIHRoaXMuX2NhbWVyYSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UmVuZGVyaW5nTG9vcCgpIHtcbiAgICB0aGlzLl9yZW5kZXJlciA9IG5ldyBUSFJFRS5XZWJHTFJlbmRlcmVyKHtcbiAgICAgIGFudGlhbGlhczogdHJ1ZSxcbiAgICAgIGNhbnZhczogdGhpcy5jYW52YXMsXG4gICAgICBhbHBoYTogdHJ1ZSxcbiAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFuaW1hdGUgPSAoKSA9PiB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYW5pbWF0ZSk7XG4gICAgICB0aGlzLl9jb250cm9scz8udXBkYXRlKCk7XG4gICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH07XG5cbiAgICBhbmltYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZFJlc2l6ZU9ic2VydmVyKCkge1xuICAgIHRoaXMuX29icyA9IG5ldyBSZXNpemVPYnNlcnZlcihfID0+IHtcbiAgICAgIHRoaXMuc2V0U2l6ZShfWzBdPy5jb250ZW50UmVjdC53aWR0aCwgX1swXT8uY29udGVudFJlY3QuaGVpZ2h0KTtcbiAgICB9KTtcblxuICAgIHRoaXMuX29icy5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVJlc2l6ZU9ic2VydmVyKCkge1xuICAgIHRoaXMuX29icy51bm9ic2VydmUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLl9vYnMuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYWtlU3ByaXRlKHRleHQ6IHN0cmluZywgb3B0cz86IHsgZm9udFNpemU/OiBudW1iZXIgfSk6IFRIUkVFLlNwcml0ZSB7XG4gICAgY29uc3QgZm9udFNpemUgPSAyMDtcblxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgIGNvbnN0IHRleHRXaWR0aCA9IHRleHQubGVuZ3RoICogNTA7XG4gICAgY2FudmFzLmhlaWdodCA9IDUwO1xuICAgIGNhbnZhcy53aWR0aCA9IDUwO1xuXG4gICAgaWYgKGN0eCkge1xuICAgICAgY3R4LmZvbnQgPSBgJHtmb250U2l6ZX1weCBBcmlhbGA7XG4gICAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XG4gICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7XG4gICAgICBjdHguZmlsbFN0eWxlID0gJyNBMEEwQTAnO1xuICAgICAgY3R4LmZpbGxUZXh0KHRleHQsIDI1LCAyNSk7XG4gICAgfVxuXG4gICAgY29uc3QgdGV4dHVyZSA9IG5ldyBUSFJFRS5UZXh0dXJlKGNhbnZhcyk7XG4gICAgdGV4dHVyZS5taW5GaWx0ZXIgPSBUSFJFRS5MaW5lYXJGaWx0ZXI7XG4gICAgdGV4dHVyZS5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgY29uc3Qgc3ByaXRlTWF0ZXJpYWwgPSBuZXcgVEhSRUUuU3ByaXRlTWF0ZXJpYWwoe1xuICAgICAgbWFwOiB0ZXh0dXJlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3ByaXRlID0gbmV3IFRIUkVFLlNwcml0ZShzcHJpdGVNYXRlcmlhbCk7XG4gICAgc3ByaXRlLnNjYWxlLnNldCgwLjQgKiBmb250U2l6ZSwgMC40ICogZm9udFNpemUsIDAuNCAqIGZvbnRTaXplKTtcblxuICAgIHJldHVybiBzcHJpdGU7XG4gIH1cblxuICBwcml2YXRlIGRyYXdUaWNrcyh4OiBhbnksIHk6IGFueSwgejogYW55KSB7XG4gICAgY29uc3QgdGlja3MgPSBuZXcgVEhSRUUuT2JqZWN0M0QoKTtcbiAgICBjb25zdCBzY2FsZXNFeHRyZW1zOiBhbnlbXSA9IFtdO1xuXG4gICAgW3gsIHksIHpdLmZvckVhY2goKHNjYWxlLCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IGdlbmVyYXRlZFRpY2tzID0gc2NhbGUudGlja3ModGhpcy5TSURFX1NJWkUgLyAxMCk7XG5cbiAgICAgIHNjYWxlc0V4dHJlbXMucHVzaChkMy5tYXgoZ2VuZXJhdGVkVGlja3MpKTtcblxuICAgICAgZ2VuZXJhdGVkVGlja3MuZm9yRWFjaCgoXzogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHNwcml0ZSA9IHRoaXMubWFrZVNwcml0ZShfKTtcblxuICAgICAgICBpZiAoaWR4ID09PSAwKSB7XG4gICAgICAgICAgc3ByaXRlLnBvc2l0aW9uLnNldCh4KF8pLCB5KHkuZG9tYWluKClbMV0pLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZHggPT09IDEpIHtcbiAgICAgICAgICBzcHJpdGUucG9zaXRpb24uc2V0KC0xMCwgeShfKSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWR4ID09PSAyKSB7XG4gICAgICAgICAgc3ByaXRlLnBvc2l0aW9uLnNldCgwLCB5KHkuZG9tYWluKClbMV0pLCB6KF8pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRpY2tzLmFkZChzcHJpdGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBub3J0aExhYmVsID0gdGhpcy5tYWtlU3ByaXRlKCdYJywgeyBmb250U2l6ZTogMjggfSk7XG4gICAgY29uc3Qgd2VzdExhYmVsID0gdGhpcy5tYWtlU3ByaXRlKCdZJywgeyBmb250U2l6ZTogMjggfSk7XG4gICAgY29uc3QgdHZkTGFiZWwgPSB0aGlzLm1ha2VTcHJpdGUoJ1RWRCcsIHsgZm9udFNpemU6IDI4IH0pO1xuXG4gICAgbm9ydGhMYWJlbC5wb3NpdGlvbi5zZXQoeCh4LmRvbWFpbigpWzFdKSArIDUsIDAsIDApO1xuICAgIHdlc3RMYWJlbC5wb3NpdGlvbi5zZXQoMCwgMCwgeSh5LmRvbWFpbigpWzBdKSArIDUpO1xuICAgIHR2ZExhYmVsLnBvc2l0aW9uLnNldCgwLCB6KHouZG9tYWluKClbMV0pICsgNSwgMCk7XG5cbiAgICB0aWNrcy5hZGQobm9ydGhMYWJlbCwgd2VzdExhYmVsLCB0dmRMYWJlbCk7XG5cbiAgICBjb25zdCBheGVzSGVscGVyID0gbmV3IFRIUkVFLkF4ZXNIZWxwZXIodGhpcy5TSURFX1NJWkUpO1xuICAgIGF4ZXNIZWxwZXIuc2V0Q29sb3JzKHRoaXMuYXhlc0NvbG9yLCB0aGlzLmF4ZXNDb2xvciwgdGhpcy5heGVzQ29sb3IpO1xuXG4gICAgdGhpcy5fc2NlbmUuYWRkKGF4ZXNIZWxwZXIpO1xuXG4gICAgdGhpcy5fc2NlbmUuYWRkKHRpY2tzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2NhbGVzKHNlcmllczogU2VyaWVzM2Q8QmFzZTNkUG9pbnQ+W10pIHtcbiAgICBjb25zdCBleHRyZW1zID0gc2VyaWVzLm1hcChfID0+ICh7XG4gICAgICB4OiBkMy5leHRlbnQoXy5wb2ludHMsIChwOiBhbnkpID0+IHAueCksXG4gICAgICB5OiBkMy5leHRlbnQoXy5wb2ludHMsIChwOiBhbnkpID0+IHAueSksXG4gICAgICB6OiBkMy5leHRlbnQoXy5wb2ludHMsIChwOiBhbnkpID0+IHAueiksXG4gICAgfSkpO1xuXG4gICAgY29uc3QgZmxhdHRlbkV4dHJlbXMgPSBleHRyZW1zLnJlZHVjZShcbiAgICAgIChhY2M6IGFueSwgXyk6IHsgeDogW251bWJlcl07IHk6IFtudW1iZXJdOyB6OiBbbnVtYmVyXSB9ID0+IHtcbiAgICAgICAgYWNjLnggPSBhY2MueC5jb25jYXQoXy54KTtcbiAgICAgICAgYWNjLnkgPSBhY2MueS5jb25jYXQoXy55KTtcbiAgICAgICAgYWNjLnogPSBhY2Muei5jb25jYXQoXy56KTtcbiAgICAgICAgcmV0dXJuIGFjYyBhcyBhbnk7XG4gICAgICB9LFxuICAgICAgeyB4OiBbXSwgeTogW10sIHo6IFtdIH1cbiAgICApO1xuXG4gICAgY29uc3QgeCA9IGQzXG4gICAgICAuc2NhbGVMaW5lYXIoKVxuICAgICAgLmRvbWFpbihbXG4gICAgICAgIDAsXG4gICAgICAgIHRoaXMuX2NvbmZpZz8uYXhlcz8ubWF4ID09IG51bGxcbiAgICAgICAgICA/IHBhcnNlSW50KGQzLm1heChmbGF0dGVuRXh0cmVtcy54KSlcbiAgICAgICAgICA6IHRoaXMuX2NvbmZpZy5heGVzLm1heCxcbiAgICAgIF0pXG4gICAgICAucmFuZ2UoWzAsIHRoaXMuU0lERV9TSVpFXSlcbiAgICAgIC5uaWNlKCk7XG5cbiAgICBjb25zdCB5ID0gZDNcbiAgICAgIC5zY2FsZUxpbmVhcigpXG4gICAgICAuZG9tYWluKFswLCBwYXJzZUludChkMy5tYXgoZmxhdHRlbkV4dHJlbXMueSksIDEwKV0pXG4gICAgICAucmFuZ2UoW3RoaXMuU0lERV9TSVpFLCAwXSk7XG5cbiAgICBjb25zdCB6ID0gZDNcbiAgICAgIC5zY2FsZUxpbmVhcigpXG4gICAgICAuZG9tYWluKFtcbiAgICAgICAgMCxcbiAgICAgICAgdGhpcy5fY29uZmlnPy5heGVzPy5tYXggPT0gbnVsbFxuICAgICAgICAgID8gcGFyc2VJbnQoZDMubWF4KGZsYXR0ZW5FeHRyZW1zLnopKVxuICAgICAgICAgIDogdGhpcy5fY29uZmlnLmF4ZXMubWF4LFxuICAgICAgXSlcbiAgICAgIC5yYW5nZShbMCwgdGhpcy5TSURFX1NJWkVdKVxuICAgICAgLm5pY2UoKTtcblxuICAgIHJldHVybiB7IHgsIHksIHogfTtcbiAgfVxufVxuIiwiPGNhbnZhcyAjY2FudmFzPjwvY2FudmFzPlxuIl19
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQzZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoYXJ0LTNkL2NoYXJ0M2QvY2hhcnQzZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2NoYXJ0LTNkL2NoYXJ0M2QvY2hhcnQzZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFHekQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sY0FBYyxDQUFDOzs7QUFTM0MsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFDVSxXQUF1QixFQUN2QixhQUFpQztRQURqQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBb0I7UUFSbkMsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQUloQixXQUFNLEdBQUcsSUFBSSxDQUFDO0lBTXRCLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxNQUFzQjtRQUN4QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLE1BQU07UUFD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QUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUIsTUFBTSxDQUFDLEdBQUcsRUFBRTthQUNULFdBQVcsRUFBRTthQUNiLE1BQU0sQ0FBQztZQUNOLENBQUM7WUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksSUFBSTtnQkFDN0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUc7U0FDMUIsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDMUIsSUFBSSxFQUFFLENBQUM7UUFFVixPQUFPLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztJQUNuQixDQUFDOzhHQW5WVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiwyTUMxQjdCLDZCQUNBOzsyRkR5QmEsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJO2dIQUdLLFNBQVM7c0JBQTdCLFNBQVM7dUJBQUMsUUFBUTtnQkFxQk4sTUFBTTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcbmltcG9ydCB7Q2hhcnQzZE9wdGlvbnN9IGZyb20gJy4uL21vZGVsL2NoYXJ0LTNkLW9wdGlvbnMnO1xuaW1wb3J0IHtCYXNlM2RQb2ludH0gZnJvbSAnLi4vbW9kZWwvYmFzZS0zZC1wb2ludCc7XG5pbXBvcnQge1NlcmllczNkfSBmcm9tICcuLi9tb2RlbC9zZXJpZXMtM2QnO1xuaW1wb3J0IHtUaGVtZVN3aXRjaFNlcnZpY2V9IGZyb20gJy4uLy4uL3RoZW1lLXN3aXRjaC90aGVtZS1zd2l0Y2guc2VydmljZSc7XG5pbXBvcnQge3Rha2VXaGlsZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09yYml0Q29udHJvbHN9IGZyb20gXCJ0aHJlZS1zdGRsaWJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1jaGFydDNkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYXJ0M2QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jaGFydDNkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydDNkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjYW52YXMnKSBjYW52YXNSZWY6IEVsZW1lbnRSZWY7XG5cbiAgcHJpdmF0ZSBfc2NlbmU6IFRIUkVFLlNjZW5lO1xuICBwcml2YXRlIF9jYW1lcmE6IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhO1xuICBwcml2YXRlIF9yZW5kZXJlcjogVEhSRUUuUmVuZGVyZXI7XG4gIHByaXZhdGUgX2NvbnRyb2xzOiBPcmJpdENvbnRyb2xzO1xuICBwcml2YXRlIF9vYnM6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIF9jb25maWc6IENoYXJ0M2RPcHRpb25zO1xuXG4gIHByaXZhdGUgU0lERV9TSVpFID0gMTAwO1xuICBwcml2YXRlIGdyaWRDb2xvcjogYW55O1xuICBwcml2YXRlIGF4ZXNDb2xvcjogYW55O1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX3RoZW1lU2VydmljZTogVGhlbWVTd2l0Y2hTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGNvbmZpZyhjb25maWc6IENoYXJ0M2RPcHRpb25zKSB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5fY29uZmlnID0gY29uZmlnO1xuICAgICAgdGhpcy5pbml0KCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY2FudmFzKCk6IEhUTUxDYW52YXNFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5jYW52YXNSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3RoZW1lU2VydmljZS50aGVtZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZShfID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgICAgdGFwKF8gPT4ge1xuICAgICAgICAgIHRoaXMuZ3JpZENvbG9yID0gXyA/ICcjNWQ2YTczJyA6ICcjYmRiZGM2JztcbiAgICAgICAgICB0aGlzLmF4ZXNDb2xvciA9IF8gPyAnIzhlOGY5ZCcgOiAnIzdkOGY5YSc7XG4gICAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hZGRSZXNpemVPYnNlcnZlcigpO1xuICAgIHRoaXMuY3JlYXRlU2NlbmUoKTtcbiAgICB0aGlzLnN0YXJ0UmVuZGVyaW5nTG9vcCgpO1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnJlbW92ZVJlc2l6ZU9ic2VydmVyKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgaWYgKCF0aGlzLl9zY2VuZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdoaWxlICh0aGlzLl9zY2VuZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLl9zY2VuZS5yZW1vdmUodGhpcy5fc2NlbmUuY2hpbGRyZW5bMF0pO1xuICAgIH1cblxuICAgIGNvbnN0IHt4LCB5LCB6fSA9IHRoaXMuZ2V0U2NhbGVzKHRoaXMuX2NvbmZpZy5zZXJpZXMpO1xuXG4gICAgdGhpcy5jb25maWcuc2VyaWVzLmZvckVhY2goKGRhdGEsIGlkeCkgPT4ge1xuICAgICAgaWYgKCFkYXRhLnBvaW50cz8ubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcG9pbnRzID0gZGF0YS5wb2ludHMubWFwKFxuICAgICAgICBfID0+IG5ldyBUSFJFRS5WZWN0b3IzKHgoXy54KSwgeShfLnkpLCB6KF8ueikpXG4gICAgICApO1xuXG4gICAgICBjb25zdCBjb2xvciA9IGQzLnNjYWxlT3JkaW5hbChkMy5zY2hlbWVUYWJsZWF1MTApO1xuXG4gICAgICBjb25zdCBtYXRlcmlhbCA9IG5ldyBUSFJFRS5MaW5lQmFzaWNNYXRlcmlhbCh7XG4gICAgICAgIGNvbG9yOiBkYXRhPy5jb2xvciA/PyBjb2xvcihpZHgudG9TdHJpbmcoKSksXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgdHViZUdlb21ldHJ5ID0gbmV3IFRIUkVFLlR1YmVHZW9tZXRyeShcbiAgICAgICAgbmV3IFRIUkVFLkNhdG11bGxSb21DdXJ2ZTMocG9pbnRzKSxcbiAgICAgICAgMTAyNCxcbiAgICAgICAgMC41LFxuICAgICAgICAyMCxcbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG5cbiAgICAgIGxldCB0dWJlID0gbmV3IFRIUkVFLkxpbmUodHViZUdlb21ldHJ5LCBtYXRlcmlhbCk7XG4gICAgICB0aGlzLl9zY2VuZS5hZGQodHViZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBjaXJjbGVzID0geC50aWNrcyh0aGlzLlNJREVfU0laRSAvIDEwKTtcblxuICAgIGNvbnN0IG1hdGVyaWFsID0gbmV3IFRIUkVFLkxpbmVCYXNpY01hdGVyaWFsKHtjb2xvcjogdGhpcy5heGVzQ29sb3J9KTtcbiAgICBjb25zdCBwb2ludHNMaW5lcyA9IFtdO1xuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoMCwgMCwgMCkpO1xuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoMCwgMCwgeigtei5kb21haW4oKVsxXSkpKTtcblxuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoMCwgMCwgMCkpO1xuICAgIHBvaW50c0xpbmVzLnB1c2gobmV3IFRIUkVFLlZlY3RvcjMoeCgteC5kb21haW4oKVsxXSksIDAsIDApKTtcblxuICAgIGNvbnN0IGdlb21ldHJ5TGluZXMgPSBuZXcgVEhSRUUuQnVmZmVyR2VvbWV0cnkoKS5zZXRGcm9tUG9pbnRzKHBvaW50c0xpbmVzKTtcbiAgICBjb25zdCBsaW5lID0gbmV3IFRIUkVFLkxpbmUoZ2VvbWV0cnlMaW5lcywgbWF0ZXJpYWwpO1xuXG4gICAgdGhpcy5fc2NlbmUuYWRkKGxpbmUpO1xuXG4gICAgY2lyY2xlcy5mb3JFYWNoKHIgPT4ge1xuICAgICAgY29uc3QgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuTGluZURhc2hlZE1hdGVyaWFsKHtcbiAgICAgICAgY29sb3I6IHRoaXMuZ3JpZENvbG9yLFxuICAgICAgICBkYXNoU2l6ZTogMSxcbiAgICAgICAgZ2FwU2l6ZTogMyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBjaXJjbGVHZW9tZXRyeSA9IG5ldyBUSFJFRS5CdWZmZXJHZW9tZXRyeSgpLnNldEZyb21Qb2ludHMoXG4gICAgICAgIG5ldyBUSFJFRS5QYXRoKClcbiAgICAgICAgICAuYWJzYXJjKDAsIDAsIHgociksIDAsIE1hdGguUEkgKiAyLCBmYWxzZSlcbiAgICAgICAgICAuZ2V0U3BhY2VkUG9pbnRzKDEwMClcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNpcmNsZSA9IG5ldyBUSFJFRS5MaW5lU2VnbWVudHMoY2lyY2xlR2VvbWV0cnksIG1hdGVyaWFsKTtcblxuICAgICAgY2lyY2xlLmdlb21ldHJ5LnJvdGF0ZVgoLU1hdGguUEkgLyAyKTtcblxuICAgICAgdGhpcy5fc2NlbmUuYWRkKGNpcmNsZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRyYXdUaWNrcyh4LCB5LCB6KTtcblxuICAgIGlmICghdGhpcy5fY29udHJvbHMpIHtcbiAgICAgIHRoaXMuX2NvbnRyb2xzID0gbmV3IE9yYml0Q29udHJvbHMoXG4gICAgICAgIHRoaXMuX2NhbWVyYSxcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuZG9tRWxlbWVudFxuICAgICAgKTtcblxuICAgICAgdGhpcy5fY29udHJvbHMuZW5hYmxlRGFtcGluZyA9IHRydWU7XG4gICAgICB0aGlzLl9jb250cm9scy5lbmFibGVQYW4gPSB0cnVlO1xuICAgICAgdGhpcy5fY29udHJvbHMuZGFtcGluZ0ZhY3RvciA9IDAuMjU7XG4gICAgICB0aGlzLl9jb250cm9scy5zY3JlZW5TcGFjZVBhbm5pbmcgPSB0cnVlO1xuICAgICAgdGhpcy5fY29udHJvbHMubWluRGlzdGFuY2UgPSAwO1xuICAgICAgdGhpcy5fY29udHJvbHMubWF4RGlzdGFuY2UgPSAxMDAwMDtcbiAgICAgIHRoaXMuX2NvbnRyb2xzLm1heFBvbGFyQW5nbGUgPSBNYXRoLlBJIC8gMjtcblxuICAgICAgdGhpcy5fY29udHJvbHMuZW5hYmxlWm9vbSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTY2VuZSgpIHtcbiAgICB0aGlzLl9zY2VuZSA9IG5ldyBUSFJFRS5TY2VuZSgpO1xuXG4gICAgY29uc3QgYXNwZWN0UmF0aW8gPVxuICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIC9cbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICBjb25zdCBmaWVsZE9mVmlldyA9IDEwO1xuICAgIGNvbnN0IG5lYXJDbGlwcGluZ1BhbmUgPSAxO1xuICAgIGNvbnN0IGZhckNsaXBwaW5nUGFuZSA9IDEwMDAwO1xuXG4gICAgdGhpcy5fY2FtZXJhID0gbmV3IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhKFxuICAgICAgZmllbGRPZlZpZXcsXG4gICAgICBhc3BlY3RSYXRpbyxcbiAgICAgIG5lYXJDbGlwcGluZ1BhbmUsXG4gICAgICBmYXJDbGlwcGluZ1BhbmVcbiAgICApO1xuXG4gICAgdGhpcy5fY2FtZXJhLnBvc2l0aW9uLnNldCgxMzAwLCAxMzAwLCAxMzAwKS5zZXRMZW5ndGgoMTMwMCk7XG4gICAgdGhpcy5fc2NlbmUuYWRkKHRoaXMuX2NhbWVyYSk7XG4gIH1cblxuICBwcml2YXRlIHNldFNpemUod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcbiAgICB0aGlzLl9jYW1lcmEuYXNwZWN0ID0gd2lkdGggLyBoZWlnaHQ7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U2l6ZSh3aWR0aCwgaGVpZ2h0KTtcblxuICAgIHRoaXMuX2NhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlcigpIHtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW5kZXIodGhpcy5fc2NlbmUsIHRoaXMuX2NhbWVyYSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UmVuZGVyaW5nTG9vcCgpIHtcbiAgICB0aGlzLl9yZW5kZXJlciA9IG5ldyBUSFJFRS5XZWJHTFJlbmRlcmVyKHtcbiAgICAgIGFudGlhbGlhczogdHJ1ZSxcbiAgICAgIGNhbnZhczogdGhpcy5jYW52YXMsXG4gICAgICBhbHBoYTogdHJ1ZSxcbiAgICAgIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGFuaW1hdGUgPSAoKSA9PiB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYW5pbWF0ZSk7XG4gICAgICB0aGlzLl9jb250cm9scz8udXBkYXRlKCk7XG4gICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH07XG5cbiAgICBhbmltYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZFJlc2l6ZU9ic2VydmVyKCkge1xuICAgIHRoaXMuX29icyA9IG5ldyBSZXNpemVPYnNlcnZlcihfID0+IHtcbiAgICAgIHRoaXMuc2V0U2l6ZShfWzBdPy5jb250ZW50UmVjdC53aWR0aCwgX1swXT8uY29udGVudFJlY3QuaGVpZ2h0KTtcbiAgICB9KTtcblxuICAgIHRoaXMuX29icy5vYnNlcnZlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVJlc2l6ZU9ic2VydmVyKCkge1xuICAgIHRoaXMuX29icy51bm9ic2VydmUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLl9vYnMuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYWtlU3ByaXRlKHRleHQ6IHN0cmluZywgb3B0cz86IHsgZm9udFNpemU/OiBudW1iZXIgfSk6IFRIUkVFLlNwcml0ZSB7XG4gICAgY29uc3QgZm9udFNpemUgPSAyMDtcblxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgIGNvbnN0IHRleHRXaWR0aCA9IHRleHQubGVuZ3RoICogNTA7XG4gICAgY2FudmFzLmhlaWdodCA9IDUwO1xuICAgIGNhbnZhcy53aWR0aCA9IDUwO1xuXG4gICAgaWYgKGN0eCkge1xuICAgICAgY3R4LmZvbnQgPSBgJHtmb250U2l6ZX1weCBBcmlhbGA7XG4gICAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XG4gICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ21pZGRsZSc7XG4gICAgICBjdHguZmlsbFN0eWxlID0gJyNBMEEwQTAnO1xuICAgICAgY3R4LmZpbGxUZXh0KHRleHQsIDI1LCAyNSk7XG4gICAgfVxuXG4gICAgY29uc3QgdGV4dHVyZSA9IG5ldyBUSFJFRS5UZXh0dXJlKGNhbnZhcyk7XG4gICAgdGV4dHVyZS5taW5GaWx0ZXIgPSBUSFJFRS5MaW5lYXJGaWx0ZXI7XG4gICAgdGV4dHVyZS5uZWVkc1VwZGF0ZSA9IHRydWU7XG4gICAgY29uc3Qgc3ByaXRlTWF0ZXJpYWwgPSBuZXcgVEhSRUUuU3ByaXRlTWF0ZXJpYWwoe1xuICAgICAgbWFwOiB0ZXh0dXJlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3ByaXRlID0gbmV3IFRIUkVFLlNwcml0ZShzcHJpdGVNYXRlcmlhbCk7XG4gICAgc3ByaXRlLnNjYWxlLnNldCgwLjQgKiBmb250U2l6ZSwgMC40ICogZm9udFNpemUsIDAuNCAqIGZvbnRTaXplKTtcblxuICAgIHJldHVybiBzcHJpdGU7XG4gIH1cblxuICBwcml2YXRlIGRyYXdUaWNrcyh4OiBhbnksIHk6IGFueSwgejogYW55KSB7XG4gICAgY29uc3QgdGlja3MgPSBuZXcgVEhSRUUuT2JqZWN0M0QoKTtcbiAgICBjb25zdCBzY2FsZXNFeHRyZW1zOiBhbnlbXSA9IFtdO1xuXG4gICAgW3gsIHksIHpdLmZvckVhY2goKHNjYWxlLCBpZHgpID0+IHtcbiAgICAgIGNvbnN0IGdlbmVyYXRlZFRpY2tzID0gc2NhbGUudGlja3ModGhpcy5TSURFX1NJWkUgLyAxMCk7XG5cbiAgICAgIHNjYWxlc0V4dHJlbXMucHVzaChkMy5tYXgoZ2VuZXJhdGVkVGlja3MpKTtcblxuICAgICAgZ2VuZXJhdGVkVGlja3MuZm9yRWFjaCgoXzogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IHNwcml0ZSA9IHRoaXMubWFrZVNwcml0ZShfKTtcblxuICAgICAgICBpZiAoaWR4ID09PSAwKSB7XG4gICAgICAgICAgc3ByaXRlLnBvc2l0aW9uLnNldCh4KF8pLCB5KHkuZG9tYWluKClbMV0pLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZHggPT09IDEpIHtcbiAgICAgICAgICBzcHJpdGUucG9zaXRpb24uc2V0KC0xMCwgeShfKSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaWR4ID09PSAyKSB7XG4gICAgICAgICAgc3ByaXRlLnBvc2l0aW9uLnNldCgwLCB5KHkuZG9tYWluKClbMV0pLCB6KF8pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRpY2tzLmFkZChzcHJpdGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBub3J0aExhYmVsID0gdGhpcy5tYWtlU3ByaXRlKCdYJywge2ZvbnRTaXplOiAyOH0pO1xuICAgIGNvbnN0IHdlc3RMYWJlbCA9IHRoaXMubWFrZVNwcml0ZSgnWScsIHtmb250U2l6ZTogMjh9KTtcbiAgICBjb25zdCB0dmRMYWJlbCA9IHRoaXMubWFrZVNwcml0ZSgnVFZEJywge2ZvbnRTaXplOiAyOH0pO1xuXG4gICAgbm9ydGhMYWJlbC5wb3NpdGlvbi5zZXQoeCh4LmRvbWFpbigpWzFdKSArIDUsIDAsIDApO1xuICAgIHdlc3RMYWJlbC5wb3NpdGlvbi5zZXQoMCwgMCwgeSh5LmRvbWFpbigpWzBdKSArIDUpO1xuICAgIHR2ZExhYmVsLnBvc2l0aW9uLnNldCgwLCB6KHouZG9tYWluKClbMV0pICsgNSwgMCk7XG5cbiAgICB0aWNrcy5hZGQobm9ydGhMYWJlbCwgd2VzdExhYmVsLCB0dmRMYWJlbCk7XG5cbiAgICBjb25zdCBheGVzSGVscGVyID0gbmV3IFRIUkVFLkF4ZXNIZWxwZXIodGhpcy5TSURFX1NJWkUpO1xuICAgIGF4ZXNIZWxwZXIuc2V0Q29sb3JzKHRoaXMuYXhlc0NvbG9yLCB0aGlzLmF4ZXNDb2xvciwgdGhpcy5heGVzQ29sb3IpO1xuXG4gICAgdGhpcy5fc2NlbmUuYWRkKGF4ZXNIZWxwZXIpO1xuXG4gICAgdGhpcy5fc2NlbmUuYWRkKHRpY2tzKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2NhbGVzKHNlcmllczogU2VyaWVzM2Q8QmFzZTNkUG9pbnQ+W10pIHtcbiAgICBjb25zdCBleHRyZW1zID0gc2VyaWVzLm1hcChfID0+ICh7XG4gICAgICB4OiBkMy5leHRlbnQoXy5wb2ludHMsIChwOiBhbnkpID0+IHAueCksXG4gICAgICB5OiBkMy5leHRlbnQoXy5wb2ludHMsIChwOiBhbnkpID0+IHAueSksXG4gICAgICB6OiBkMy5leHRlbnQoXy5wb2ludHMsIChwOiBhbnkpID0+IHAueiksXG4gICAgfSkpO1xuXG4gICAgY29uc3QgZmxhdHRlbkV4dHJlbXMgPSBleHRyZW1zLnJlZHVjZShcbiAgICAgIChhY2M6IGFueSwgXyk6IHsgeDogW251bWJlcl07IHk6IFtudW1iZXJdOyB6OiBbbnVtYmVyXSB9ID0+IHtcbiAgICAgICAgYWNjLnggPSBhY2MueC5jb25jYXQoXy54KTtcbiAgICAgICAgYWNjLnkgPSBhY2MueS5jb25jYXQoXy55KTtcbiAgICAgICAgYWNjLnogPSBhY2Muei5jb25jYXQoXy56KTtcbiAgICAgICAgcmV0dXJuIGFjYyBhcyBhbnk7XG4gICAgICB9LFxuICAgICAge3g6IFtdLCB5OiBbXSwgejogW119XG4gICAgKTtcblxuICAgIGNvbnN0IHggPSBkM1xuICAgICAgLnNjYWxlTGluZWFyKClcbiAgICAgIC5kb21haW4oW1xuICAgICAgICAwLFxuICAgICAgICB0aGlzLl9jb25maWc/LmF4ZXM/Lm1heCA9PSBudWxsXG4gICAgICAgICAgPyBwYXJzZUludChkMy5tYXgoZmxhdHRlbkV4dHJlbXMueCkpXG4gICAgICAgICAgOiB0aGlzLl9jb25maWcuYXhlcy5tYXgsXG4gICAgICBdKVxuICAgICAgLnJhbmdlKFswLCB0aGlzLlNJREVfU0laRV0pXG4gICAgICAubmljZSgpO1xuXG4gICAgY29uc3QgeSA9IGQzXG4gICAgICAuc2NhbGVMaW5lYXIoKVxuICAgICAgLmRvbWFpbihbMCwgcGFyc2VJbnQoZDMubWF4KGZsYXR0ZW5FeHRyZW1zLnkpLCAxMCldKVxuICAgICAgLnJhbmdlKFt0aGlzLlNJREVfU0laRSwgMF0pO1xuXG4gICAgY29uc3QgeiA9IGQzXG4gICAgICAuc2NhbGVMaW5lYXIoKVxuICAgICAgLmRvbWFpbihbXG4gICAgICAgIDAsXG4gICAgICAgIHRoaXMuX2NvbmZpZz8uYXhlcz8ubWF4ID09IG51bGxcbiAgICAgICAgICA/IHBhcnNlSW50KGQzLm1heChmbGF0dGVuRXh0cmVtcy56KSlcbiAgICAgICAgICA6IHRoaXMuX2NvbmZpZy5heGVzLm1heCxcbiAgICAgIF0pXG4gICAgICAucmFuZ2UoWzAsIHRoaXMuU0lERV9TSVpFXSlcbiAgICAgIC5uaWNlKCk7XG5cbiAgICByZXR1cm4ge3gsIHksIHp9O1xuICB9XG59XG4iLCI8Y2FudmFzICNjYW52YXM+PC9jYW52YXM+XG4iXX0=
@@ -7,6 +7,8 @@ export * from './autocomplete/public-api';
7
7
  /* button */
8
8
  export * from './button/public-api';
9
9
  /* checkbox */
10
+ export * from './chart-3d/public-api';
11
+ /* checkbox */
10
12
  export * from './checkbox/public-api';
11
13
  /* datepicker */
12
14
  export * from './date-picker/public-api';
@@ -65,4 +67,4 @@ export * from './chart-3d/public-api';
65
67
  /* Resize panel */
66
68
  export * from './divider/public-api';
67
69
  export * from './resize-panel/public-api';
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlO0FBQ2YsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxrQkFBa0I7QUFDbEIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjO0FBQ2QsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxnQkFBZ0I7QUFDaEIsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxlQUFlO0FBQ2YsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjO0FBQ2QsY0FBYyx1QkFBdUIsQ0FBQztBQUV0Qyx1QkFBdUI7QUFDdkIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxpQkFBaUI7QUFDakIsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxrQkFBa0I7QUFDbEIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxVQUFVO0FBQ1YsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxVQUFVO0FBQ1YsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxhQUFhO0FBQ2IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxrQkFBa0I7QUFDbEIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxtQkFBbUI7QUFDbkIsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxhQUFhO0FBQ2IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxVQUFVO0FBQ1YsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxrQkFBa0I7QUFDbEIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxhQUFhO0FBQ2IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxVQUFVO0FBQ1YsY0FBYyxtQkFBbUIsQ0FBQztBQUdsQyxjQUFjO0FBQ2QsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxrQkFBa0I7QUFDbEIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogYWNjb3JkaW9uICovXG5leHBvcnQgKiBmcm9tICcuL2FjY29yZGlvbi9wdWJsaWMtYXBpJztcblxuLyogYXZhdGFyICovXG5leHBvcnQgKiBmcm9tICcuL2F2YXRhci9wdWJsaWMtYXBpJztcblxuLyogYXV0b2NvbXBsZXRlICovXG5leHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS9wdWJsaWMtYXBpJztcblxuLyogYnV0dG9uICovXG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi9wdWJsaWMtYXBpJztcblxuLyogY2hlY2tib3ggKi9cbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gvcHVibGljLWFwaSc7XG5cbi8qIGRhdGVwaWNrZXIgKi9cbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1waWNrZXIvcHVibGljLWFwaSc7XG5cbi8qIGRlbGltaXRlciAqL1xuZXhwb3J0ICogZnJvbSAnLi9kZWxpbWl0ZXIvcHVibGljLWFwaSc7XG5cbi8qIGRyb3Bkb3duICovXG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duL3B1YmxpYy1hcGknO1xuXG4vKiBkeW5hbWljLWNvbXBvbmVudCAqL1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudC9wdWJsaWMtYXBpJztcblxuLyogZXhwYW5kLWNhcmQgKi9cbmV4cG9ydCAqIGZyb20gJy4vZXhwYW5kLWNhcmQvcHVibGljLWFwaSc7XG5cbi8qIGV4cGFuZC1wYW5lbCAqL1xuZXhwb3J0ICogZnJvbSAnLi9leHBhbmQtcGFuZWwvcHVibGljLWFwaSc7XG5cbi8qIGZpbGUgKi9cbmV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQvcHVibGljLWFwaSc7XG5cbi8qIGZpbHRlciAqL1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIvcHVibGljLWFwaSc7XG5cbi8qIGljb24gKi9cbmV4cG9ydCAqIGZyb20gJy4vaWNvbi9wdWJsaWMtYXBpJztcblxuLyogaW5wdXQgKi9cbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQvcHVibGljLWFwaSc7XG5cbi8qIG1lc3NhZ2UgKi9cbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS9wdWJsaWMtYXBpJztcblxuLyogbW9kYWwgKi9cbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwvcHVibGljLWFwaSc7XG5cbi8qIHBhZ2VyICovXG5leHBvcnQgKiBmcm9tICcuL3BhZ2VyL3B1YmxpYy1hcGknO1xuXG4vKiBwYW5lbCAqL1xuZXhwb3J0ICogZnJvbSAnLi9wYW5lbC9wdWJsaWMtYXBpJztcblxuLyogcHJvZ3Jlc3MtYmFyICovXG5leHBvcnQgKiBmcm9tICcuL3Byb2dyZXNzLWJhci9wdWJsaWMtYXBpJztcblxuLyogcHJvcGVydHktZ3JpZCAqL1xuZXhwb3J0ICogZnJvbSAnLi9wcm9wZXJ0eS1ncmlkL3B1YmxpYy1hcGknO1xuXG4vKiByYWRpbyAqL1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby9wdWJsaWMtYXBpJztcblxuLyogc2VsZWN0ICovXG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC9wdWJsaWMtYXBpJztcblxuLyogc2lkZWJhciAqL1xuZXhwb3J0ICogZnJvbSAnLi9zaWRlYmFyL3B1YmxpYy1hcGknO1xuXG4vKiBzd2l0Y2ggKi9cbmV4cG9ydCAqIGZyb20gJy4vc3dpdGNoL3B1YmxpYy1hcGknO1xuXG4vKiB0YWJsZSAqL1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS9wdWJsaWMtYXBpJztcblxuLyogdGFicyAqL1xuZXhwb3J0ICogZnJvbSAnLi90YWJzL3B1YmxpYy1hcGknO1xuXG4vKiB0aGVtZS1zd2l0Y2ggKi9cbmV4cG9ydCAqIGZyb20gJy4vdGhlbWUtc3dpdGNoL3B1YmxpYy1hcGknO1xuXG4vKiB0b2dnbGUgKi9cbmV4cG9ydCAqIGZyb20gJy4vdG9nZ2xlL3B1YmxpYy1hcGknO1xuXG4vKiB0b29sYmFyICovXG5leHBvcnQgKiBmcm9tICcuL3Rvb2xiYXIvcHVibGljLWFwaSc7XG5cbi8qIHRyZWUgKi9cbmV4cG9ydCAqIGZyb20gJy4vdHJlZS9wdWJsaWMtYXBpJztcblxuXG4vKiAzZC1jaGFydCAqL1xuZXhwb3J0ICogZnJvbSAnLi9jaGFydC0zZC9wdWJsaWMtYXBpJztcblxuLyogUmVzaXplIHBhbmVsICovXG5leHBvcnQgKiBmcm9tICcuL2RpdmlkZXIvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3Jlc2l6ZS1wYW5lbC9wdWJsaWMtYXBpJztcbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlO0FBQ2YsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxrQkFBa0I7QUFDbEIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjO0FBQ2QsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxjQUFjO0FBQ2QsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxnQkFBZ0I7QUFDaEIsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxlQUFlO0FBQ2YsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjO0FBQ2QsY0FBYyx1QkFBdUIsQ0FBQztBQUV0Qyx1QkFBdUI7QUFDdkIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxpQkFBaUI7QUFDakIsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxrQkFBa0I7QUFDbEIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxVQUFVO0FBQ1YsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxVQUFVO0FBQ1YsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxhQUFhO0FBQ2IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxrQkFBa0I7QUFDbEIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxtQkFBbUI7QUFDbkIsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxhQUFhO0FBQ2IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxXQUFXO0FBQ1gsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxVQUFVO0FBQ1YsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxrQkFBa0I7QUFDbEIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxhQUFhO0FBQ2IsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxVQUFVO0FBQ1YsY0FBYyxtQkFBbUIsQ0FBQztBQUdsQyxjQUFjO0FBQ2QsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxrQkFBa0I7QUFDbEIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogYWNjb3JkaW9uICovXG5leHBvcnQgKiBmcm9tICcuL2FjY29yZGlvbi9wdWJsaWMtYXBpJztcblxuLyogYXZhdGFyICovXG5leHBvcnQgKiBmcm9tICcuL2F2YXRhci9wdWJsaWMtYXBpJztcblxuLyogYXV0b2NvbXBsZXRlICovXG5leHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS9wdWJsaWMtYXBpJztcblxuLyogYnV0dG9uICovXG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi9wdWJsaWMtYXBpJztcblxuLyogY2hlY2tib3ggKi9cbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtM2QvcHVibGljLWFwaSc7XG5cbi8qIGNoZWNrYm94ICovXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94L3B1YmxpYy1hcGknO1xuXG4vKiBkYXRlcGlja2VyICovXG5leHBvcnQgKiBmcm9tICcuL2RhdGUtcGlja2VyL3B1YmxpYy1hcGknO1xuXG4vKiBkZWxpbWl0ZXIgKi9cbmV4cG9ydCAqIGZyb20gJy4vZGVsaW1pdGVyL3B1YmxpYy1hcGknO1xuXG4vKiBkcm9wZG93biAqL1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9wdWJsaWMtYXBpJztcblxuLyogZHluYW1pYy1jb21wb25lbnQgKi9cbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQvcHVibGljLWFwaSc7XG5cbi8qIGV4cGFuZC1jYXJkICovXG5leHBvcnQgKiBmcm9tICcuL2V4cGFuZC1jYXJkL3B1YmxpYy1hcGknO1xuXG4vKiBleHBhbmQtcGFuZWwgKi9cbmV4cG9ydCAqIGZyb20gJy4vZXhwYW5kLXBhbmVsL3B1YmxpYy1hcGknO1xuXG4vKiBmaWxlICovXG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtdXBsb2FkL3B1YmxpYy1hcGknO1xuXG4vKiBmaWx0ZXIgKi9cbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyL3B1YmxpYy1hcGknO1xuXG4vKiBpY29uICovXG5leHBvcnQgKiBmcm9tICcuL2ljb24vcHVibGljLWFwaSc7XG5cbi8qIGlucHV0ICovXG5leHBvcnQgKiBmcm9tICcuL2lucHV0L3B1YmxpYy1hcGknO1xuXG4vKiBtZXNzYWdlICovXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2UvcHVibGljLWFwaSc7XG5cbi8qIG1vZGFsICovXG5leHBvcnQgKiBmcm9tICcuL21vZGFsL3B1YmxpYy1hcGknO1xuXG4vKiBwYWdlciAqL1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlci9wdWJsaWMtYXBpJztcblxuLyogcGFuZWwgKi9cbmV4cG9ydCAqIGZyb20gJy4vcGFuZWwvcHVibGljLWFwaSc7XG5cbi8qIHByb2dyZXNzLWJhciAqL1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHVibGljLWFwaSc7XG5cbi8qIHByb3BlcnR5LWdyaWQgKi9cbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktZ3JpZC9wdWJsaWMtYXBpJztcblxuLyogcmFkaW8gKi9cbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8vcHVibGljLWFwaSc7XG5cbi8qIHNlbGVjdCAqL1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QvcHVibGljLWFwaSc7XG5cbi8qIHNpZGViYXIgKi9cbmV4cG9ydCAqIGZyb20gJy4vc2lkZWJhci9wdWJsaWMtYXBpJztcblxuLyogc3dpdGNoICovXG5leHBvcnQgKiBmcm9tICcuL3N3aXRjaC9wdWJsaWMtYXBpJztcblxuLyogdGFibGUgKi9cbmV4cG9ydCAqIGZyb20gJy4vdGFibGUvcHVibGljLWFwaSc7XG5cbi8qIHRhYnMgKi9cbmV4cG9ydCAqIGZyb20gJy4vdGFicy9wdWJsaWMtYXBpJztcblxuLyogdGhlbWUtc3dpdGNoICovXG5leHBvcnQgKiBmcm9tICcuL3RoZW1lLXN3aXRjaC9wdWJsaWMtYXBpJztcblxuLyogdG9nZ2xlICovXG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZS9wdWJsaWMtYXBpJztcblxuLyogdG9vbGJhciAqL1xuZXhwb3J0ICogZnJvbSAnLi90b29sYmFyL3B1YmxpYy1hcGknO1xuXG4vKiB0cmVlICovXG5leHBvcnQgKiBmcm9tICcuL3RyZWUvcHVibGljLWFwaSc7XG5cblxuLyogM2QtY2hhcnQgKi9cbmV4cG9ydCAqIGZyb20gJy4vY2hhcnQtM2QvcHVibGljLWFwaSc7XG5cbi8qIFJlc2l6ZSBwYW5lbCAqL1xuZXhwb3J0ICogZnJvbSAnLi9kaXZpZGVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNpemUtcGFuZWwvcHVibGljLWFwaSc7XG4iXX0=
@@ -27,7 +27,7 @@ export class HeadCellDropdownComponent {
27
27
  return index;
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HeadCellDropdownComponent, deps: [{ token: i1.TableService }, { token: i2.TetaConfigService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: HeadCellDropdownComponent, isStandalone: true, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", data: "data", tabTemplates: "tabTemplates", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange" }, ngImport: i0, template: "@if (dropDownOpen) {\n <teta-tabs class=\"column_auto\">\n @for (tab of tabTemplates; track trackIndex($index)) {\n @if (tab.showTab(column)) {\n <teta-tab>\n <ng-template tetaTabTitle>\n @if (tab.icon) {\n <teta-icon [name]=\"tab.icon\" [palette]=\"'text'\"></teta-icon>\n }\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n }\n }\n </teta-tabs>\n}\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"], dependencies: [{ kind: "component", type: TabsComponent, selector: "teta-tabs", inputs: ["activeId", "destroyOnHide"], outputs: ["tabChange"] }, { kind: "component", type: TabComponent, selector: "teta-tab", inputs: ["id", "title", "disabled"] }, { kind: "directive", type: TabTitleDirective, selector: "[tetaTabTitle]" }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: TabContentDirective, selector: "[tetaTabContent]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: HeadCellDropdownComponent, isStandalone: true, selector: "teta-head-cell-dropdown", inputs: { columns: "columns", column: "column", state: "state", data: "data", tabTemplates: "tabTemplates", dropDownOpen: "dropDownOpen" }, outputs: { dropDownOpenChange: "dropDownOpenChange" }, ngImport: i0, template: "@if (dropDownOpen) {\n <teta-tabs class=\"column_auto\">\n @for (tab of tabTemplates; track trackIndex($index)) {\n @if (tab.showTab(column)) {\n <teta-tab>\n <ng-template tetaTabTitle>\n @if (tab.icon) {\n <teta-icon [name]=\"tab.icon\" [palette]=\"'text'\"></teta-icon>\n }\n </ng-template>\n <ng-template tetaTabContent>\n <ng-container\n *ngTemplateOutlet=\"tab.template; context: {\n column: column,\n columns: columns,\n data: data,\n state: state,\n close: closeDropdown\n }\"></ng-container>\n </ng-template>\n </teta-tab>\n }\n }\n </teta-tabs>\n}\n", styles: [":host{display:flex;flex-grow:1;min-height:0;min-width:250px}\n"], dependencies: [{ kind: "component", type: TabsComponent, selector: "teta-tabs", inputs: ["activeId", "direction", "size", "destroyOnHide"], outputs: ["tabChange"] }, { kind: "component", type: TabComponent, selector: "teta-tab", inputs: ["id", "title", "disabled"] }, { kind: "directive", type: TabTitleDirective, selector: "[tetaTabTitle]" }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: TabContentDirective, selector: "[tetaTabContent]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  }
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: HeadCellDropdownComponent, decorators: [{
33
33
  type: Component,
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
54
54
  }], dropDownOpenChange: [{
55
55
  type: Output
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1jZWxsLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvaGVhZC1jZWxsLWRyb3Bkb3duL2hlYWQtY2VsbC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL2hlYWQtY2VsbC1kcm9wZG93bi9oZWFkLWNlbGwtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBaUIvRCxNQUFNLE9BQU8seUJBQXlCO0lBVXBDLFlBQ1UsSUFBcUIsRUFDckIsT0FBMEIsRUFDMUIsSUFBdUI7UUFGdkIsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFOdkIsdUJBQWtCLEdBQzFCLElBQUksWUFBWSxFQUFXLENBQUM7UUFROUIsa0JBQWEsR0FBRyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUM7SUFMQyxDQUFDO0lBT0osVUFBVSxDQUFDLEtBQUs7UUFDZCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBdkJVLHlCQUF5QjtrR0FBekIseUJBQXlCLHNSQ3JDdEMsMnVCQXlCQSx3SERJUSxhQUFhLHFIQUNiLFlBQVksMEZBQ1osaUJBQWlCLDJEQUNqQixhQUFhLG9HQUNiLG1CQUFtQiw2REFDbkIsZ0JBQWdCOzsyRkFHWCx5QkFBeUI7a0JBZnJDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNuQjtpSkFHTSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJVHJlZURhdGEgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS10cmVlLWRhdGEnO1xuaW1wb3J0IHsgVGV0YUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJTdGF0ZSB9IGZyb20gJy4uLy4uL2ZpbHRlci9jb250YXJjdC9maWx0ZXItc3RhdGUnO1xuaW1wb3J0IHsgSGVhZERyb3Bkb3duVGFiIH0gZnJvbSAnLi4vY29udHJhY3QvaGVhZC1kcm9wZG93bi10YWInO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGFiQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3RhYnMvdGFiLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiVGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi90YWJzL3RhYi10aXRsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGFicy90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGFicy90YWJzL3RhYnMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0ZXRhLWhlYWQtY2VsbC1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hlYWQtY2VsbC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaGVhZC1jZWxsLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRhYnNDb21wb25lbnQsXG4gICAgICAgIFRhYkNvbXBvbmVudCxcbiAgICAgICAgVGFiVGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIEljb25Db21wb25lbnQsXG4gICAgICAgIFRhYkNvbnRlbnREaXJlY3RpdmUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZENlbGxEcm9wZG93bkNvbXBvbmVudDxUPiB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IElUcmVlRGF0YVtdO1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzdGF0ZTogRmlsdGVyU3RhdGU7XG4gIEBJbnB1dCgpIGRhdGE6IFRbXTtcbiAgQElucHV0KCkgdGFiVGVtcGxhdGVzOiBIZWFkRHJvcGRvd25UYWJbXTtcbiAgQElucHV0KCkgZHJvcERvd25PcGVuOiBib29sZWFuO1xuICBAT3V0cHV0KCkgZHJvcERvd25PcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICBwcml2YXRlIF9jb25maWc6IFRldGFDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIGNsb3NlRHJvcGRvd24gPSAoKSA9PiB7XG4gICAgdGhpcy5kcm9wRG93bk9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmRyb3BEb3duT3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfTtcblxuICB0cmFja0luZGV4KGluZGV4KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCJAaWYgKGRyb3BEb3duT3Blbikge1xuICA8dGV0YS10YWJzIGNsYXNzPVwiY29sdW1uX2F1dG9cIj5cbiAgICBAZm9yICh0YWIgb2YgdGFiVGVtcGxhdGVzOyB0cmFjayB0cmFja0luZGV4KCRpbmRleCkpIHtcbiAgICAgIEBpZiAodGFiLnNob3dUYWIoY29sdW1uKSkge1xuICAgICAgICA8dGV0YS10YWI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHRldGFUYWJUaXRsZT5cbiAgICAgICAgICAgIEBpZiAodGFiLmljb24pIHtcbiAgICAgICAgICAgICAgPHRldGEtaWNvbiBbbmFtZV09XCJ0YWIuaWNvblwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHRldGFUYWJDb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLnRlbXBsYXRlOyBjb250ZXh0OiB7XG4gICAgICAgICAgICBjb2x1bW46IGNvbHVtbixcbiAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnMsXG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgICAgICAgY2xvc2U6IGNsb3NlRHJvcGRvd25cbiAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90ZXRhLXRhYj5cbiAgICAgIH1cbiAgICB9XG4gIDwvdGV0YS10YWJzPlxufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1jZWxsLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGFibGUvaGVhZC1jZWxsLWRyb3Bkb3duL2hlYWQtY2VsbC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RhYmxlL2hlYWQtY2VsbC1kcm9wZG93bi9oZWFkLWNlbGwtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBaUIvRCxNQUFNLE9BQU8seUJBQXlCO0lBVXBDLFlBQ1UsSUFBcUIsRUFDckIsT0FBMEIsRUFDMUIsSUFBdUI7UUFGdkIsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFOdkIsdUJBQWtCLEdBQzFCLElBQUksWUFBWSxFQUFXLENBQUM7UUFROUIsa0JBQWEsR0FBRyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUM7SUFMQyxDQUFDO0lBT0osVUFBVSxDQUFDLEtBQUs7UUFDZCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBdkJVLHlCQUF5QjtrR0FBekIseUJBQXlCLHNSQ3JDdEMsMnVCQXlCQSx3SERJUSxhQUFhLDBJQUNiLFlBQVksMEZBQ1osaUJBQWlCLDJEQUNqQixhQUFhLG9HQUNiLG1CQUFtQiw2REFDbkIsZ0JBQWdCOzsyRkFHWCx5QkFBeUI7a0JBZnJDLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxhQUFhO3dCQUNiLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNuQjtpSkFHTSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJVHJlZURhdGEgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29udHJhY3QvaS10cmVlLWRhdGEnO1xuaW1wb3J0IHsgVGV0YUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJTdGF0ZSB9IGZyb20gJy4uLy4uL2ZpbHRlci9jb250YXJjdC9maWx0ZXItc3RhdGUnO1xuaW1wb3J0IHsgSGVhZERyb3Bkb3duVGFiIH0gZnJvbSAnLi4vY29udHJhY3QvaGVhZC1kcm9wZG93bi10YWInO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuLi9jb250cmFjdC90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHsgVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS90YWJsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGFiQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL3RhYnMvdGFiLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFiVGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi90YWJzL3RhYi10aXRsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGFicy90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGFicy90YWJzL3RhYnMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0ZXRhLWhlYWQtY2VsbC1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2hlYWQtY2VsbC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaGVhZC1jZWxsLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRhYnNDb21wb25lbnQsXG4gICAgICAgIFRhYkNvbXBvbmVudCxcbiAgICAgICAgVGFiVGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIEljb25Db21wb25lbnQsXG4gICAgICAgIFRhYkNvbnRlbnREaXJlY3RpdmUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSGVhZENlbGxEcm9wZG93bkNvbXBvbmVudDxUPiB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IElUcmVlRGF0YVtdO1xuICBASW5wdXQoKSBjb2x1bW46IFRhYmxlQ29sdW1uO1xuICBASW5wdXQoKSBzdGF0ZTogRmlsdGVyU3RhdGU7XG4gIEBJbnB1dCgpIGRhdGE6IFRbXTtcbiAgQElucHV0KCkgdGFiVGVtcGxhdGVzOiBIZWFkRHJvcGRvd25UYWJbXTtcbiAgQElucHV0KCkgZHJvcERvd25PcGVuOiBib29sZWFuO1xuICBAT3V0cHV0KCkgZHJvcERvd25PcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9zdmM6IFRhYmxlU2VydmljZTxUPixcbiAgICBwcml2YXRlIF9jb25maWc6IFRldGFDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIGNsb3NlRHJvcGRvd24gPSAoKSA9PiB7XG4gICAgdGhpcy5kcm9wRG93bk9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmRyb3BEb3duT3BlbkNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgfTtcblxuICB0cmFja0luZGV4KGluZGV4KSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG59XG4iLCJAaWYgKGRyb3BEb3duT3Blbikge1xuICA8dGV0YS10YWJzIGNsYXNzPVwiY29sdW1uX2F1dG9cIj5cbiAgICBAZm9yICh0YWIgb2YgdGFiVGVtcGxhdGVzOyB0cmFjayB0cmFja0luZGV4KCRpbmRleCkpIHtcbiAgICAgIEBpZiAodGFiLnNob3dUYWIoY29sdW1uKSkge1xuICAgICAgICA8dGV0YS10YWI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHRldGFUYWJUaXRsZT5cbiAgICAgICAgICAgIEBpZiAodGFiLmljb24pIHtcbiAgICAgICAgICAgICAgPHRldGEtaWNvbiBbbmFtZV09XCJ0YWIuaWNvblwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHRldGFUYWJDb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLnRlbXBsYXRlOyBjb250ZXh0OiB7XG4gICAgICAgICAgICBjb2x1bW46IGNvbHVtbixcbiAgICAgICAgICAgIGNvbHVtbnM6IGNvbHVtbnMsXG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgICAgICAgY2xvc2U6IGNsb3NlRHJvcGRvd25cbiAgICAgICAgICB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90ZXRhLXRhYj5cbiAgICAgIH1cbiAgICB9XG4gIDwvdGV0YS10YWJzPlxufVxuIl19