@simpleangularcontrols/sac-common 10.0.0-rc.27 → 10.0.0-rc.28
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.
- package/bundles/simpleangularcontrols-sac-common.umd.js +716 -361
- package/bundles/simpleangularcontrols-sac-common.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-common.umd.min.js.map +1 -1
- package/common/basedatetimecontrol.d.ts +5 -0
- package/common/basemodelcontrol.d.ts +4 -0
- package/common/baseuploadcontrol.d.ts +4 -0
- package/controls/buttons/button.d.ts +25 -21
- package/controls/checkbox/checkbox.d.ts +1 -1
- package/controls/confirm/confirm.d.ts +19 -19
- package/controls/confirm/confirm.service.d.ts +10 -10
- package/controls/contextmenu/contextmenu.d.ts +8 -0
- package/controls/datetime/dateselector.d.ts +9 -1
- package/controls/dialog/dialog.d.ts +5 -1
- package/controls/form/form.d.ts +4 -4
- package/controls/grid/grid.d.ts +22 -18
- package/controls/grid/gridbutton.d.ts +23 -4
- package/controls/grid/gridcolumn.d.ts +5 -5
- package/controls/grid/gridcolumnaction.d.ts +1 -1
- package/controls/grid/gridcolumnbase.d.ts +17 -5
- package/controls/grid/model.d.ts +17 -17
- package/controls/grid/paging.d.ts +33 -29
- package/controls/input/inputdecimal.d.ts +1 -1
- package/controls/input/inputemail.d.ts +1 -1
- package/controls/input/inputinteger.d.ts +1 -1
- package/controls/input/inputsearch.d.ts +5 -5
- package/controls/list/dropdown.d.ts +3 -3
- package/controls/list/dropdownoptions.d.ts +1 -1
- package/controls/list/listbox.d.ts +1 -1
- package/controls/multilanguage/multilanguageinput.d.ts +2 -2
- package/controls/static/staticlabel.d.ts +1 -1
- package/controls/tabs/tab.d.ts +19 -15
- package/controls/tabs/tabitem.d.ts +4 -4
- package/controls/tinymce/tinymce.d.ts +26 -22
- package/controls/tinymce/tinymcedialogsettings.d.ts +9 -9
- package/controls/tooltip/tooltip.d.ts +8 -0
- package/controls/upload/dropzonemultiple.d.ts +4 -0
- package/controls/upload/dropzonesingle.d.ts +4 -0
- package/controls/upload/uploadmultiple.d.ts +4 -0
- package/controls/upload/uploadsingle.d.ts +4 -0
- package/controls/validation/validationsummary.d.ts +8 -4
- package/controls/wizard/wizard.d.ts +30 -30
- package/controls/wizard/wizarditem.d.ts +4 -4
- package/esm2015/common/basedatetimecontrol.js +6 -1
- package/esm2015/common/basemodelcontrol.js +6 -1
- package/esm2015/common/baseuploadcontrol.js +18 -5
- package/esm2015/controls/buttons/button.js +37 -32
- package/esm2015/controls/checkbox/checkbox.js +2 -2
- package/esm2015/controls/confirm/confirm.button.js +1 -1
- package/esm2015/controls/confirm/confirm.js +33 -35
- package/esm2015/controls/confirm/confirm.service.js +2 -2
- package/esm2015/controls/contextmenu/contextmenu.js +12 -1
- package/esm2015/controls/contextmenu/contextmenuanchor.js +1 -1
- package/esm2015/controls/contextmenu/contextmenucontainer.js +1 -1
- package/esm2015/controls/datetime/dateselector.js +41 -19
- package/esm2015/controls/dialog/dialog.js +22 -12
- package/esm2015/controls/form/form.js +3 -4
- package/esm2015/controls/grid/grid.js +23 -13
- package/esm2015/controls/grid/gridbutton.js +55 -14
- package/esm2015/controls/grid/gridcolumn.js +8 -8
- package/esm2015/controls/grid/gridcolumnaction.js +2 -2
- package/esm2015/controls/grid/gridcolumnbase.js +18 -7
- package/esm2015/controls/grid/gridimage.js +1 -1
- package/esm2015/controls/grid/model.js +23 -23
- package/esm2015/controls/grid/paging.js +48 -38
- package/esm2015/controls/input/inputdecimal.js +2 -2
- package/esm2015/controls/input/inputemail.js +2 -2
- package/esm2015/controls/input/inputinteger.js +2 -2
- package/esm2015/controls/input/inputsearch.js +8 -8
- package/esm2015/controls/layout/formlayout.js +6 -2
- package/esm2015/controls/list/buildvaluestring.js +3 -1
- package/esm2015/controls/list/dropdown.js +11 -2
- package/esm2015/controls/list/dropdownoptions.js +9 -2
- package/esm2015/controls/list/list.module.js +2 -2
- package/esm2015/controls/list/listbox.js +4 -4
- package/esm2015/controls/multilanguage/multilanguageinput.js +2 -2
- package/esm2015/controls/static/staticlabel.js +6 -2
- package/esm2015/controls/tabs/tab.js +38 -28
- package/esm2015/controls/tabs/tabitem.js +5 -3
- package/esm2015/controls/tinymce/tinymce.js +33 -32
- package/esm2015/controls/tinymce/tinymcedialogsettings.js +3 -1
- package/esm2015/controls/tinymce/tinymcedialogsettingsmeta.js +1 -4
- package/esm2015/controls/tinymce/tinymceinstance.js +1 -1
- package/esm2015/controls/tooltip/tooltip.js +12 -1
- package/esm2015/controls/upload/dropzonemultiple.js +10 -2
- package/esm2015/controls/upload/dropzonesingle.js +10 -2
- package/esm2015/controls/upload/uploadmultiple.js +10 -2
- package/esm2015/controls/upload/uploadsingle.js +10 -2
- package/esm2015/controls/validation/validationsummary.js +12 -6
- package/esm2015/controls/wizard/wizard.js +55 -49
- package/esm2015/controls/wizard/wizarditem.js +8 -6
- package/esm2015/interfaces/ISacConfigurationService.js +1 -1
- package/esm2015/interfaces/ISacIconService.js +1 -1
- package/esm2015/public_api.js +4 -1
- package/esm2015/services/sac-configuration.service.js +15 -5
- package/esm2015/services/sac-filebrowser.service.js +68 -62
- package/esm2015/services/sac-icon.service.js +31 -1
- package/esm2015/services/sac-language.service.js +6 -2
- package/esm2015/utilities/guid.js +4 -4
- package/esm2015/utilities/popuphelper.js +2 -2
- package/esm2015/utilities/testingattribute.pipe.js +39 -0
- package/esm2015/utilities/testingattribute.pipe.ngfactory.js +7 -0
- package/esm2015/utilities/utilities.module.js +12 -0
- package/esm2015/utilities/utilities.module.ngfactory.js +7 -0
- package/fesm2015/simpleangularcontrols-sac-common.js +708 -382
- package/fesm2015/simpleangularcontrols-sac-common.js.map +1 -1
- package/interfaces/ISacConfigurationService.d.ts +4 -0
- package/interfaces/ISacIconService.d.ts +20 -0
- package/package.json +1 -1
- package/public_api.d.ts +2 -0
- package/services/sac-configuration.service.d.ts +13 -5
- package/services/sac-filebrowser.service.d.ts +59 -59
- package/services/sac-icon.service.d.ts +40 -0
- package/services/sac-language.service.d.ts +2 -2
- package/simpleangularcontrols-sac-common-10.0.0-rc.28.tgz +0 -0
- package/simpleangularcontrols-sac-common.metadata.json +1 -1
- package/utilities/testingattribute.pipe.d.ts +12 -0
- package/utilities/testingattribute.pipe.ngfactory.d.ts +1 -0
- package/utilities/utilities.module.d.ts +2 -0
- package/utilities/utilities.module.ngfactory.d.ts +3 -0
- package/simpleangularcontrols-sac-common-10.0.0-rc.27.tgz +0 -0
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Injectable, InjectionToken } from '@angular/core';
|
|
3
1
|
import { BrowserFileDeleteRequest } from '../components/browser/models/browserfiledeleterequest';
|
|
4
2
|
import { BrowserFileRenameRequest } from '../components/browser/models/browserfilerenamerequest';
|
|
5
3
|
import { BrowserFileSaveRequest } from '../components/browser/models/browserfilesaverequest';
|
|
@@ -7,12 +5,17 @@ import { BrowserNodeDeleteRequest } from '../components/browser/models/browserno
|
|
|
7
5
|
import { BrowserNodeNewRequest } from '../components/browser/models/browsernodenewrequest';
|
|
8
6
|
import { BrowserNodeRenameRequest } from '../components/browser/models/browsernoderenamerequest';
|
|
9
7
|
import { BrowserNodeRequest } from '../components/browser/models/browsernoderequest';
|
|
8
|
+
import { HttpClient } from '@angular/common/http';
|
|
9
|
+
import { Injectable, InjectionToken } from '@angular/core';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "@angular/common/http";
|
|
12
|
+
// #region Variables
|
|
12
13
|
/**
|
|
13
14
|
* Injection Token für Language Service
|
|
14
15
|
*/
|
|
15
16
|
export const SACFILEBROWSER_SERVICE = new InjectionToken('FileBrowserService');
|
|
17
|
+
// #endregion Variables
|
|
18
|
+
// #region Exported Classes
|
|
16
19
|
/**
|
|
17
20
|
* Abstrakte Implementierung des File Service für die Browser Component
|
|
18
21
|
*/
|
|
@@ -28,6 +31,7 @@ SacAbstractFileBrowserService.decorators = [
|
|
|
28
31
|
* Standardimplementierung des Backend Service für die File Browser Component
|
|
29
32
|
*/
|
|
30
33
|
export class SacDefaultFileBrowserService extends SacAbstractFileBrowserService {
|
|
34
|
+
// #region Constructors
|
|
31
35
|
/**
|
|
32
36
|
* Konstruktor
|
|
33
37
|
* @param httpclient HTTP Client Service
|
|
@@ -36,18 +40,20 @@ export class SacDefaultFileBrowserService extends SacAbstractFileBrowserService
|
|
|
36
40
|
super();
|
|
37
41
|
this.httpclient = httpclient;
|
|
38
42
|
}
|
|
43
|
+
// #endregion Constructors
|
|
44
|
+
// #region Public Methods
|
|
39
45
|
/**
|
|
40
|
-
*
|
|
46
|
+
* Löscht eine Datei
|
|
41
47
|
* @param apiurl URL zu API Service
|
|
42
|
-
* @param path Pfad des
|
|
43
|
-
* @param allowedextensions Erlaubte Extensions
|
|
48
|
+
* @param path Pfad des Files welches gelöscht werden soll
|
|
49
|
+
* @param allowedextensions Erlaubte Extensions für Files
|
|
44
50
|
*/
|
|
45
|
-
|
|
46
|
-
const url = `${apiurl}/
|
|
51
|
+
DeleteFile(apiurl, path, allowedextensions) {
|
|
52
|
+
const url = `${apiurl}/deletefile`;
|
|
47
53
|
if (!path) {
|
|
48
54
|
path = '';
|
|
49
55
|
}
|
|
50
|
-
const request = new
|
|
56
|
+
const request = new BrowserFileDeleteRequest({
|
|
51
57
|
Path: path,
|
|
52
58
|
AllowedTypes: allowedextensions,
|
|
53
59
|
});
|
|
@@ -56,113 +62,115 @@ export class SacDefaultFileBrowserService extends SacAbstractFileBrowserService
|
|
|
56
62
|
});
|
|
57
63
|
}
|
|
58
64
|
/**
|
|
59
|
-
*
|
|
65
|
+
* Löscht einen Node
|
|
60
66
|
* @param apiurl URL zu API Service
|
|
61
|
-
* @param path Pfad
|
|
62
|
-
* @param newFoldername Name des neuen Nodes
|
|
67
|
+
* @param path Pfad des Nodes welcher gelöscht werden soll
|
|
63
68
|
*/
|
|
64
|
-
|
|
65
|
-
const url = `${apiurl}/
|
|
69
|
+
DeleteNode(apiurl, path) {
|
|
70
|
+
const url = `${apiurl}/deletenode`;
|
|
66
71
|
if (!path) {
|
|
67
72
|
path = '';
|
|
68
73
|
}
|
|
69
|
-
const request = new
|
|
74
|
+
const request = new BrowserNodeDeleteRequest({
|
|
70
75
|
Path: path,
|
|
71
|
-
NewFoldername: newFoldername,
|
|
72
76
|
});
|
|
73
77
|
return this.httpclient.post(url, request, {
|
|
74
78
|
withCredentials: true,
|
|
75
79
|
});
|
|
76
80
|
}
|
|
77
81
|
/**
|
|
78
|
-
*
|
|
82
|
+
* Methode welche die Dateien eines Nodes ausliest
|
|
79
83
|
* @param apiurl URL zu API Service
|
|
80
|
-
* @param path Pfad des Nodes
|
|
81
|
-
* @param
|
|
84
|
+
* @param path Pfad des Nodes in welchem die Files gelesen werden sollen
|
|
85
|
+
* @param allowedextensions Erlaubte File Extensions
|
|
82
86
|
*/
|
|
83
|
-
|
|
84
|
-
const url = `${apiurl}/
|
|
87
|
+
GetFiles(apiurl, path, allowedextensions) {
|
|
88
|
+
const url = `${apiurl}/getfiles`;
|
|
85
89
|
if (!path) {
|
|
86
90
|
path = '';
|
|
87
91
|
}
|
|
88
|
-
const request = new
|
|
92
|
+
const request = new BrowserNodeRequest({
|
|
89
93
|
Path: path,
|
|
90
|
-
|
|
94
|
+
AllowedTypes: allowedextensions,
|
|
91
95
|
});
|
|
92
|
-
return this.httpclient.
|
|
96
|
+
return this.httpclient.post(url, request, {
|
|
93
97
|
withCredentials: true,
|
|
94
98
|
});
|
|
95
99
|
}
|
|
96
100
|
/**
|
|
97
|
-
*
|
|
101
|
+
* Gibt einen Node zurück
|
|
98
102
|
* @param apiurl URL zu API Service
|
|
99
|
-
* @param path Pfad des
|
|
103
|
+
* @param path Pfad des Node welcher angefordert wird
|
|
104
|
+
* @param allowedextensions Erlaubte Extensions die angezeigt werden dürfen
|
|
100
105
|
*/
|
|
101
|
-
|
|
102
|
-
const url = `${apiurl}/
|
|
106
|
+
GetNode(apiurl, path, allowedextensions) {
|
|
107
|
+
const url = `${apiurl}/getnodes`;
|
|
103
108
|
if (!path) {
|
|
104
109
|
path = '';
|
|
105
110
|
}
|
|
106
|
-
const request = new
|
|
111
|
+
const request = new BrowserNodeRequest({
|
|
107
112
|
Path: path,
|
|
113
|
+
AllowedTypes: allowedextensions,
|
|
108
114
|
});
|
|
109
115
|
return this.httpclient.post(url, request, {
|
|
110
116
|
withCredentials: true,
|
|
111
117
|
});
|
|
112
118
|
}
|
|
113
119
|
/**
|
|
114
|
-
* Methode welche
|
|
120
|
+
* Methode welche eine Datei umbenannt
|
|
115
121
|
* @param apiurl URL zu API Service
|
|
116
|
-
* @param path Pfad
|
|
117
|
-
* @param
|
|
122
|
+
* @param path Pfad zum File welches umbenannt werden soll
|
|
123
|
+
* @param newFilename Neuer Dateiname
|
|
124
|
+
* @param allowedextensions Erlaubte Extension für Files
|
|
118
125
|
*/
|
|
119
|
-
|
|
120
|
-
const url = `${apiurl}/
|
|
126
|
+
RenameFile(apiurl, path, newFilename, allowedextensions) {
|
|
127
|
+
const url = `${apiurl}/renamefile`;
|
|
121
128
|
if (!path) {
|
|
122
129
|
path = '';
|
|
123
130
|
}
|
|
124
|
-
const request = new
|
|
131
|
+
const request = new BrowserFileRenameRequest({
|
|
125
132
|
Path: path,
|
|
133
|
+
NewFilename: newFilename,
|
|
126
134
|
AllowedTypes: allowedextensions,
|
|
127
135
|
});
|
|
128
|
-
return this.httpclient.
|
|
136
|
+
return this.httpclient.put(url, request, {
|
|
129
137
|
withCredentials: true,
|
|
130
138
|
});
|
|
131
139
|
}
|
|
132
140
|
/**
|
|
133
|
-
*
|
|
141
|
+
* Rename eines Nodes
|
|
134
142
|
* @param apiurl URL zu API Service
|
|
135
|
-
* @param path Pfad
|
|
136
|
-
* @param
|
|
137
|
-
* @param allowedextensions Erlaubte Extensions für den Upload
|
|
143
|
+
* @param path Pfad des Nodes welcher umbenannt werden soll
|
|
144
|
+
* @param newFoldername Neuer Name des Nodes
|
|
138
145
|
*/
|
|
139
|
-
|
|
140
|
-
const url = `${apiurl}/
|
|
146
|
+
RenameNode(apiurl, path, newFoldername) {
|
|
147
|
+
const url = `${apiurl}/renamenode`;
|
|
141
148
|
if (!path) {
|
|
142
149
|
path = '';
|
|
143
150
|
}
|
|
144
|
-
const request = new
|
|
151
|
+
const request = new BrowserNodeRenameRequest({
|
|
145
152
|
Path: path,
|
|
146
|
-
|
|
147
|
-
AllowedTypes: allowedextensions,
|
|
153
|
+
NewFoldername: newFoldername,
|
|
148
154
|
});
|
|
149
|
-
return this.httpclient.
|
|
155
|
+
return this.httpclient.put(url, request, {
|
|
150
156
|
withCredentials: true,
|
|
151
157
|
});
|
|
152
158
|
}
|
|
153
159
|
/**
|
|
154
|
-
*
|
|
160
|
+
* Speichert eine Hochgeladene Datei in der Struktur
|
|
155
161
|
* @param apiurl URL zu API Service
|
|
156
|
-
* @param path Pfad
|
|
157
|
-
* @param
|
|
162
|
+
* @param path Pfad in welchem das neue File gespeichert werden soll
|
|
163
|
+
* @param id ID des Uploads
|
|
164
|
+
* @param allowedextensions Erlaubte Extensions für den Upload
|
|
158
165
|
*/
|
|
159
|
-
|
|
160
|
-
const url = `${apiurl}/
|
|
166
|
+
SaveFile(apiurl, path, id, allowedextensions) {
|
|
167
|
+
const url = `${apiurl}/uploadfile`;
|
|
161
168
|
if (!path) {
|
|
162
169
|
path = '';
|
|
163
170
|
}
|
|
164
|
-
const request = new
|
|
171
|
+
const request = new BrowserFileSaveRequest({
|
|
165
172
|
Path: path,
|
|
173
|
+
UploadId: id,
|
|
166
174
|
AllowedTypes: allowedextensions,
|
|
167
175
|
});
|
|
168
176
|
return this.httpclient.post(url, request, {
|
|
@@ -170,23 +178,21 @@ export class SacDefaultFileBrowserService extends SacAbstractFileBrowserService
|
|
|
170
178
|
});
|
|
171
179
|
}
|
|
172
180
|
/**
|
|
173
|
-
*
|
|
181
|
+
* Speichert einen Node
|
|
174
182
|
* @param apiurl URL zu API Service
|
|
175
|
-
* @param path Pfad
|
|
176
|
-
* @param
|
|
177
|
-
* @param allowedextensions Erlaubte Extension für Files
|
|
183
|
+
* @param path Pfad in welchem der Node gespeichert werden soll
|
|
184
|
+
* @param newFoldername Name des neuen Nodes
|
|
178
185
|
*/
|
|
179
|
-
|
|
180
|
-
const url = `${apiurl}/
|
|
186
|
+
SaveNode(apiurl, path, newFoldername) {
|
|
187
|
+
const url = `${apiurl}/newnode`;
|
|
181
188
|
if (!path) {
|
|
182
189
|
path = '';
|
|
183
190
|
}
|
|
184
|
-
const request = new
|
|
191
|
+
const request = new BrowserNodeNewRequest({
|
|
185
192
|
Path: path,
|
|
186
|
-
|
|
187
|
-
AllowedTypes: allowedextensions,
|
|
193
|
+
NewFoldername: newFoldername,
|
|
188
194
|
});
|
|
189
|
-
return this.httpclient.
|
|
195
|
+
return this.httpclient.post(url, request, {
|
|
190
196
|
withCredentials: true,
|
|
191
197
|
});
|
|
192
198
|
}
|
|
@@ -200,4 +206,4 @@ SacDefaultFileBrowserService.decorators = [
|
|
|
200
206
|
SacDefaultFileBrowserService.ctorParameters = () => [
|
|
201
207
|
{ type: HttpClient }
|
|
202
208
|
];
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWZpbGVicm93c2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9zYWMtZmlsZWJyb3dzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFakcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDN0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDakcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saURBQWlELENBQUM7OztBQUlyRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUNqQyxJQUFJLGNBQWMsQ0FBeUIsb0JBQW9CLENBQUMsQ0FBQztBQUVuRTs7R0FFRztBQUlILE1BQU0sT0FBZ0IsNkJBQTZCOzs7O1lBSGxELFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7QUF1R0Q7O0dBRUc7QUFJSCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsNkJBQTZCO0lBQzdFOzs7T0FHRztJQUNILFlBQW9CLFVBQXNCO1FBQ3hD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U0FDWDtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksd0JBQXdCLENBQUM7WUFDM0MsSUFBSSxFQUFFLElBQUk7WUFDVixXQUFXLEVBQUUsV0FBVztZQUN4QixZQUFZLEVBQUUsaUJBQWlCO1NBQ2hDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQXVCLEdBQUcsRUFBRSxPQUFPLEVBQUU7WUFDN0QsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztZQXJPRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXJJUSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCcm93c2VyRmlsZURlbGV0ZVJlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlZGVsZXRlcmVxdWVzdCc7XG5pbXBvcnQgeyBCcm93c2VyRmlsZVJlbmFtZVJlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlcmVuYW1lcmVxdWVzdCc7XG5pbXBvcnQgeyBJQnJvd3NlckZpbGVSZXNwb25zZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVyZXNwb25zZSc7XG5pbXBvcnQgeyBCcm93c2VyRmlsZVNhdmVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZXNhdmVyZXF1ZXN0JztcbmltcG9ydCB7IEJyb3dzZXJOb2RlRGVsZXRlUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3Nlcm5vZGVkZWxldGVyZXF1ZXN0JztcbmltcG9ydCB7IEJyb3dzZXJOb2RlTmV3UmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3Nlcm5vZGVuZXdyZXF1ZXN0JztcbmltcG9ydCB7IEJyb3dzZXJOb2RlUmVuYW1lUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3Nlcm5vZGVyZW5hbWVyZXF1ZXN0JztcbmltcG9ydCB7IEJyb3dzZXJOb2RlUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3Nlcm5vZGVyZXF1ZXN0JztcbmltcG9ydCB7IElCcm93c2VyTm9kZVJlc3BvbnNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2Vybm9kZXJlc3BvbnNlJztcbmltcG9ydCB7IElTYWNGaWxlQnJvd3NlclNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNGaWxlQnJvd3NlclNlcnZpY2UnO1xuXG4vKipcbiAqIEluamVjdGlvbiBUb2tlbiBmw7xyIExhbmd1YWdlIFNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IFNBQ0ZJTEVCUk9XU0VSX1NFUlZJQ0UgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48SVNhY0ZpbGVCcm93c2VyU2VydmljZT4oJ0ZpbGVCcm93c2VyU2VydmljZScpO1xuXG4vKipcbiAqIEFic3RyYWt0ZSBJbXBsZW1lbnRpZXJ1bmcgZGVzIEZpbGUgU2VydmljZSBmw7xyIGRpZSBCcm93c2VyIENvbXBvbmVudFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQWJzdHJhY3RGaWxlQnJvd3NlclNlcnZpY2VcbiAgaW1wbGVtZW50cyBJU2FjRmlsZUJyb3dzZXJTZXJ2aWNlXG57XG4gIC8qKlxuICAgKiBHaWJ0IGVpbmVuIE5vZGUgenVyw7xja1xuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlIHdlbGNoZXIgYW5nZWZvcmRlcnQgd2lyZFxuICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgRXJsYXVidGUgRXh0ZW5zaW9ucyBkaWUgYW5nZXplaWd0IHdlcmRlbiBkw7xyZmVuXG4gICAqL1xuICBhYnN0cmFjdCBHZXROb2RlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBTcGVpY2hlcnQgZWluZW4gTm9kZVxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGluIHdlbGNoZW0gZGVyIE5vZGUgZ2VzcGVpY2hlcnQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmFtZSBkZXMgbmV1ZW4gTm9kZXNcbiAgICovXG4gIGFic3RyYWN0IFNhdmVOb2RlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBuZXdGb2xkZXJuYW1lOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIFJlbmFtZSBlaW5lcyBOb2Rlc1xuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlcyB3ZWxjaGVyIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3Rm9sZGVybmFtZSBOZXVlciBOYW1lIGRlcyBOb2Rlc1xuICAgKi9cbiAgYWJzdHJhY3QgUmVuYW1lTm9kZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbmV3Rm9sZGVybmFtZTogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBMw7ZzY2h0IGVpbmVuIE5vZGVcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCBkZXMgTm9kZXMgd2VsY2hlciBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcbiAgICovXG4gIGFic3RyYWN0IERlbGV0ZU5vZGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBNZXRob2RlIHdlbGNoZSBkaWUgRGF0ZWllbiBlaW5lcyBOb2RlcyBhdXNsaWVzdFxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlcyBpbiB3ZWxjaGVtIGRpZSBGaWxlcyBnZWxlc2VuIHdlcmRlbiBzb2xsZW5cbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEZpbGUgRXh0ZW5zaW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgR2V0RmlsZXMoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIFNwZWljaGVydCBlaW5lIEhvY2hnZWxhZGVuZSBEYXRlaSBpbiBkZXIgU3RydWt0dXJcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCBpbiB3ZWxjaGVtIGRhcyBuZXVlIEZpbGUgZ2VzcGVpY2hlcnQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIGlkIElEIGRlcyBVcGxvYWRzXG4gICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb25zIGbDvHIgZGVuIFVwbG9hZFxuICAgKi9cbiAgYWJzdHJhY3QgU2F2ZUZpbGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPjtcblxuICAvKipcbiAgICogTWV0aG9kZSB3ZWxjaGUgZWluZSBEYXRlaSB1bWJlbmFubnRcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCB6dW0gRmlsZSB3ZWxjaGVzIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3RmlsZW5hbWUgTmV1ZXIgRGF0ZWluYW1lXG4gICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb24gZsO8ciBGaWxlc1xuICAgKi9cbiAgYWJzdHJhY3QgUmVuYW1lRmlsZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbmV3RmlsZW5hbWU6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBMw7ZzY2h0IGVpbmUgRGF0ZWlcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCBkZXMgRmlsZXMgd2VsY2hlcyBnZWzDtnNjaHQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZsO8ciBGaWxlc1xuICAgKi9cbiAgYWJzdHJhY3QgRGVsZXRlRmlsZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPjtcbn1cblxuLyoqXG4gKiBTdGFuZGFyZGltcGxlbWVudGllcnVuZyBkZXMgQmFja2VuZCBTZXJ2aWNlIGbDvHIgZGllIEZpbGUgQnJvd3NlciBDb21wb25lbnRcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNhY0RlZmF1bHRGaWxlQnJvd3NlclNlcnZpY2UgZXh0ZW5kcyBTYWNBYnN0cmFjdEZpbGVCcm93c2VyU2VydmljZSB7XG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gaHR0cGNsaWVudCBIVFRQIENsaWVudCBTZXJ2aWNlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBjbGllbnQ6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdpYnQgZWluZW4gTm9kZSB6dXLDvGNrXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGUgd2VsY2hlciBhbmdlZm9yZGVydCB3aXJkXG4gICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb25zIGRpZSBhbmdlemVpZ3Qgd2VyZGVuIGTDvHJmZW5cbiAgICovXG4gIHB1YmxpYyBHZXROb2RlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L2dldG5vZGVzYDtcblxuICAgIGlmICghcGF0aCkge1xuICAgICAgcGF0aCA9ICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3Nlck5vZGVSZXF1ZXN0KHtcbiAgICAgIFBhdGg6IHBhdGgsXG4gICAgICBBbGxvd2VkVHlwZXM6IGFsbG93ZWRleHRlbnNpb25zLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyTm9kZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVpY2hlcnQgZWluZW4gTm9kZVxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGluIHdlbGNoZW0gZGVyIE5vZGUgZ2VzcGVpY2hlcnQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmFtZSBkZXMgbmV1ZW4gTm9kZXNcbiAgICovXG4gIHB1YmxpYyBTYXZlTm9kZShcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbmV3Rm9sZGVybmFtZTogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L25ld25vZGVgO1xuXG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBwYXRoID0gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZU5ld1JlcXVlc3Qoe1xuICAgICAgUGF0aDogcGF0aCxcbiAgICAgIE5ld0ZvbGRlcm5hbWU6IG5ld0ZvbGRlcm5hbWUsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3Q8SUJyb3dzZXJOb2RlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmFtZSBlaW5lcyBOb2Rlc1xuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlcyB3ZWxjaGVyIHVtYmVuYW5udCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gbmV3Rm9sZGVybmFtZSBOZXVlciBOYW1lIGRlcyBOb2Rlc1xuICAgKi9cbiAgcHVibGljIFJlbmFtZU5vZGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG5ld0ZvbGRlcm5hbWU6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS9yZW5hbWVub2RlYDtcblxuICAgIGlmICghcGF0aCkge1xuICAgICAgcGF0aCA9ICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3Nlck5vZGVSZW5hbWVSZXF1ZXN0KHtcbiAgICAgIFBhdGg6IHBhdGgsXG4gICAgICBOZXdGb2xkZXJuYW1lOiBuZXdGb2xkZXJuYW1lLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wdXQ8SUJyb3dzZXJOb2RlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEzDtnNjaHQgZWluZW4gTm9kZVxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlcyB3ZWxjaGVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxuICAgKi9cbiAgcHVibGljIERlbGV0ZU5vZGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L2RlbGV0ZW5vZGVgO1xuXG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBwYXRoID0gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyTm9kZURlbGV0ZVJlcXVlc3Qoe1xuICAgICAgUGF0aDogcGF0aCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3Nlck5vZGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kZSB3ZWxjaGUgZGllIERhdGVpZW4gZWluZXMgTm9kZXMgYXVzbGllc3RcbiAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICogQHBhcmFtIHBhdGggUGZhZCBkZXMgTm9kZXMgaW4gd2VsY2hlbSBkaWUgRmlsZXMgZ2VsZXNlbiB3ZXJkZW4gc29sbGVuXG4gICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBGaWxlIEV4dGVuc2lvbnNcbiAgICovXG4gIHB1YmxpYyBHZXRGaWxlcyhcbiAgICBhcGl1cmw6IHN0cmluZyxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS9nZXRmaWxlc2A7XG5cbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIHBhdGggPSAnJztcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlUmVxdWVzdCh7XG4gICAgICBQYXRoOiBwYXRoLFxuICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3NlckZpbGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3BlaWNoZXJ0IGVpbmUgSG9jaGdlbGFkZW5lIERhdGVpIGluIGRlciBTdHJ1a3R1clxuICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgKiBAcGFyYW0gcGF0aCBQZmFkIGluIHdlbGNoZW0gZGFzIG5ldWUgRmlsZSBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgKiBAcGFyYW0gaWQgSUQgZGVzIFVwbG9hZHNcbiAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZsO8ciBkZW4gVXBsb2FkXG4gICAqL1xuICBwdWJsaWMgU2F2ZUZpbGUoXG4gICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS91cGxvYWRmaWxlYDtcblxuICAgIGlmICghcGF0aCkge1xuICAgICAgcGF0aCA9ICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3NlckZpbGVTYXZlUmVxdWVzdCh7XG4gICAgICBQYXRoOiBwYXRoLFxuICAgICAgVXBsb2FkSWQ6IGlkLFxuICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucG9zdDxJQnJvd3NlckZpbGVSZXNwb25zZT4odXJsLCByZXF1ZXN0LCB7XG4gICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTMO2c2NodCBlaW5lIERhdGVpXG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIEZpbGVzIHdlbGNoZXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb25zIGbDvHIgRmlsZXNcbiAgICovXG4gIHB1YmxpYyBEZWxldGVGaWxlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L2RlbGV0ZWZpbGVgO1xuXG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICBwYXRoID0gJyc7XG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBCcm93c2VyRmlsZURlbGV0ZVJlcXVlc3Qoe1xuICAgICAgUGF0aDogcGF0aCxcbiAgICAgIEFsbG93ZWRUeXBlczogYWxsb3dlZGV4dGVuc2lvbnMsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3Q8SUJyb3dzZXJGaWxlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZGUgd2VsY2hlIGVpbmUgRGF0ZWkgdW1iZW5hbm50XG4gICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAqIEBwYXJhbSBwYXRoIFBmYWQgenVtIEZpbGUgd2VsY2hlcyB1bWJlbmFubnQgd2VyZGVuIHNvbGxcbiAgICogQHBhcmFtIG5ld0ZpbGVuYW1lIE5ldWVyIERhdGVpbmFtZVxuICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgRXJsYXVidGUgRXh0ZW5zaW9uIGbDvHIgRmlsZXNcbiAgICovXG4gIHB1YmxpYyBSZW5hbWVGaWxlKFxuICAgIGFwaXVybDogc3RyaW5nLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBuZXdGaWxlbmFtZTogc3RyaW5nLFxuICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vcmVuYW1lZmlsZWA7XG5cbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIHBhdGggPSAnJztcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJGaWxlUmVuYW1lUmVxdWVzdCh7XG4gICAgICBQYXRoOiBwYXRoLFxuICAgICAgTmV3RmlsZW5hbWU6IG5ld0ZpbGVuYW1lLFxuICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmh0dHBjbGllbnQucHV0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWZpbGVicm93c2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9zYWMtZmlsZWJyb3dzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUVqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUdyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUczRCxvQkFBb0I7QUFFcEI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsb0JBQW9CLENBQUMsQ0FBQztBQUV2Ryx1QkFBdUI7QUFFdkIsMkJBQTJCO0FBRTNCOztHQUVHO0FBSUgsTUFBTSxPQUFnQiw2QkFBNkI7Ozs7WUFIbEQsVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOztBQXNGRDs7R0FFRztBQUlILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSw2QkFBNkI7SUFDM0UsdUJBQXVCO0lBRXZCOzs7T0FHRztJQUNILFlBQW9CLFVBQXNCO1FBQ3RDLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUUxQyxDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHlCQUF5QjtJQUV6Qjs7Ozs7T0FLRztJQUNJLFVBQVUsQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLGlCQUF5QjtRQUNyRSxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sYUFBYSxDQUFDO1FBRW5DLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixDQUFDO1lBQ3pDLElBQUksRUFBRSxJQUFJO1lBQ1YsWUFBWSxFQUFFLGlCQUFpQjtTQUNsQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUF1QixHQUFHLEVBQUUsT0FBTyxFQUFFO1lBQzVELGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLE1BQWMsRUFBRSxJQUFZO1FBQzFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxhQUFhLENBQUM7UUFFbkMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLElBQUksR0FBRyxFQUFFLENBQUM7U0FDYjtRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksd0JBQXdCLENBQUM7WUFDekMsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUF1QixHQUFHLEVBQUUsT0FBTyxFQUFFO1lBQzVELGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFFBQVEsQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLGlCQUF5QjtRQUNuRSxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sV0FBVyxDQUFDO1FBRWpDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFDO1lBQ25DLElBQUksRUFBRSxJQUFJO1lBQ1YsWUFBWSxFQUFFLGlCQUFpQjtTQUNsQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUF1QixHQUFHLEVBQUUsT0FBTyxFQUFFO1lBQzVELGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE9BQU8sQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLGlCQUF5QjtRQUNsRSxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sV0FBVyxDQUFDO1FBRWpDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixDQUFDO1lBQ25DLElBQUksRUFBRSxJQUFJO1lBQ1YsWUFBWSxFQUFFLGlCQUFpQjtTQUNsQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUF1QixHQUFHLEVBQUUsT0FBTyxFQUFFO1lBQzVELGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxVQUFVLENBQ2IsTUFBYyxFQUNkLElBQVksRUFDWixXQUFtQixFQUNuQixpQkFBeUI7UUFFekIsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLGFBQWEsQ0FBQztRQUVuQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQztZQUN6QyxJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLFlBQVksRUFBRSxpQkFBaUI7U0FDbEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBdUIsR0FBRyxFQUFFLE9BQU8sRUFBRTtZQUMzRCxlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxVQUFVLENBQUMsTUFBYyxFQUFFLElBQVksRUFBRSxhQUFxQjtRQUNqRSxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sYUFBYSxDQUFDO1FBRW5DLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixDQUFDO1lBQ3pDLElBQUksRUFBRSxJQUFJO1lBQ1YsYUFBYSxFQUFFLGFBQWE7U0FDL0IsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBdUIsR0FBRyxFQUFFLE9BQU8sRUFBRTtZQUMzRCxlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksUUFBUSxDQUNYLE1BQWMsRUFDZCxJQUFZLEVBQ1osRUFBVSxFQUNWLGlCQUF5QjtRQUV6QixNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sYUFBYSxDQUFDO1FBRW5DLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLEdBQUcsRUFBRSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLHNCQUFzQixDQUFDO1lBQ3ZDLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLEVBQUU7WUFDWixZQUFZLEVBQUUsaUJBQWlCO1NBQ2xDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXVCLEdBQUcsRUFBRSxPQUFPLEVBQUU7WUFDNUQsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksUUFBUSxDQUFDLE1BQWMsRUFBRSxJQUFZLEVBQUUsYUFBcUI7UUFDL0QsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLFVBQVUsQ0FBQztRQUVoQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsSUFBSSxHQUFHLEVBQUUsQ0FBQztTQUNiO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQztZQUN0QyxJQUFJLEVBQUUsSUFBSTtZQUNWLGFBQWEsRUFBRSxhQUFhO1NBQy9CLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXVCLEdBQUcsRUFBRSxPQUFPLEVBQUU7WUFDNUQsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OztZQXBOSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQS9HUSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJvd3NlckZpbGVEZWxldGVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZWRlbGV0ZXJlcXVlc3QnO1xuaW1wb3J0IHsgQnJvd3NlckZpbGVSZW5hbWVSZXF1ZXN0IH0gZnJvbSAnLi4vY29tcG9uZW50cy9icm93c2VyL21vZGVscy9icm93c2VyZmlsZXJlbmFtZXJlcXVlc3QnO1xuaW1wb3J0IHsgSUJyb3dzZXJGaWxlUmVzcG9uc2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJmaWxlcmVzcG9uc2UnO1xuaW1wb3J0IHsgQnJvd3NlckZpbGVTYXZlUmVxdWVzdCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3NlcmZpbGVzYXZlcmVxdWVzdCc7XG5pbXBvcnQgeyBCcm93c2VyTm9kZURlbGV0ZVJlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlZGVsZXRlcmVxdWVzdCc7XG5pbXBvcnQgeyBCcm93c2VyTm9kZU5ld1JlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlbmV3cmVxdWVzdCc7XG5pbXBvcnQgeyBCcm93c2VyTm9kZVJlbmFtZVJlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlcmVuYW1lcmVxdWVzdCc7XG5pbXBvcnQgeyBCcm93c2VyTm9kZVJlcXVlc3QgfSBmcm9tICcuLi9jb21wb25lbnRzL2Jyb3dzZXIvbW9kZWxzL2Jyb3dzZXJub2RlcmVxdWVzdCc7XG5pbXBvcnQgeyBJQnJvd3Nlck5vZGVSZXNwb25zZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvYnJvd3Nlci9tb2RlbHMvYnJvd3Nlcm5vZGVyZXNwb25zZSc7XG5pbXBvcnQgeyBJU2FjRmlsZUJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JU2FjRmlsZUJyb3dzZXJTZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vLyAjcmVnaW9uIFZhcmlhYmxlc1xuXG4vKipcbiAqIEluamVjdGlvbiBUb2tlbiBmw7xyIExhbmd1YWdlIFNlcnZpY2VcbiAqL1xuZXhwb3J0IGNvbnN0IFNBQ0ZJTEVCUk9XU0VSX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVNhY0ZpbGVCcm93c2VyU2VydmljZT4oJ0ZpbGVCcm93c2VyU2VydmljZScpO1xuXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xuXG4vLyAjcmVnaW9uIEV4cG9ydGVkIENsYXNzZXNcblxuLyoqXG4gKiBBYnN0cmFrdGUgSW1wbGVtZW50aWVydW5nIGRlcyBGaWxlIFNlcnZpY2UgZsO8ciBkaWUgQnJvd3NlciBDb21wb25lbnRcbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQWJzdHJhY3RGaWxlQnJvd3NlclNlcnZpY2UgaW1wbGVtZW50cyBJU2FjRmlsZUJyb3dzZXJTZXJ2aWNlIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBMw7ZzY2h0IGVpbmUgRGF0ZWlcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIEZpbGVzIHdlbGNoZXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZsO8ciBGaWxlc1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBEZWxldGVGaWxlKFxuICAgICAgICBhcGl1cmw6IHN0cmluZyxcbiAgICAgICAgcGF0aDogc3RyaW5nLFxuICAgICAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT47XG5cbiAgICAvKipcbiAgICAgKiBMw7ZzY2h0IGVpbmVuIE5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIHdlbGNoZXIgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IERlbGV0ZU5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+O1xuXG4gICAgLyoqXG4gICAgICogTWV0aG9kZSB3ZWxjaGUgZGllIERhdGVpZW4gZWluZXMgTm9kZXMgYXVzbGllc3RcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIGluIHdlbGNoZW0gZGllIEZpbGVzIGdlbGVzZW4gd2VyZGVuIHNvbGxlblxuICAgICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBGaWxlIEV4dGVuc2lvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgR2V0RmlsZXMoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZyk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+O1xuXG4gICAgLyoqXG4gICAgICogR2lidCBlaW5lbiBOb2RlIHp1csO8Y2tcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGUgd2VsY2hlciBhbmdlZm9yZGVydCB3aXJkXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZGllIGFuZ2V6ZWlndCB3ZXJkZW4gZMO8cmZlblxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBHZXROb2RlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPjtcblxuICAgIC8qKlxuICAgICAqIE1ldGhvZGUgd2VsY2hlIGVpbmUgRGF0ZWkgdW1iZW5hbm50XG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQZmFkIHp1bSBGaWxlIHdlbGNoZXMgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIG5ld0ZpbGVuYW1lIE5ldWVyIERhdGVpbmFtZVxuICAgICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb24gZsO8ciBGaWxlc1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBSZW5hbWVGaWxlKFxuICAgICAgICBhcGl1cmw6IHN0cmluZyxcbiAgICAgICAgcGF0aDogc3RyaW5nLFxuICAgICAgICBuZXdGaWxlbmFtZTogc3RyaW5nLFxuICAgICAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT47XG5cbiAgICAvKipcbiAgICAgKiBSZW5hbWUgZWluZXMgTm9kZXNcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIHdlbGNoZXIgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmV1ZXIgTmFtZSBkZXMgTm9kZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgUmVuYW1lTm9kZShhcGl1cmw6IHN0cmluZywgcGF0aDogc3RyaW5nLCBuZXdGb2xkZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPjtcblxuICAgIC8qKlxuICAgICAqIFNwZWljaGVydCBlaW5lIEhvY2hnZWxhZGVuZSBEYXRlaSBpbiBkZXIgU3RydWt0dXJcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgaW4gd2VsY2hlbSBkYXMgbmV1ZSBGaWxlIGdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIGlkIElEIGRlcyBVcGxvYWRzXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZsO8ciBkZW4gVXBsb2FkXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IFNhdmVGaWxlKFxuICAgICAgICBhcGl1cmw6IHN0cmluZyxcbiAgICAgICAgcGF0aDogc3RyaW5nLFxuICAgICAgICBpZDogc3RyaW5nLFxuICAgICAgICBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nXG4gICAgKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT47XG5cbiAgICAvKipcbiAgICAgKiBTcGVpY2hlcnQgZWluZW4gTm9kZVxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGZhZCBpbiB3ZWxjaGVtIGRlciBOb2RlIGdlc3BlaWNoZXJ0IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmFtZSBkZXMgbmV1ZW4gTm9kZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgU2F2ZU5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgbmV3Rm9sZGVybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3Nlck5vZGVSZXNwb25zZT47XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG5cbi8qKlxuICogU3RhbmRhcmRpbXBsZW1lbnRpZXJ1bmcgZGVzIEJhY2tlbmQgU2VydmljZSBmw7xyIGRpZSBGaWxlIEJyb3dzZXIgQ29tcG9uZW50XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNhY0RlZmF1bHRGaWxlQnJvd3NlclNlcnZpY2UgZXh0ZW5kcyBTYWNBYnN0cmFjdEZpbGVCcm93c2VyU2VydmljZSB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIEtvbnN0cnVrdG9yXG4gICAgICogQHBhcmFtIGh0dHBjbGllbnQgSFRUUCBDbGllbnQgU2VydmljZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cGNsaWVudDogSHR0cENsaWVudCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBMw7ZzY2h0IGVpbmUgRGF0ZWlcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIEZpbGVzIHdlbGNoZXMgZ2Vsw7ZzY2h0IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbnMgZsO8ciBGaWxlc1xuICAgICAqL1xuICAgIHB1YmxpYyBEZWxldGVGaWxlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlZmlsZWA7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJGaWxlRGVsZXRlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTMO2c2NodCBlaW5lbiBOb2RlXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQZmFkIGRlcyBOb2RlcyB3ZWxjaGVyIGdlbMO2c2NodCB3ZXJkZW4gc29sbFxuICAgICAqL1xuICAgIHB1YmxpYyBEZWxldGVOb2RlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vZGVsZXRlbm9kZWA7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlRGVsZXRlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3Q8SUJyb3dzZXJOb2RlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2RlIHdlbGNoZSBkaWUgRGF0ZWllbiBlaW5lcyBOb2RlcyBhdXNsaWVzdFxuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGZhZCBkZXMgTm9kZXMgaW4gd2VsY2hlbSBkaWUgRmlsZXMgZ2VsZXNlbiB3ZXJkZW4gc29sbGVuXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEZpbGUgRXh0ZW5zaW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBHZXRGaWxlcyhhcGl1cmw6IHN0cmluZywgcGF0aDogc3RyaW5nLCBhbGxvd2VkZXh0ZW5zaW9uczogc3RyaW5nKTogT2JzZXJ2YWJsZTxJQnJvd3NlckZpbGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHthcGl1cmx9L2dldGZpbGVzYDtcblxuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICAgIHBhdGggPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3Nlck5vZGVSZXF1ZXN0KHtcbiAgICAgICAgICAgIFBhdGg6IHBhdGgsXG4gICAgICAgICAgICBBbGxvd2VkVHlwZXM6IGFsbG93ZWRleHRlbnNpb25zLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3Q8SUJyb3dzZXJGaWxlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaWJ0IGVpbmVuIE5vZGUgenVyw7xja1xuICAgICAqIEBwYXJhbSBhcGl1cmwgVVJMIHp1IEFQSSBTZXJ2aWNlXG4gICAgICogQHBhcmFtIHBhdGggUGZhZCBkZXMgTm9kZSB3ZWxjaGVyIGFuZ2Vmb3JkZXJ0IHdpcmRcbiAgICAgKiBAcGFyYW0gYWxsb3dlZGV4dGVuc2lvbnMgRXJsYXVidGUgRXh0ZW5zaW9ucyBkaWUgYW5nZXplaWd0IHdlcmRlbiBkw7xyZmVuXG4gICAgICovXG4gICAgcHVibGljIEdldE5vZGUoYXBpdXJsOiBzdHJpbmcsIHBhdGg6IHN0cmluZywgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZyk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS9nZXRub2Rlc2A7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyTm9kZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kZSB3ZWxjaGUgZWluZSBEYXRlaSB1bWJlbmFubnRcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgenVtIEZpbGUgd2VsY2hlcyB1bWJlbmFubnQgd2VyZGVuIHNvbGxcbiAgICAgKiBAcGFyYW0gbmV3RmlsZW5hbWUgTmV1ZXIgRGF0ZWluYW1lXG4gICAgICogQHBhcmFtIGFsbG93ZWRleHRlbnNpb25zIEVybGF1YnRlIEV4dGVuc2lvbiBmw7xyIEZpbGVzXG4gICAgICovXG4gICAgcHVibGljIFJlbmFtZUZpbGUoXG4gICAgICAgIGFwaXVybDogc3RyaW5nLFxuICAgICAgICBwYXRoOiBzdHJpbmcsXG4gICAgICAgIG5ld0ZpbGVuYW1lOiBzdHJpbmcsXG4gICAgICAgIGFsbG93ZWRleHRlbnNpb25zOiBzdHJpbmdcbiAgICApOiBPYnNlcnZhYmxlPElCcm93c2VyRmlsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vcmVuYW1lZmlsZWA7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJGaWxlUmVuYW1lUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgTmV3RmlsZW5hbWU6IG5ld0ZpbGVuYW1lLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wdXQ8SUJyb3dzZXJGaWxlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW5hbWUgZWluZXMgTm9kZXNcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgZGVzIE5vZGVzIHdlbGNoZXIgdW1iZW5hbm50IHdlcmRlbiBzb2xsXG4gICAgICogQHBhcmFtIG5ld0ZvbGRlcm5hbWUgTmV1ZXIgTmFtZSBkZXMgTm9kZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgUmVuYW1lTm9kZShhcGl1cmw6IHN0cmluZywgcGF0aDogc3RyaW5nLCBuZXdGb2xkZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElCcm93c2VyTm9kZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2FwaXVybH0vcmVuYW1lbm9kZWA7XG5cbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICBwYXRoID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEJyb3dzZXJOb2RlUmVuYW1lUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgTmV3Rm9sZGVybmFtZTogbmV3Rm9sZGVybmFtZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wdXQ8SUJyb3dzZXJOb2RlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTcGVpY2hlcnQgZWluZSBIb2NoZ2VsYWRlbmUgRGF0ZWkgaW4gZGVyIFN0cnVrdHVyXG4gICAgICogQHBhcmFtIGFwaXVybCBVUkwgenUgQVBJIFNlcnZpY2VcbiAgICAgKiBAcGFyYW0gcGF0aCBQZmFkIGluIHdlbGNoZW0gZGFzIG5ldWUgRmlsZSBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgICAqIEBwYXJhbSBpZCBJRCBkZXMgVXBsb2Fkc1xuICAgICAqIEBwYXJhbSBhbGxvd2VkZXh0ZW5zaW9ucyBFcmxhdWJ0ZSBFeHRlbnNpb25zIGbDvHIgZGVuIFVwbG9hZFxuICAgICAqL1xuICAgIHB1YmxpYyBTYXZlRmlsZShcbiAgICAgICAgYXBpdXJsOiBzdHJpbmcsXG4gICAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgYWxsb3dlZGV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8SUJyb3dzZXJGaWxlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS91cGxvYWRmaWxlYDtcblxuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICAgIHBhdGggPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3NlckZpbGVTYXZlUmVxdWVzdCh7XG4gICAgICAgICAgICBQYXRoOiBwYXRoLFxuICAgICAgICAgICAgVXBsb2FkSWQ6IGlkLFxuICAgICAgICAgICAgQWxsb3dlZFR5cGVzOiBhbGxvd2VkZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cGNsaWVudC5wb3N0PElCcm93c2VyRmlsZVJlc3BvbnNlPih1cmwsIHJlcXVlc3QsIHtcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3BlaWNoZXJ0IGVpbmVuIE5vZGVcbiAgICAgKiBAcGFyYW0gYXBpdXJsIFVSTCB6dSBBUEkgU2VydmljZVxuICAgICAqIEBwYXJhbSBwYXRoIFBmYWQgaW4gd2VsY2hlbSBkZXIgTm9kZSBnZXNwZWljaGVydCB3ZXJkZW4gc29sbFxuICAgICAqIEBwYXJhbSBuZXdGb2xkZXJuYW1lIE5hbWUgZGVzIG5ldWVuIE5vZGVzXG4gICAgICovXG4gICAgcHVibGljIFNhdmVOb2RlKGFwaXVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIG5ld0ZvbGRlcm5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8SUJyb3dzZXJOb2RlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YXBpdXJsfS9uZXdub2RlYDtcblxuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICAgIHBhdGggPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQnJvd3Nlck5vZGVOZXdSZXF1ZXN0KHtcbiAgICAgICAgICAgIFBhdGg6IHBhdGgsXG4gICAgICAgICAgICBOZXdGb2xkZXJuYW1lOiBuZXdGb2xkZXJuYW1lLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwY2xpZW50LnBvc3Q8SUJyb3dzZXJOb2RlUmVzcG9uc2U+KHVybCwgcmVxdWVzdCwge1xuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXG59XG5cbi8vICNlbmRyZWdpb24gRXhwb3J0ZWQgQ2xhc3Nlc1xuIl19
|
|
@@ -105,6 +105,36 @@ export class SacDefaultIconService extends SacAbstractIconService {
|
|
|
105
105
|
get GenericHelptextIcon() {
|
|
106
106
|
return 'fa fa-info-circle';
|
|
107
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* @inheritdoc
|
|
110
|
+
*/
|
|
111
|
+
get GridButtonDefaultDeleteIcon() {
|
|
112
|
+
return 'fa-trash';
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* @inheritdoc
|
|
116
|
+
*/
|
|
117
|
+
get GridButtonDefaultDeleteIconSet() {
|
|
118
|
+
return 'fa';
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* @inheritdoc
|
|
122
|
+
*/
|
|
123
|
+
get GridButtonDefaultEditIcon() {
|
|
124
|
+
return 'fa-pen';
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* @inheritdoc
|
|
128
|
+
*/
|
|
129
|
+
get GridButtonDefaultEditIconSet() {
|
|
130
|
+
return 'fa';
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* @inheritdoc
|
|
134
|
+
*/
|
|
135
|
+
get GridButtonDisabledIconSuffix() {
|
|
136
|
+
return ' disabled';
|
|
137
|
+
}
|
|
108
138
|
/**
|
|
109
139
|
* @inheritdoc
|
|
110
140
|
*/
|
|
@@ -200,4 +230,4 @@ SacDefaultIconService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SacDe
|
|
|
200
230
|
SacDefaultIconService.decorators = [
|
|
201
231
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
202
232
|
];
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWljb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3NhYy1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNELG9CQUFvQjtBQUVwQjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsZ0JBQWdCLENBQUMsQ0FBQztBQUVyRix1QkFBdUI7QUFFdkIsMkJBQTJCO0FBRTNCOztHQUVHO0FBRUgsTUFBTSxPQUFnQixzQkFBc0I7Ozs7WUFEM0MsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUF3SmxDOztLQUVLO0FBRUwsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHNCQUFzQjtJQUM3RCxxQ0FBcUM7SUFFckM7O09BRUc7SUFDSCxJQUFXLDBCQUEwQjtRQUNqQyxPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLHdCQUF3QjtRQUMvQixPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGdDQUFnQztRQUN2QyxPQUFPLG1CQUFtQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsK0JBQStCO1FBQ3RDLE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsNkJBQTZCO1FBQ3BDLE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsOEJBQThCO1FBQ3JDLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVywyQkFBMkI7UUFDbEMsT0FBTyxpQkFBaUIsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLG1CQUFtQjtRQUMxQixPQUFPLG1DQUFtQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyx5QkFBeUI7UUFDaEMsT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLDZCQUE2QjtRQUNwQyxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsc0NBQXNDO1FBQzdDLE9BQU8scUJBQXFCLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxzQ0FBc0M7UUFDN0MsT0FBTyxvQkFBb0IsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLG1CQUFtQjtRQUMxQixPQUFPLG1CQUFtQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcscUJBQXFCO1FBQzVCLE9BQU8sa0JBQWtCLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxtQkFBbUI7UUFDMUIsT0FBTyxnQkFBZ0IsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLDBCQUEwQjtRQUNqQyxPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsMkJBQTJCO1FBQ2xDLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcscUJBQXFCO1FBQzVCLE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcseUJBQXlCO1FBQ2hDLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsc0JBQXNCO1FBQzdCLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsc0JBQXNCO1FBQzdCLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxxQkFBcUI7UUFDNUIsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxvQkFBb0I7UUFDM0IsT0FBTyxtQkFBbUIsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLHlCQUF5QjtRQUNoQyxPQUFPLG1CQUFtQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsMkJBQTJCO1FBQ2xDLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcseUJBQXlCO1FBQ2hDLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsd0JBQXdCO1FBQy9CLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcseUJBQXlCO1FBQ2hDLE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7Ozs7WUE3TUosVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElTYWNJY29uU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0ljb25TZXJ2aWNlJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vICNyZWdpb24gVmFyaWFibGVzXG5cbi8qKlxuICogaW5qZWN0aW9uIHRva2VuIGZvciBjb21wb25lbnQgaWNvbiBzZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBTQUNJQ09OX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVNhY0ljb25TZXJ2aWNlPignU2FjSWNvblNlcnZpY2UnKTtcblxuLy8gI2VuZHJlZ2lvbiBWYXJpYWJsZXNcblxuLy8gI3JlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXG5cbi8qKlxuICogYWJzdHJhY3QgY2xhc3MgZm9yIGljb24gcHJvdmlkaW5nIGluIGNvbXBvbmVudHNcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNBYnN0cmFjdEljb25TZXJ2aWNlIGltcGxlbWVudHMgSVNhY0ljb25TZXJ2aWNlIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgQnJvd3NlckNvbXBvbmVudERlbGV0ZUljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEJyb3dzZXJDb21wb25lbnRFZGl0SWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgQnJvd3NlckNvbXBvbmVudEZvbGRlckNsb3NlZEljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEJyb3dzZXJDb21wb25lbnRGb2xkZXJFbXB0eUljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEJyb3dzZXJDb21wb25lbnRGb2xkZXJOZXdJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBCcm93c2VyQ29tcG9uZW50Rm9sZGVyT3Blbkljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEJyb3dzZXJDb21wb25lbnRSZWZyZXNoSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgQ29uZmlybURlZmF1bHRJbWFnZSgpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgQ29udGV4dE1lbnVPcGVuSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgRGF0ZUNvbXBvbmVudFNlbGVjdG9ySWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgRGF0ZVRpbWVDb21wb25lbnRTZWxlY3Rvckljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnRNb250aE5leHRJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBEYXRlVGltZVNlbGVjdG9yQ29tcG9uZW50TW9udGhQcmV2SWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgR2VuZXJpY0hlbHB0ZXh0SWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgR3JpZENvbXBvbmVudFNvcnREb3duKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBHcmlkQ29tcG9uZW50U29ydFVwKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBJbnB1dFBhc3N3b3JkRXllSGlkZGVuSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgSW5wdXRQYXNzd29yZEV5ZVZpc2libGVJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBJbnB1dFNlYXJjaEJ1dHRvbkljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IFRpbWVDb21wb25lbnRTZWxlY3Rvckljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IFRyZWV2aWV3Tm9kZUFjdGlvbkljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IFRyZWV2aWV3Tm9kZUNsb3NlZEljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IFRyZWV2aWV3Tm9kZUVtcHR5SWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgVHJlZXZpZXdOb2RlT3Blbkljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IFVwbG9hZENvbXBvbmVudEJyb3dzZUljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IFVwbG9hZENvbXBvbmVudENvbnRpbnVlSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgVXBsb2FkQ29tcG9uZW50RGVsZXRlSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgVXBsb2FkQ29tcG9uZW50UGF1c2VJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBVcGxvYWRDb21wb25lbnRVcGxvYWRJY29uKCk6IHN0cmluZztcblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcbn1cblxuLyoqXG4gKiBkZWZhdWx0IGljb25zIHNlcnZpY2UgZm9yIGNvbXBvbmVudHNcbiAqICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNhY0RlZmF1bHRJY29uU2VydmljZSBleHRlbmRzIFNhY0Fic3RyYWN0SWNvblNlcnZpY2Uge1xuICAgIC8vICNyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBCcm93c2VyQ29tcG9uZW50RGVsZXRlSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhcyBmYS10cmFzaCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEJyb3dzZXJDb21wb25lbnRFZGl0SWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhcyBmYS1wZW4nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBCcm93c2VyQ29tcG9uZW50Rm9sZGVyQ2xvc2VkSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWZvbGRlci1wbHVzJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgQnJvd3NlckNvbXBvbmVudEZvbGRlckVtcHR5SWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWZvbGRlcic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEJyb3dzZXJDb21wb25lbnRGb2xkZXJOZXdJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmFyIGZhLWZvbGRlcic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEJyb3dzZXJDb21wb25lbnRGb2xkZXJPcGVuSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWZvbGRlci1vcGVuJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgQnJvd3NlckNvbXBvbmVudFJlZnJlc2hJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmFzIGZhLXN5bmMtYWx0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgQ29uZmlybURlZmF1bHRJbWFnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJy9hc3NldHMvaWNvbnMvZGlhbG9nL3F1ZXN0aW9uLnBuZyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IENvbnRleHRNZW51T3Blbkljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYXMgZmEtZWxsaXBzaXMtdic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IERhdGVDb21wb25lbnRTZWxlY3Rvckljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1jYWxlbmRhcic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IERhdGVUaW1lQ29tcG9uZW50U2VsZWN0b3JJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtY2FsZW5kYXInO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBEYXRlVGltZVNlbGVjdG9yQ29tcG9uZW50TW9udGhOZXh0SWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWNoZXZyb24tcmlnaHQnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBEYXRlVGltZVNlbGVjdG9yQ29tcG9uZW50TW9udGhQcmV2SWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWNoZXZyb24tbGVmdCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEdlbmVyaWNIZWxwdGV4dEljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1pbmZvLWNpcmNsZSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEdyaWRDb21wb25lbnRTb3J0RG93bigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWNhcmV0LWRvd24nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBHcmlkQ29tcG9uZW50U29ydFVwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtY2FyZXQtdXAnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBJbnB1dFBhc3N3b3JkRXllSGlkZGVuSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWV5ZS1zbGFzaCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IElucHV0UGFzc3dvcmRFeWVWaXNpYmxlSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWV5ZSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IElucHV0U2VhcmNoQnV0dG9uSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhcyBmYS1zZWFyY2gnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBUaW1lQ29tcG9uZW50U2VsZWN0b3JJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtY2xvY2snO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBUcmVldmlld05vZGVBY3Rpb25JY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtcGVuJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgVHJlZXZpZXdOb2RlQ2xvc2VkSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWZvbGRlci1wbHVzJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgVHJlZXZpZXdOb2RlRW1wdHlJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtZm9sZGVyJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgVHJlZXZpZXdOb2RlT3Blbkljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1mb2xkZXItb3Blbic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IFVwbG9hZENvbXBvbmVudEJyb3dzZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1mb2xkZXItb3Blbic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IFVwbG9hZENvbXBvbmVudENvbnRpbnVlSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLXBsYXknO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBVcGxvYWRDb21wb25lbnREZWxldGVJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtdGltZXMnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBVcGxvYWRDb21wb25lbnRQYXVzZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1wYXVzZSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IFVwbG9hZENvbXBvbmVudFVwbG9hZEljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS11cGxvYWQnO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcbn1cblxuLy8gI2VuZHJlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXG4iXX0=
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWljb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3NhYy1pY29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNELG9CQUFvQjtBQUVwQjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsZ0JBQWdCLENBQUMsQ0FBQztBQUVyRix1QkFBdUI7QUFFdkIsMkJBQTJCO0FBRTNCOztHQUVHO0FBRUgsTUFBTSxPQUFnQixzQkFBc0I7Ozs7WUFEM0MsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFpTGxDOztLQUVLO0FBRUwsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHNCQUFzQjtJQUM3RCxxQ0FBcUM7SUFFckM7O09BRUc7SUFDSCxJQUFXLDBCQUEwQjtRQUNqQyxPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLHdCQUF3QjtRQUMvQixPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGdDQUFnQztRQUN2QyxPQUFPLG1CQUFtQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsK0JBQStCO1FBQ3RDLE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsNkJBQTZCO1FBQ3BDLE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsOEJBQThCO1FBQ3JDLE9BQU8sbUJBQW1CLENBQUM7SUFDL0Is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ZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSVNhY0ljb25TZXJ2aWNlJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vICNyZWdpb24gVmFyaWFibGVzXG5cbi8qKlxuICogaW5qZWN0aW9uIHRva2VuIGZvciBjb21wb25lbnQgaWNvbiBzZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBTQUNJQ09OX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVNhY0ljb25TZXJ2aWNlPignU2FjSWNvblNlcnZpY2UnKTtcblxuLy8gI2VuZHJlZ2lvbiBWYXJpYWJsZXNcblxuLy8gI3JlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXG5cbi8qKlxuICogYWJzdHJhY3QgY2xhc3MgZm9yIGljb24gcHJvdmlkaW5nIGluIGNvbXBvbmVudHNcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNBYnN0cmFjdEljb25TZXJ2aWNlIGltcGxlbWVudHMgSVNhY0ljb25TZXJ2aWNlIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgQnJvd3NlckNvbXBvbmVudERlbGV0ZUljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEJyb3dzZXJDb21wb25lbnRFZGl0SWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgQnJvd3NlckNvbXBvbmVudEZvbGRlckNsb3NlZEljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEJyb3dzZXJDb21wb25lbnRGb2xkZXJFbXB0eUljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEJyb3dzZXJDb21wb25lbnRGb2xkZXJOZXdJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBCcm93c2VyQ29tcG9uZW50Rm9sZGVyT3Blbkljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEJyb3dzZXJDb21wb25lbnRSZWZyZXNoSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgQ29uZmlybURlZmF1bHRJbWFnZSgpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgQ29udGV4dE1lbnVPcGVuSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgRGF0ZUNvbXBvbmVudFNlbGVjdG9ySWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgRGF0ZVRpbWVDb21wb25lbnRTZWxlY3Rvckljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IERhdGVUaW1lU2VsZWN0b3JDb21wb25lbnRNb250aE5leHRJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBEYXRlVGltZVNlbGVjdG9yQ29tcG9uZW50TW9udGhQcmV2SWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgR2VuZXJpY0hlbHB0ZXh0SWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgR3JpZEJ1dHRvbkRlZmF1bHREZWxldGVJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBHcmlkQnV0dG9uRGVmYXVsdERlbGV0ZUljb25TZXQoKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEdyaWRCdXR0b25EZWZhdWx0RWRpdEljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEdyaWRCdXR0b25EZWZhdWx0RWRpdEljb25TZXQoKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEdyaWRCdXR0b25EaXNhYmxlZEljb25TdWZmaXgoKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IEdyaWRDb21wb25lbnRTb3J0RG93bigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgR3JpZENvbXBvbmVudFNvcnRVcCgpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgSW5wdXRQYXNzd29yZEV5ZUhpZGRlbkljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IElucHV0UGFzc3dvcmRFeWVWaXNpYmxlSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgSW5wdXRTZWFyY2hCdXR0b25JY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBUaW1lQ29tcG9uZW50U2VsZWN0b3JJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBUcmVldmlld05vZGVBY3Rpb25JY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBUcmVldmlld05vZGVDbG9zZWRJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBUcmVldmlld05vZGVFbXB0eUljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IFRyZWV2aWV3Tm9kZU9wZW5JY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBVcGxvYWRDb21wb25lbnRCcm93c2VJY29uKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IGdldCBVcGxvYWRDb21wb25lbnRDb250aW51ZUljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IFVwbG9hZENvbXBvbmVudERlbGV0ZUljb24oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0IFVwbG9hZENvbXBvbmVudFBhdXNlSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgVXBsb2FkQ29tcG9uZW50VXBsb2FkSWNvbigpOiBzdHJpbmc7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG59XG5cbi8qKlxuICogZGVmYXVsdCBpY29ucyBzZXJ2aWNlIGZvciBjb21wb25lbnRzXG4gKiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTYWNEZWZhdWx0SWNvblNlcnZpY2UgZXh0ZW5kcyBTYWNBYnN0cmFjdEljb25TZXJ2aWNlIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgQnJvd3NlckNvbXBvbmVudERlbGV0ZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYXMgZmEtdHJhc2gnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBCcm93c2VyQ29tcG9uZW50RWRpdEljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYXMgZmEtcGVuJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgQnJvd3NlckNvbXBvbmVudEZvbGRlckNsb3NlZEljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1mb2xkZXItcGx1cyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEJyb3dzZXJDb21wb25lbnRGb2xkZXJFbXB0eUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1mb2xkZXInO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBCcm93c2VyQ29tcG9uZW50Rm9sZGVyTmV3SWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhciBmYS1mb2xkZXInO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBCcm93c2VyQ29tcG9uZW50Rm9sZGVyT3Blbkljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1mb2xkZXItb3Blbic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEJyb3dzZXJDb21wb25lbnRSZWZyZXNoSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhcyBmYS1zeW5jLWFsdCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IENvbmZpcm1EZWZhdWx0SW1hZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcvYXNzZXRzL2ljb25zL2RpYWxvZy9xdWVzdGlvbi5wbmcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBDb250ZXh0TWVudU9wZW5JY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmFzIGZhLWVsbGlwc2lzLXYnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBEYXRlQ29tcG9uZW50U2VsZWN0b3JJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtY2FsZW5kYXInO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBEYXRlVGltZUNvbXBvbmVudFNlbGVjdG9ySWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWNhbGVuZGFyJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgRGF0ZVRpbWVTZWxlY3RvckNvbXBvbmVudE1vbnRoTmV4dEljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1jaGV2cm9uLXJpZ2h0JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgRGF0ZVRpbWVTZWxlY3RvckNvbXBvbmVudE1vbnRoUHJldkljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1jaGV2cm9uLWxlZnQnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBHZW5lcmljSGVscHRleHRJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtaW5mby1jaXJjbGUnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBHcmlkQnV0dG9uRGVmYXVsdERlbGV0ZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYS10cmFzaCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEdyaWRCdXR0b25EZWZhdWx0RGVsZXRlSWNvblNldCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgR3JpZEJ1dHRvbkRlZmF1bHRFZGl0SWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhLXBlbic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEdyaWRCdXR0b25EZWZhdWx0RWRpdEljb25TZXQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IEdyaWRCdXR0b25EaXNhYmxlZEljb25TdWZmaXgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcgZGlzYWJsZWQnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBHcmlkQ29tcG9uZW50U29ydERvd24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1jYXJldC1kb3duJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgR3JpZENvbXBvbmVudFNvcnRVcCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWNhcmV0LXVwJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgSW5wdXRQYXNzd29yZEV5ZUhpZGRlbkljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1leWUtc2xhc2gnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBJbnB1dFBhc3N3b3JkRXllVmlzaWJsZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1leWUnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBJbnB1dFNlYXJjaEJ1dHRvbkljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYXMgZmEtc2VhcmNoJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgVGltZUNvbXBvbmVudFNlbGVjdG9ySWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWNsb2NrJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgVHJlZXZpZXdOb2RlQWN0aW9uSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLXBlbic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IFRyZWV2aWV3Tm9kZUNsb3NlZEljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1mb2xkZXItcGx1cyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IFRyZWV2aWV3Tm9kZUVtcHR5SWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLWZvbGRlcic7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXRkb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IFRyZWV2aWV3Tm9kZU9wZW5JY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtZm9sZGVyLW9wZW4nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBVcGxvYWRDb21wb25lbnRCcm93c2VJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtZm9sZGVyLW9wZW4nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBVcGxvYWRDb21wb25lbnRDb250aW51ZUljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdmYSBmYS1wbGF5JztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgVXBsb2FkQ29tcG9uZW50RGVsZXRlSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2ZhIGZhLXRpbWVzJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgVXBsb2FkQ29tcG9uZW50UGF1c2VJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtcGF1c2UnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIGdldCBVcGxvYWRDb21wb25lbnRVcGxvYWRJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnZmEgZmEtdXBsb2FkJztcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXG59XG5cbi8vICNlbmRyZWdpb24gRXhwb3J0ZWQgQ2xhc3Nlc1xuIl19
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { IconType } from '../enums/IconType';
|
|
1
2
|
import { Injectable, InjectionToken } from '@angular/core';
|
|
2
3
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { IconType } from '../enums/IconType';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
// #region Variables
|
|
5
6
|
/**
|
|
6
7
|
* injection token for language service
|
|
7
8
|
*/
|
|
8
9
|
export const SACLANGUAGE_SERVICE = new InjectionToken('SacLanguageService');
|
|
10
|
+
// #endregion Variables
|
|
11
|
+
// #region Exported Classes
|
|
9
12
|
/**
|
|
10
13
|
* abstract class for languages provides in components
|
|
11
14
|
*/
|
|
@@ -19,6 +22,7 @@ SacAbstractLanguageService.decorators = [
|
|
|
19
22
|
* default service for languages
|
|
20
23
|
* */
|
|
21
24
|
export class SacDefaultLanguageService extends SacAbstractLanguageService {
|
|
25
|
+
// #region Public Methods
|
|
22
26
|
/**
|
|
23
27
|
* @inheritdoc
|
|
24
28
|
*/
|
|
@@ -40,4 +44,4 @@ SacDefaultLanguageService.ɵprov = i0.ɵɵdefineInjectable({ factory: function S
|
|
|
40
44
|
SacDefaultLanguageService.decorators = [
|
|
41
45
|
{ type: Injectable, args: [{ providedIn: 'root' },] }
|
|
42
46
|
];
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FjLWxhbmd1YWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvIiwic291cmNlcyI6WyJzZXJ2aWNlcy9zYWMtbGFuZ3VhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFbEMsb0JBQW9CO0FBRXBCOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQXNCLG9CQUFvQixDQUFDLENBQUM7QUFFakcsdUJBQXVCO0FBRXZCLDJCQUEyQjtBQUUzQjs7R0FFRztBQUVILE1BQU0sT0FBZ0IsMEJBQTBCOzs7O1lBRC9DLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBWWxDOztLQUVLO0FBRUwsTUFBTSxPQUFPLHlCQUEwQixTQUFRLDBCQUEwQjtJQUNyRSx5QkFBeUI7SUFFekI7O09BRUc7SUFDSSxZQUFZO1FBQ2YsT0FBTyxJQUFJLFVBQVUsQ0FBa0IsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNoRCxNQUFNLE1BQU0sR0FBb0IsRUFBRSxDQUFDO1lBRW5DLE1BQU0sQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLFFBQVEsRUFBRSxRQUFRLENBQUMsS0FBSztnQkFDeEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFLFNBQVM7YUFDbEIsQ0FBQyxDQUFDO1lBRUgsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7O1lBckJKLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4uL2VudW1zL0ljb25UeXBlJztcbmltcG9ydCB7IElTYWNMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lTYWNMYW5ndWFnZVNlcnZpY2UnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VNb2RlbCB9IGZyb20gJy4uL21vZGVscy9sYW5ndWFnZW1vZGVsJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8vICNyZWdpb24gVmFyaWFibGVzXG5cbi8qKlxuICogaW5qZWN0aW9uIHRva2VuIGZvciBsYW5ndWFnZSBzZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBTQUNMQU5HVUFHRV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElTYWNMYW5ndWFnZVNlcnZpY2U+KCdTYWNMYW5ndWFnZVNlcnZpY2UnKTtcblxuLy8gI2VuZHJlZ2lvbiBWYXJpYWJsZXNcblxuLy8gI3JlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXG5cbi8qKlxuICogYWJzdHJhY3QgY2xhc3MgZm9yIGxhbmd1YWdlcyBwcm92aWRlcyBpbiBjb21wb25lbnRzXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjQWJzdHJhY3RMYW5ndWFnZVNlcnZpY2UgaW1wbGVtZW50cyBJU2FjTGFuZ3VhZ2VTZXJ2aWNlIHtcbiAgICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdGRvY1xuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBHZXRMYW5ndWFnZXMoKTogT2JzZXJ2YWJsZTxMYW5ndWFnZU1vZGVsW10+O1xuXG4gICAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xufVxuXG4vKipcbiAqIGRlZmF1bHQgc2VydmljZSBmb3IgbGFuZ3VhZ2VzXG4gKiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTYWNEZWZhdWx0TGFuZ3VhZ2VTZXJ2aWNlIGV4dGVuZHMgU2FjQWJzdHJhY3RMYW5ndWFnZVNlcnZpY2Uge1xuICAgIC8vICNyZWdpb24gUHVibGljIE1ldGhvZHNcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0ZG9jXG4gICAgICovXG4gICAgcHVibGljIEdldExhbmd1YWdlcygpOiBPYnNlcnZhYmxlPExhbmd1YWdlTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8TGFuZ3VhZ2VNb2RlbFtdPigob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogTGFuZ3VhZ2VNb2RlbFtdID0gW107XG5cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBJY29uOiAnL2ljb25zL2VuLnBuZycsXG4gICAgICAgICAgICAgICAgSWNvblR5cGU6IEljb25UeXBlLkltYWdlLFxuICAgICAgICAgICAgICAgIElzb0NvZGU6ICdlbicsXG4gICAgICAgICAgICAgICAgVGV4dDogJ0VuZ2xpc2gnLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcbn1cblxuLy8gI2VuZHJlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// #region Functions
|
|
2
1
|
/**
|
|
3
2
|
* create a guid with crypto library if availabe and a fallback to Math.Random implementation
|
|
4
3
|
*/
|
|
4
|
+
// #region Exported Functions
|
|
5
5
|
export function createGuid() {
|
|
6
6
|
if (typeof crypto !== undefined && crypto['randomUUID'] !== undefined) {
|
|
7
7
|
// return guid without hyphen
|
|
@@ -9,10 +9,10 @@ export function createGuid() {
|
|
|
9
9
|
}
|
|
10
10
|
else {
|
|
11
11
|
return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
12
|
-
|
|
12
|
+
const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
13
13
|
return v.toString(16);
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
// #endregion Functions
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
// #endregion Exported Functions
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbInV0aWxpdGllcy9ndWlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsNkJBQTZCO0FBRTdCLE1BQU0sVUFBVSxVQUFVO0lBQ3RCLElBQUksT0FBTyxNQUFNLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxTQUFTLEVBQUU7UUFDbkUsNkJBQTZCO1FBQzdCLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztLQUNyRDtTQUFNO1FBQ0gsT0FBTyxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztZQUNsRSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQzlCLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUN4QyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7S0FDTjtBQUNMLENBQUM7QUFFRCxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGNyZWF0ZSBhIGd1aWQgd2l0aCBjcnlwdG8gbGlicmFyeSBpZiBhdmFpbGFiZSBhbmQgYSBmYWxsYmFjayB0byBNYXRoLlJhbmRvbSBpbXBsZW1lbnRhdGlvblxuICovXG4vLyAjcmVnaW9uIEV4cG9ydGVkIEZ1bmN0aW9uc1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR3VpZCgpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgY3J5cHRvICE9PSB1bmRlZmluZWQgJiYgY3J5cHRvWydyYW5kb21VVUlEJ10gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyByZXR1cm4gZ3VpZCB3aXRob3V0IGh5cGhlblxuICAgICAgICByZXR1cm4gY3J5cHRvWydyYW5kb21VVUlEJ10oKS5yZXBsYWNlKC9cXC0vZ2ksICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gJ3h4eHh4eHh4eHh4eDR4eHh5eHh4eHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIGZ1bmN0aW9uIChjKSB7XG4gICAgICAgICAgICBjb25zdCByID0gKE1hdGgucmFuZG9tKCkgKiAxNikgfCAwLFxuICAgICAgICAgICAgICAgIHYgPSBjID09PSAneCcgPyByIDogKHIgJiAweDMpIHwgMHg4O1xuICAgICAgICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8vICNlbmRyZWdpb24gRXhwb3J0ZWQgRnVuY3Rpb25zXG4iXX0=
|