bpm-core 0.0.2 → 0.0.3
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/esm2022/lib/app/app.component.mjs +62 -0
- package/esm2022/lib/components/app-component-sections/index.mjs +2 -1
- package/esm2022/lib/components/app-component-sections/layout/header/header.component.mjs +103 -0
- package/esm2022/lib/components/app-component-sections/layout/layout.component.mjs +101 -0
- package/esm2022/lib/components/app-component-sections/layout/side-nav/side-nav.component.mjs +158 -0
- package/esm2022/lib/services/core.service.ts.mjs +346 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/bpm-core.mjs +1919 -1170
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/app/app.component.d.ts +20 -0
- package/lib/components/app-component-sections/index.d.ts +1 -0
- package/lib/components/app-component-sections/layout/header/header.component.d.ts +34 -0
- package/lib/components/app-component-sections/layout/layout.component.d.ts +27 -0
- package/lib/components/app-component-sections/layout/side-nav/side-nav.component.d.ts +28 -0
- package/lib/services/core.service.ts.d.ts +27 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
import { HttpHeaders } from "@angular/common/http";
|
|
2
|
+
import { Inject, Injectable } from "@angular/core";
|
|
3
|
+
import { Form, Header, Messages, MY_LIB_CONFIG_TOKEN, ProfileInfoDrop, Section, SectionHeader } from "../../public-api";
|
|
4
|
+
import * as constants from '../constants';
|
|
5
|
+
import { catchError, throwError } from "rxjs";
|
|
6
|
+
import { map } from "rxjs/operators";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common/http";
|
|
9
|
+
export class CoreService {
|
|
10
|
+
http;
|
|
11
|
+
config;
|
|
12
|
+
apiUrl = '';
|
|
13
|
+
authToken;
|
|
14
|
+
refreshToken;
|
|
15
|
+
projectConfig;
|
|
16
|
+
userData;
|
|
17
|
+
localUser;
|
|
18
|
+
loggedInUserData;
|
|
19
|
+
constructor(http, config) {
|
|
20
|
+
this.http = http;
|
|
21
|
+
this.config = config;
|
|
22
|
+
const language = window?.wmConfig?.language ? window.wmConfig.language : 'en';
|
|
23
|
+
this.apiUrl = this.config.proxyServiceBaseUrl + language + this.config.proxyFullAddress + this.config.proxyServiceExecute;
|
|
24
|
+
console.log('Config: ', this.config); // for testing purposes only
|
|
25
|
+
this.localUser = {
|
|
26
|
+
"formPrefix": "CEP",
|
|
27
|
+
"formId": "CEP5595432",
|
|
28
|
+
"inboxUri": "\/group\/hub\/inbox",
|
|
29
|
+
"baseUrl": "\/group\/i-gate\/wm-bpm\/forms\/-\/proxy",
|
|
30
|
+
"showPrint": true,
|
|
31
|
+
"language": "en",
|
|
32
|
+
"isMobile": true,
|
|
33
|
+
"outlook": false,
|
|
34
|
+
"loggedInUserEmail": "ibrahimmaa.c@stc.com.sa"
|
|
35
|
+
};
|
|
36
|
+
this.projectConfig = (this.config.production) ? window['wmConfig'] : btoa(JSON.stringify(this.localUser));
|
|
37
|
+
this.userData = JSON.parse(atob(this.projectConfig));
|
|
38
|
+
}
|
|
39
|
+
getLoggedInUserData() {
|
|
40
|
+
let loggedInEmail = this.loggedInUserId();
|
|
41
|
+
this.employeeProfile(loggedInEmail).subscribe((response) => {
|
|
42
|
+
this.loggedInUserData = response?.["Users"]?.[0];
|
|
43
|
+
console.log('getLoggedInUserData', response);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
loadForm() {
|
|
47
|
+
const authUrl = this.buildAuthUrl();
|
|
48
|
+
return this.http.get(authUrl, { observe: 'response' }).toPromise()
|
|
49
|
+
.then((res) => {
|
|
50
|
+
const tokenInformation = res.body;
|
|
51
|
+
this.authToken = tokenInformation.token;
|
|
52
|
+
this.getLoggedInUserData();
|
|
53
|
+
this.refreshToken = tokenInformation.refreshToken;
|
|
54
|
+
const body = this.buildBody();
|
|
55
|
+
const options = this.getRequestOptions();
|
|
56
|
+
return this.callPost(body, options);
|
|
57
|
+
})
|
|
58
|
+
.catch((httpError) => {
|
|
59
|
+
return throwError(httpError);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
buildAuthUrl() {
|
|
63
|
+
const baseUrl = this.config.proxyServiceBaseUrl;
|
|
64
|
+
const language = window?.wmConfig?.language ? window.wmConfig.language : 'en';
|
|
65
|
+
const fullAddress = this.config.proxyFullAddress;
|
|
66
|
+
const authPart = this.config.proxyServiceAuthorization;
|
|
67
|
+
return `${baseUrl}${language}${fullAddress}${authPart}?ts=${(new Date()).valueOf()}`;
|
|
68
|
+
}
|
|
69
|
+
buildBody() {
|
|
70
|
+
const baseBody = {
|
|
71
|
+
method: constants.HTTP_METHOD_GET,
|
|
72
|
+
destination: constants.TARGET_SERVER_WM,
|
|
73
|
+
serviceName: constants.SERVICE_NAME_WM_FORM,
|
|
74
|
+
formName: this.config.formName,
|
|
75
|
+
formId: "",
|
|
76
|
+
queryParameters: null
|
|
77
|
+
};
|
|
78
|
+
if (!this.config.formId) {
|
|
79
|
+
delete baseBody.formId;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
baseBody.formId = this.config.formId;
|
|
83
|
+
}
|
|
84
|
+
return baseBody;
|
|
85
|
+
}
|
|
86
|
+
employeeProfile(employeeEmail) {
|
|
87
|
+
let body = {
|
|
88
|
+
method: "GET",
|
|
89
|
+
formName: "AAI",
|
|
90
|
+
destination: "DP",
|
|
91
|
+
serviceName: "igate.users.search.v3",
|
|
92
|
+
parameters: {
|
|
93
|
+
q: employeeEmail
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
return this.http.post(this.apiUrl, body, {
|
|
97
|
+
headers: new HttpHeaders({
|
|
98
|
+
authToken: this.authToken,
|
|
99
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
|
100
|
+
}),
|
|
101
|
+
observe: "body"
|
|
102
|
+
}).pipe(map((response) => {
|
|
103
|
+
return response;
|
|
104
|
+
}), catchError((err) => {
|
|
105
|
+
return throwError(err);
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
getRequestOptions() {
|
|
109
|
+
return {
|
|
110
|
+
headers: new HttpHeaders({
|
|
111
|
+
authToken: this.authToken,
|
|
112
|
+
'Content-Type': constants.HEADER_CONTENT_TYPE_FORM
|
|
113
|
+
}),
|
|
114
|
+
observe: 'body'
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
callPost(body, options) {
|
|
118
|
+
const language = window?.wmConfig?.language ? window.wmConfig.language : "en";
|
|
119
|
+
let apiUrl = this.config.proxyServiceBaseUrl + language + this.config.proxyFullAddress + this.config.proxyServiceExecute;
|
|
120
|
+
return this.http.post(apiUrl, encodeURIComponent(JSON.stringify(body)), options).toPromise()
|
|
121
|
+
.then((responseObject) => {
|
|
122
|
+
// let payload = responseObject.body;
|
|
123
|
+
return this.successWm(responseObject);
|
|
124
|
+
}).catch((httpError) => {
|
|
125
|
+
return throwError(httpError);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
successWm(...args) {
|
|
129
|
+
let [payload] = args;
|
|
130
|
+
// let wasSendBack = false;
|
|
131
|
+
/* Convert into Form Object */
|
|
132
|
+
let result = new Form(constants.NO_VALUE, constants.NO_VALUE, constants.NO_VALUE, constants.NO_VALUE, constants.NO_VALUE, constants.NO_VALUE, constants.NO_VALUE);
|
|
133
|
+
/* Generate Header Object */
|
|
134
|
+
let payloadFormDetails = payload.data.form;
|
|
135
|
+
let isReadOnly = (payloadFormDetails.readOnly.toUpperCase() === constants.TRUE_STRING ? constants.TRUE_BOOL : (payloadFormDetails.readOnly.toUpperCase() === constants.FALSE_STRING ? constants.FALSE_BOOL : constants.NO_VALUE));
|
|
136
|
+
result.header = new Header(payload.data['requester'].fullName, constants.IGATE_STATIC_ASSET_PROFILE_PHOTO_URL + payload.data['requester'].employeeEmail, (payloadFormDetails.formId ? payloadFormDetails.formId : constants.DONT_SHOW), (payloadFormDetails.creationDate ? payloadFormDetails.creationDate : constants.DONT_SHOW), payloadFormDetails['formStatus'], payloadFormDetails.details);
|
|
137
|
+
/* Generate Profile Information Object */
|
|
138
|
+
let payloadProfileInfo = payload.data['requester'];
|
|
139
|
+
result.profileInfoDrop = new ProfileInfoDrop((payloadProfileInfo.onBehalfAuthorized ? JSON.parse(payloadProfileInfo.onBehalfAuthorized) : null), payloadProfileInfo['employeeId'], payloadProfileInfo.employeeEmail, payloadProfileInfo.fullName, payloadProfileInfo.generalDepartmentName, payloadProfileInfo.jobPosition, payloadProfileInfo.sectorName, payloadProfileInfo.departmentName, payloadProfileInfo.generalDepartmentCode, payloadProfileInfo['humanResourceLocation'], payloadProfileInfo.nationality, payloadProfileInfo.businessPhone, payloadProfileInfo.directManagerName, payloadProfileInfo.seniorSectorName);
|
|
140
|
+
/* Generate Sections Object */
|
|
141
|
+
result.sections = [];
|
|
142
|
+
/* Push as first object the section for the request details */
|
|
143
|
+
let requestDetailsHasComment = false;
|
|
144
|
+
if (payload.data.request.details.comment) {
|
|
145
|
+
requestDetailsHasComment = true;
|
|
146
|
+
}
|
|
147
|
+
result.sections.push(new Section(constants.SECTION_ID_REQUEST_DETAILS, new SectionHeader(constants.DONT_SHOW, constants.DONT_SHOW, constants.DONT_SHOW, constants.DONT_SHOW, constants.DONT_SHOW, constants.DONT_SHOW, constants.DONT_SHOW, requestDetailsHasComment, (payload.data['workflowSteps'] ? constants.READ_ONLY : isReadOnly)), payload.data.request));
|
|
148
|
+
/* if (result.header.formId) {
|
|
149
|
+
result.commentsDrop = (!result.commentsDrop ? [] : result.commentsDrop);
|
|
150
|
+
this.dispatch(constants.STATE_MACHINE_ACTION_LOAD_HISTORY, result.header.formId).then((responseObject: any) => {
|
|
151
|
+
if (responseObject) {
|
|
152
|
+
responseObject.items.forEach((item: any) => {
|
|
153
|
+
if (item.sequenceNumber !== '0' && item.processedBy) {
|
|
154
|
+
const name = item.processedBy.firstName + ' ' + item.processedBy.secondMiddleName + ' ' + item.processedBy.familyName;
|
|
155
|
+
result.commentsDrop.push(new CommentsDrop(
|
|
156
|
+
constants.IGATE_STATIC_ASSET_PROFILE_PHOTO_URL + item.processedBy.email,
|
|
157
|
+
name,
|
|
158
|
+
item.comments,
|
|
159
|
+
item.modifiedDate,
|
|
160
|
+
item.attachments,
|
|
161
|
+
item.processedBy.job
|
|
162
|
+
));
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
if (result.header.formId && /^DYL/.test(result.header.formId)) {
|
|
169
|
+
this.state = constants.STATE_MACHINE_STATUS_IDLE;
|
|
170
|
+
result.confidentialComments = [];
|
|
171
|
+
this.dispatch('loadConfidentialComments', result.header.formId).then((responseObject: any) => {
|
|
172
|
+
if (responseObject && responseObject.items && responseObject.items.length > 0) {
|
|
173
|
+
responseObject.items.forEach((item: any) => {
|
|
174
|
+
result.confidentialComments.push(new CommentsDrop(
|
|
175
|
+
constants.IGATE_STATIC_ASSET_PROFILE_PHOTO_URL + item.email,
|
|
176
|
+
item.name,
|
|
177
|
+
item.comment,
|
|
178
|
+
item.modifiedDate,
|
|
179
|
+
item.attachment,
|
|
180
|
+
item.position
|
|
181
|
+
));
|
|
182
|
+
})
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
const inboxType = this.getInboxType(result);
|
|
188
|
+
if (result.header.formId && (!this.isOpenOnInbox())) {
|
|
189
|
+
this.state = constants.STATE_MACHINE_STATUS_IDLE;
|
|
190
|
+
this.dispatch(constants.STATE_MACHINE_ACTION_GET_INBOX_ITEM, result.header.formId, inboxType).then((responseObject) => {
|
|
191
|
+
if (responseObject) {
|
|
192
|
+
const item = responseObject.item;
|
|
193
|
+
result.inboxItem = new InboxItem(
|
|
194
|
+
item.flagging.flagPriority,
|
|
195
|
+
item.flagging.isFlagged,
|
|
196
|
+
item.feedback.canRequestFeedback,
|
|
197
|
+
item.feedback.hasFeedback,
|
|
198
|
+
item.feedback.isPending,
|
|
199
|
+
item.feedback.isRequested,
|
|
200
|
+
item.feedback.isResponded
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
let payloadWorkflowSteps = payload.data.workflowSteps;
|
|
207
|
+
if (payloadWorkflowSteps && payloadWorkflowSteps.constructor === Array && payloadWorkflowSteps.length > 0) {
|
|
208
|
+
payloadWorkflowSteps.forEach((step, index) => {
|
|
209
|
+
let currentIsRequesterSendBack = JSON.stringify(step.details) === JSON.stringify({});
|
|
210
|
+
let hasComments = (!currentIsRequesterSendBack && (step.details.comment || step.comment) ? constants.HAS_COMMENTS : constants.NO_COMMENTS);
|
|
211
|
+
let currentActor = (step.actor.email === step.actor.recipient.email ? step.actor.recipient : (step.actor.delegate ? step.actor.delegate : null))
|
|
212
|
+
if (hasComments) {
|
|
213
|
+
result.commentsDrop = (!result.commentsDrop ? [] : result.commentsDrop);
|
|
214
|
+
if (step.details.attachment && step.details.attachment.attachmentId && this.config.production) {
|
|
215
|
+
this.state = constants.STATE_MACHINE_STATUS_IDLE;
|
|
216
|
+
this.dispatch(constants.STATE_MACHINE_ACTION_LOAD_FILE, step.details.attachment.attachmentId).then((responseObject) => {
|
|
217
|
+
let fileInformation = responseObject.body;
|
|
218
|
+
if (currentActor) {
|
|
219
|
+
/!*this.dispatch(constants.STATE_MACHINE_ACTION_EMPLOYEE_PROFILE, currentActor.email).then((profile) => {
|
|
220
|
+
result.commentsDrop.push(new CommentsDrop(
|
|
221
|
+
constants.IGATE_STATIC_ASSET_PROFILE_PHOTO_URL + currentActor.email,
|
|
222
|
+
currentActor.name,
|
|
223
|
+
(step.details.comment ? step.details.comment : (step.comment ? step.comment : null)),
|
|
224
|
+
step.date,
|
|
225
|
+
fileInformation.fileName + "|data:" + fileInformation.mimeType + ";base64," + fileInformation.fileContents,
|
|
226
|
+
profile.job.name
|
|
227
|
+
))
|
|
228
|
+
})*!/
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
this.state = constants.STATE_MACHINE_STATUS_FETCHING;
|
|
232
|
+
} else if (step.details.attachmentId) {
|
|
233
|
+
this.state = constants.STATE_MACHINE_STATUS_IDLE;
|
|
234
|
+
this.dispatch(constants.STATE_MACHINE_ACTION_LOAD_FILE, step.details.attchmentId).then((responseObject) => {
|
|
235
|
+
let fileInformation = responseObject.body;
|
|
236
|
+
if (currentActor) {
|
|
237
|
+
/!*this.dispatch(constants.STATE_MACHINE_ACTION_EMPLOYEE_PROFILE, currentActor.email).then((profile) => {
|
|
238
|
+
result.commentsDrop.push(new CommentsDrop(
|
|
239
|
+
constants.IGATE_STATIC_ASSET_PROFILE_PHOTO_URL + currentActor.email,
|
|
240
|
+
currentActor.name,
|
|
241
|
+
(step.details.comment ? step.details.comment : (step.comment ? step.comment : null)),
|
|
242
|
+
step.date,
|
|
243
|
+
fileInformation.fileName + "|data:" + fileInformation.mimeType + ";base64," + fileInformation.fileContents,
|
|
244
|
+
profile.job.name
|
|
245
|
+
))
|
|
246
|
+
})*!/
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
this.state = constants.STATE_MACHINE_STATUS_FETCHING;
|
|
250
|
+
} else {
|
|
251
|
+
if (currentActor) {
|
|
252
|
+
this.state = constants.STATE_MACHINE_STATUS_IDLE;
|
|
253
|
+
/!*this.dispatch(constants.STATE_MACHINE_ACTION_EMPLOYEE_PROFILE, currentActor.email).then((profile) => {
|
|
254
|
+
result.commentsDrop.push(new CommentsDrop(
|
|
255
|
+
constants.IGATE_STATIC_ASSET_PROFILE_PHOTO_URL + currentActor.email,
|
|
256
|
+
currentActor.name,
|
|
257
|
+
(step.details.comment ? step.details.comment : (step.comment ? step.comment : null)),
|
|
258
|
+
step.date,
|
|
259
|
+
null,
|
|
260
|
+
profile.job.name
|
|
261
|
+
))
|
|
262
|
+
})*!/
|
|
263
|
+
}
|
|
264
|
+
this.state = constants.STATE_MACHINE_STATUS_FETCHING;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
if (wasSendBack && step.actor.recipient.role === 'REQUESTER') {
|
|
269
|
+
console.log("wasSendBack && REQUESTER")
|
|
270
|
+
result.sections = [new Section(
|
|
271
|
+
constants.SECTION_ID_REQUEST_DETAILS,
|
|
272
|
+
new SectionHeader(
|
|
273
|
+
constants.DONT_SHOW,
|
|
274
|
+
constants.DONT_SHOW,
|
|
275
|
+
constants.DONT_SHOW,
|
|
276
|
+
constants.DONT_SHOW,
|
|
277
|
+
constants.DONT_SHOW,
|
|
278
|
+
constants.DONT_SHOW,
|
|
279
|
+
constants.DONT_SHOW,
|
|
280
|
+
requestDetailsHasComment,
|
|
281
|
+
(payload.data.workflowSteps ? constants.READ_ONLY : isReadOnly)
|
|
282
|
+
),
|
|
283
|
+
payload.data.request
|
|
284
|
+
)]
|
|
285
|
+
} else if (wasSendBack) {
|
|
286
|
+
console.log("Pop")
|
|
287
|
+
if (result.sections.length > 1) {
|
|
288
|
+
result.sections.pop();
|
|
289
|
+
}
|
|
290
|
+
wasSendBack = false;
|
|
291
|
+
}
|
|
292
|
+
if (step.details.decision && step.details.decision.key === constants.FORM_STATUS_SEND_BACK) {
|
|
293
|
+
wasSendBack = true;
|
|
294
|
+
} else if (JSON.stringify(step.details) !== JSON.stringify({})) {
|
|
295
|
+
result.sections.push(
|
|
296
|
+
new Section(
|
|
297
|
+
step.actor.recipient.role.toLowerCase() + constants.SECTION_ID_APPROVAL_PARTIAL_NAME,
|
|
298
|
+
new SectionHeader(
|
|
299
|
+
(currentActor ? this.getShortName(currentActor.name) : null),
|
|
300
|
+
step.date,
|
|
301
|
+
this.getShortName(step.actor.recipient.name),
|
|
302
|
+
constants.IGATE_STATIC_ASSET_PROFILE_PHOTO_URL + step.actor.recipient.email,
|
|
303
|
+
(step.actor.delegate && step.actor.delegate.name ? this.getShortName(step.actor.delegate.name) : null),
|
|
304
|
+
(step.actor.delegate && step.actor.delegate.email ? constants.IGATE_STATIC_ASSET_PROFILE_PHOTO_URL + step.actor.delegate.email : null),
|
|
305
|
+
step.actor.status,
|
|
306
|
+
hasComments,
|
|
307
|
+
(index < payloadWorkflowSteps.length - 1 ? constants.READ_ONLY : isReadOnly)
|
|
308
|
+
),
|
|
309
|
+
{details: step.details, processingDate: step.date}
|
|
310
|
+
)
|
|
311
|
+
);
|
|
312
|
+
this.currentSubmitter = {actor: step.actor, recipient: step.recipient, delegate: step.actor.delegate};
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
*/
|
|
317
|
+
/* Create Lov Sections */
|
|
318
|
+
result.lovs = (payload.meta && payload.meta.lovs ? payload.meta.lovs : null);
|
|
319
|
+
if (payload.meta && payload.meta.messages) {
|
|
320
|
+
result.messages = new Messages({}, [], [], []);
|
|
321
|
+
payload.meta.messages.forEach((message) => {
|
|
322
|
+
result.messages.originalMsgs.push(message);
|
|
323
|
+
result.messages[message.type].push(message.message);
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
// result.messages = (payload.meta && payload.meta.messages ? payload.meta.messages : null);
|
|
327
|
+
/* Fix last section to be the RO/WM from the variable */
|
|
328
|
+
result.sections[result.sections.length - 1].header.readOnly = isReadOnly;
|
|
329
|
+
return result;
|
|
330
|
+
}
|
|
331
|
+
loggedInUserId() {
|
|
332
|
+
return this.userData['loggedInUserEmail'];
|
|
333
|
+
}
|
|
334
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CoreService, deps: [{ token: i1.HttpClient }, { token: MY_LIB_CONFIG_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
335
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CoreService, providedIn: "any" });
|
|
336
|
+
}
|
|
337
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CoreService, decorators: [{
|
|
338
|
+
type: Injectable,
|
|
339
|
+
args: [{
|
|
340
|
+
providedIn: "any"
|
|
341
|
+
}]
|
|
342
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
343
|
+
type: Inject,
|
|
344
|
+
args: [MY_LIB_CONFIG_TOKEN]
|
|
345
|
+
}] }] });
|
|
346
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9jb3JlLnNlcnZpY2UudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RILE9BQU8sS0FBSyxTQUFTLE1BQU0sY0FBYyxDQUFBO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS25DLE1BQU0sT0FBTyxXQUFXO0lBVUY7SUFDNkI7SUFWakQsTUFBTSxHQUFXLEVBQUUsQ0FBQTtJQUNYLFNBQVMsQ0FBUztJQUNsQixZQUFZLENBQVM7SUFDWixhQUFhLENBQVM7SUFDaEMsUUFBUSxDQUFTO0lBQ1AsU0FBUyxDQUFLO0lBQ3hCLGdCQUFnQixDQUFPO0lBRzlCLFlBQW9CLElBQWdCLEVBQ2EsTUFBbUI7UUFEaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNhLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbEUsTUFBTSxRQUFRLEdBQUksTUFBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFFLE1BQWMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLFFBQVEs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USxDQUM1QixFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsRUFDRixFQUFFLENBQ0gsQ0FBQztZQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsNEZBQTRGO1FBQzVGLHdEQUF3RDtRQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQ3pFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7dUdBdllVLFdBQVcsNENBV0YsbUJBQW1COzJHQVg1QixXQUFXLGNBRlYsS0FBSzs7MkZBRU4sV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEI7OzBCQVljLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVyc30gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgdHlwZSB7TXlMaWJDb25maWd9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3NoYXJlZC5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtGb3JtLCBIZWFkZXIsIE1lc3NhZ2VzLCBNWV9MSUJfQ09ORklHX1RPS0VOLCBQcm9maWxlSW5mb0Ryb3AsIFNlY3Rpb24sIFNlY3Rpb25IZWFkZXJ9IGZyb20gXCIuLi8uLi9wdWJsaWMtYXBpXCI7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tICcuLi9jb25zdGFudHMnXHJcbmltcG9ydCB7Y2F0Y2hFcnJvciwgdGhyb3dFcnJvcn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHttYXB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwiYW55XCJcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcmVTZXJ2aWNlIHtcclxuICBhcGlVcmw6IHN0cmluZyA9ICcnXHJcbiAgcHJpdmF0ZSBhdXRoVG9rZW46IHN0cmluZztcclxuICBwcml2YXRlIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvamVjdENvbmZpZzogc3RyaW5nO1xyXG4gIHB1YmxpYyB1c2VyRGF0YTogc3RyaW5nO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxVc2VyOiB7fTtcclxuICBwdWJsaWMgbG9nZ2VkSW5Vc2VyRGF0YTogeyAgfTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgICAgICAgICAgICBASW5qZWN0KE1ZX0xJQl9DT05GSUdfVE9LRU4pIHByaXZhdGUgY29uZmlnOiBNeUxpYkNvbmZpZykge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2UgPSAod2luZG93IGFzIGFueSk/LndtQ29uZmlnPy5sYW5ndWFnZSA/ICh3aW5kb3cgYXMgYW55KS53bUNvbmZpZy5sYW5ndWFnZSA6ICdlbic7XHJcbiAgICB0aGlzLmFwaVVybCA9IHRoaXMuY29uZmlnLnByb3h5U2VydmljZUJhc2VVcmwgKyBsYW5ndWFnZSArIHRoaXMuY29uZmlnLnByb3h5RnVsbEFkZHJlc3MgKyB0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VFeGVjdXRlO1xyXG4gICAgY29uc29sZS5sb2coJ0NvbmZpZzogJywgdGhpcy5jb25maWcpOyAvLyBmb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5XHJcbiAgICB0aGlzLmxvY2FsVXNlciA9IHtcclxuICAgICAgXCJmb3JtUHJlZml4XCI6IFwiQ0VQXCIsXHJcbiAgICAgIFwiZm9ybUlkXCI6IFwiQ0VQNTU5NTQzMlwiLFxyXG4gICAgICBcImluYm94VXJpXCI6IFwiXFwvZ3JvdXBcXC9odWJcXC9pbmJveFwiLFxyXG4gICAgICBcImJhc2VVcmxcIjogXCJcXC9ncm91cFxcL2ktZ2F0ZVxcL3dtLWJwbVxcL2Zvcm1zXFwvLVxcL3Byb3h5XCIsXHJcbiAgICAgIFwic2hvd1ByaW50XCI6IHRydWUsXHJcbiAgICAgIFwibGFuZ3VhZ2VcIjogXCJlblwiLFxyXG4gICAgICBcImlzTW9iaWxlXCI6IHRydWUsXHJcbiAgICAgIFwib3V0bG9va1wiOiBmYWxzZSxcclxuICAgICAgXCJsb2dnZWRJblVzZXJFbWFpbFwiOiBcImlicmFoaW1tYWEuY0BzdGMuY29tLnNhXCJcclxuICAgIH1cclxuICAgIHRoaXMucHJvamVjdENvbmZpZyA9ICh0aGlzLmNvbmZpZy5wcm9kdWN0aW9uKSA/ICh3aW5kb3cgYXMgYW55KVsnd21Db25maWcnXSA6IGJ0b2EoSlNPTi5zdHJpbmdpZnkodGhpcy5sb2NhbFVzZXIpKTtcclxuICAgIHRoaXMudXNlckRhdGEgPSBKU09OLnBhcnNlKGF0b2IodGhpcy5wcm9qZWN0Q29uZmlnKSk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2dnZWRJblVzZXJEYXRhKCkge1xyXG4gICAgbGV0IGxvZ2dlZEluRW1haWwgPSB0aGlzLmxvZ2dlZEluVXNlcklkKClcclxuICAgIHRoaXMuZW1wbG95ZWVQcm9maWxlKGxvZ2dlZEluRW1haWwpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmxvZ2dlZEluVXNlckRhdGEgPSByZXNwb25zZT8uW1wiVXNlcnNcIl0/LlswXVxyXG4gICAgICBjb25zb2xlLmxvZygnZ2V0TG9nZ2VkSW5Vc2VyRGF0YScsIHJlc3BvbnNlKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGxvYWRGb3JtKCkge1xyXG4gICAgY29uc3QgYXV0aFVybCA9IHRoaXMuYnVpbGRBdXRoVXJsKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChhdXRoVXJsLCB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pLnRvUHJvbWlzZSgpXHJcbiAgICAgIC50aGVuKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRva2VuSW5mb3JtYXRpb24gPSByZXMuYm9keTtcclxuICAgICAgICB0aGlzLmF1dGhUb2tlbiA9IHRva2VuSW5mb3JtYXRpb24udG9rZW47XHJcbiAgICAgICAgdGhpcy5nZXRMb2dnZWRJblVzZXJEYXRhKClcclxuICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbiA9IHRva2VuSW5mb3JtYXRpb24ucmVmcmVzaFRva2VuO1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB0aGlzLmJ1aWxkQm9keSgpO1xyXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmdldFJlcXVlc3RPcHRpb25zKCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbFBvc3QoYm9keSwgb3B0aW9ucyk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoaHR0cEVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihodHRwRXJyb3IpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRBdXRoVXJsKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5jb25maWcucHJveHlTZXJ2aWNlQmFzZVVybDtcclxuICAgIGNvbnN0IGxhbmd1YWdlID0gKHdpbmRvdyBhcyBhbnkpPy53bUNvbmZpZz8ubGFuZ3VhZ2UgPyAod2luZG93IGFzIGFueSkud21Db25maWcubGFuZ3VhZ2UgOiAnZW4nO1xyXG4gICAgY29uc3QgZnVsbEFkZHJlc3MgPSB0aGlzLmNvbmZpZy5wcm94eUZ1bGxBZGRyZXNzO1xyXG4gICAgY29uc3QgYXV0aFBhcnQgPSB0aGlzLmNvbmZpZy5wcm94eVNlcnZpY2VBdXRob3JpemF0aW9uO1xyXG4gICAgcmV0dXJuIGAke2Jhc2VVcmx9JHtsYW5ndWFnZX0ke2Z1bGxBZGRyZXNzfSR7YXV0aFBhcnR9P3RzPSR7KG5ldyBEYXRlKCkpLnZhbHVlT2YoKX1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEJvZHkoKTogb2JqZWN0IHtcclxuICAgIGNvbnN0IGJhc2VCb2R5ID0ge1xyXG4gICAgICBtZXRob2Q6IGNvbnN0YW50cy5IVFRQX01FVEhPRF9HRVQsXHJcbiAgICAgIGRlc3RpbmF0aW9uOiBjb25zdGFudHMuVEFSR0VUX1NFUlZFUl9XTSxcclxuICAgICAgc2VydmljZU5hbWU6IGNvbnN0YW50cy5TRVJWSUNFX05BTUVfV01fRk9STSxcclxuICAgICAgZm9ybU5hbWU6IHRoaXMuY29uZmlnLmZvcm1OYW1lLFxyXG4gICAgICBmb3JtSWQ6IFwiXCIsXHJcbiAgICAgIHF1ZXJ5UGFyYW1ldGVyczogbnVsbFxyXG4gICAgfTtcclxuICAgIGlmICghdGhpcy5jb25maWcuZm9ybUlkKSB7XHJcbiAgICAgIGRlbGV0ZSBiYXNlQm9keS5mb3JtSWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBiYXNlQm9keS5mb3JtSWQgPSB0aGlzLmNvbmZpZy5mb3JtSWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYmFzZUJvZHk7XHJcbiAgfVxyXG5cclxuICBlbXBsb3llZVByb2ZpbGUoZW1wbG95ZWVFbWFpbDogYW55KSB7XHJcbiAgICBsZXQgYm9keSA9IHtcclxuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxyXG4gICAgICBmb3JtTmFtZTogXCJBQUlcIixcclxuICAgICAgZGVzdGluYXRpb246IFwiRFBcIixcclxuICAgICAgc2VydmljZU5hbWU6IFwiaWdhdGUudXNlcnMuc2VhcmNoLnYzXCIsXHJcbiAgICAgIHBhcmFtZXRlcnM6IHtcclxuICAgICAgICBxOiBlbXBsb3llZUVtYWlsXHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5hcGlVcmwsIGJvZHksIHtcclxuICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICBhdXRoVG9rZW46IHRoaXMuYXV0aFRva2VuLFxyXG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcclxuICAgICAgfSksXHJcbiAgICAgIG9ic2VydmU6IFwiYm9keVwiXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gcmVzcG9uc2VcclxuICAgICAgfSlcclxuICAgICAgLCBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycilcclxuICAgICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSZXF1ZXN0T3B0aW9ucygpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgYXV0aFRva2VuOiB0aGlzLmF1dGhUb2tlbixcclxuICAgICAgICAnQ29udGVudC1UeXBlJzogY29uc3RhbnRzLkhFQURFUl9DT05URU5UX1RZUEVfRk9STVxyXG4gICAgICB9KSxcclxuICAgICAgb2JzZXJ2ZTogJ2JvZHknXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbGxQb3N0KGJvZHksIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGxhbmd1YWdlID0gKHdpbmRvdyBhcyBhbnkpPy53bUNvbmZpZz8ubGFuZ3VhZ2UgPyAod2luZG93IGFzIGFueSkud21Db25maWcubGFuZ3VhZ2UgOiBcImVuXCI7XHJcbiAgICBsZXQgYXBpVXJsID0gdGhpcy5jb25maWcucHJveHlTZXJ2aWNlQmFzZVVybCArIGxhbmd1YWdlICsgdGhpcy5jb25maWcucHJveHlGdWxsQWRkcmVzcyArIHRoaXMuY29uZmlnLnByb3h5U2VydmljZUV4ZWN1dGU7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYXBpVXJsLCBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYm9keSkpLCBvcHRpb25zKS50b1Byb21pc2UoKVxyXG4gICAgICAudGhlbihcclxuICAgICAgICAocmVzcG9uc2VPYmplY3Q6IGFueSkgPT4ge1xyXG4gICAgICAgICAgLy8gbGV0IHBheWxvYWQgPSByZXNwb25zZU9iamVjdC5ib2R5O1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc3VjY2Vzc1dtKHJlc3BvbnNlT2JqZWN0KVxyXG4gICAgICAgIH0sXHJcbiAgICAgICkuY2F0Y2goXHJcbiAgICAgICAgKGh0dHBFcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihodHRwRXJyb3IpXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgc3VjY2Vzc1dtKC4uLmFyZ3MpIHtcclxuICAgIGxldCBbcGF5bG9hZF0gPSBhcmdzO1xyXG4gICAgLy8gbGV0IHdhc1NlbmRCYWNrID0gZmFsc2U7XHJcbiAgICAvKiBDb252ZXJ0IGludG8gRm9ybSBPYmplY3QgKi9cclxuICAgIGxldCByZXN1bHQgPSBuZXcgRm9ybShcclxuICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICBjb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgIGNvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgY29uc3RhbnRzLk5PX1ZBTFVFXHJcbiAgICApO1xyXG4gICAgLyogR2VuZXJhdGUgSGVhZGVyIE9iamVjdCAqL1xyXG4gICAgbGV0IHBheWxvYWRGb3JtRGV0YWlscyA9IHBheWxvYWQuZGF0YS5mb3JtO1xyXG4gICAgbGV0IGlzUmVhZE9ubHkgPSAocGF5bG9hZEZvcm1EZXRhaWxzLnJlYWRPbmx5LnRvVXBwZXJDYXNlKCkgPT09IGNvbnN0YW50cy5UUlVFX1NUUklORyA/IGNvbnN0YW50cy5UUlVFX0JPT0wgOiAocGF5bG9hZEZvcm1EZXRhaWxzLnJlYWRPbmx5LnRvVXBwZXJDYXNlKCkgPT09IGNvbnN0YW50cy5GQUxTRV9TVFJJTkcgPyBjb25zdGFudHMuRkFMU0VfQk9PTCA6IGNvbnN0YW50cy5OT19WQUxVRSkpXHJcbiAgICByZXN1bHQuaGVhZGVyID0gbmV3IEhlYWRlcihcclxuICAgICAgcGF5bG9hZC5kYXRhWydyZXF1ZXN0ZXInXS5mdWxsTmFtZSxcclxuICAgICAgY29uc3RhbnRzLklHQVRFX1NUQVRJQ19BU1NFVF9QUk9GSUxFX1BIT1RPX1VSTCArIHBheWxvYWQuZGF0YVsncmVxdWVzdGVyJ10uZW1wbG95ZWVFbWFpbCxcclxuICAgICAgKHBheWxvYWRGb3JtRGV0YWlscy5mb3JtSWQgPyBwYXlsb2FkRm9ybURldGFpbHMuZm9ybUlkIDogY29uc3RhbnRzLkRPTlRfU0hPVyksXHJcbiAgICAgIChwYXlsb2FkRm9ybURldGFpbHMuY3JlYXRpb25EYXRlID8gcGF5bG9hZEZvcm1EZXRhaWxzLmNyZWF0aW9uRGF0ZSA6IGNvbnN0YW50cy5ET05UX1NIT1cpLFxyXG4gICAgICBwYXlsb2FkRm9ybURldGFpbHNbJ2Zvcm1TdGF0dXMnXSxcclxuICAgICAgcGF5bG9hZEZvcm1EZXRhaWxzLmRldGFpbHNcclxuICAgICk7XHJcbiAgICAvKiBHZW5lcmF0ZSBQcm9maWxlIEluZm9ybWF0aW9uIE9iamVjdCAqL1xyXG4gICAgbGV0IHBheWxvYWRQcm9maWxlSW5mbyA9IHBheWxvYWQuZGF0YVsncmVxdWVzdGVyJ107XHJcbiAgICByZXN1bHQucHJvZmlsZUluZm9Ecm9wID0gbmV3IFByb2ZpbGVJbmZvRHJvcChcclxuICAgICAgKHBheWxvYWRQcm9maWxlSW5mby5vbkJlaGFsZkF1dGhvcml6ZWQgPyBKU09OLnBhcnNlKHBheWxvYWRQcm9maWxlSW5mby5vbkJlaGFsZkF1dGhvcml6ZWQpIDogbnVsbCksXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mb1snZW1wbG95ZWVJZCddLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm8uZW1wbG95ZWVFbWFpbCxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmZ1bGxOYW1lLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm8uZ2VuZXJhbERlcGFydG1lbnROYW1lLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm8uam9iUG9zaXRpb24sXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5zZWN0b3JOYW1lLFxyXG4gICAgICBwYXlsb2FkUHJvZmlsZUluZm8uZGVwYXJ0bWVudE5hbWUsXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5nZW5lcmFsRGVwYXJ0bWVudENvZGUsXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mb1snaHVtYW5SZXNvdXJjZUxvY2F0aW9uJ10sXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5uYXRpb25hbGl0eSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLmJ1c2luZXNzUGhvbmUsXHJcbiAgICAgIHBheWxvYWRQcm9maWxlSW5mby5kaXJlY3RNYW5hZ2VyTmFtZSxcclxuICAgICAgcGF5bG9hZFByb2ZpbGVJbmZvLnNlbmlvclNlY3Rvck5hbWVcclxuICAgICk7XHJcbiAgICAvKiBHZW5lcmF0ZSBTZWN0aW9ucyBPYmplY3QgKi9cclxuICAgIHJlc3VsdC5zZWN0aW9ucyA9IFtdO1xyXG4gICAgLyogUHVzaCBhcyBmaXJzdCBvYmplY3QgdGhlIHNlY3Rpb24gZm9yIHRoZSByZXF1ZXN0IGRldGFpbHMgKi9cclxuICAgIGxldCByZXF1ZXN0RGV0YWlsc0hhc0NvbW1lbnQgPSBmYWxzZTtcclxuICAgIGlmIChwYXlsb2FkLmRhdGEucmVxdWVzdC5kZXRhaWxzLmNvbW1lbnQpIHtcclxuICAgICAgcmVxdWVzdERldGFpbHNIYXNDb21tZW50ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJlc3VsdC5zZWN0aW9ucy5wdXNoKFxyXG4gICAgICBuZXcgU2VjdGlvbihcclxuICAgICAgICBjb25zdGFudHMuU0VDVElPTl9JRF9SRVFVRVNUX0RFVEFJTFMsXHJcbiAgICAgICAgbmV3IFNlY3Rpb25IZWFkZXIoXHJcbiAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgY29uc3RhbnRzLkRPTlRfU0hPVyxcclxuICAgICAgICAgIGNvbnN0YW50cy5ET05UX1NIT1csXHJcbiAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgY29uc3RhbnRzLkRPTlRfU0hPVyxcclxuICAgICAgICAgIGNvbnN0YW50cy5ET05UX1NIT1csXHJcbiAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgcmVxdWVzdERldGFpbHNIYXNDb21tZW50LFxyXG4gICAgICAgICAgKHBheWxvYWQuZGF0YVsnd29ya2Zsb3dTdGVwcyddID8gY29uc3RhbnRzLlJFQURfT05MWSA6IGlzUmVhZE9ubHkpXHJcbiAgICAgICAgKSxcclxuICAgICAgICBwYXlsb2FkLmRhdGEucmVxdWVzdFxyXG4gICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIC8qICAgaWYgKHJlc3VsdC5oZWFkZXIuZm9ybUlkKSB7XHJcbiAgICAgICAgIHJlc3VsdC5jb21tZW50c0Ryb3AgPSAoIXJlc3VsdC5jb21tZW50c0Ryb3AgPyBbXSA6IHJlc3VsdC5jb21tZW50c0Ryb3ApO1xyXG4gICAgICAgICB0aGlzLmRpc3BhdGNoKGNvbnN0YW50cy5TVEFURV9NQUNISU5FX0FDVElPTl9MT0FEX0hJU1RPUlksIHJlc3VsdC5oZWFkZXIuZm9ybUlkKS50aGVuKChyZXNwb25zZU9iamVjdDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgaWYgKHJlc3BvbnNlT2JqZWN0KSB7XHJcbiAgICAgICAgICAgICByZXNwb25zZU9iamVjdC5pdGVtcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgaWYgKGl0ZW0uc2VxdWVuY2VOdW1iZXIgIT09ICcwJyAmJiBpdGVtLnByb2Nlc3NlZEJ5KSB7XHJcbiAgICAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IGl0ZW0ucHJvY2Vzc2VkQnkuZmlyc3ROYW1lICsgJyAnICsgaXRlbS5wcm9jZXNzZWRCeS5zZWNvbmRNaWRkbGVOYW1lICsgJyAnICsgaXRlbS5wcm9jZXNzZWRCeS5mYW1pbHlOYW1lO1xyXG4gICAgICAgICAgICAgICAgIHJlc3VsdC5jb21tZW50c0Ryb3AucHVzaChuZXcgQ29tbWVudHNEcm9wKFxyXG4gICAgICAgICAgICAgICAgICAgY29uc3RhbnRzLklHQVRFX1NUQVRJQ19BU1NFVF9QUk9GSUxFX1BIT1RPX1VSTCArIGl0ZW0ucHJvY2Vzc2VkQnkuZW1haWwsXHJcbiAgICAgICAgICAgICAgICAgICBuYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgaXRlbS5jb21tZW50cyxcclxuICAgICAgICAgICAgICAgICAgIGl0ZW0ubW9kaWZpZWREYXRlLFxyXG4gICAgICAgICAgICAgICAgICAgaXRlbS5hdHRhY2htZW50cyxcclxuICAgICAgICAgICAgICAgICAgIGl0ZW0ucHJvY2Vzc2VkQnkuam9iXHJcbiAgICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfSk7XHJcbiAgICAgICB9XHJcbiAgICAgICBpZiAocmVzdWx0LmhlYWRlci5mb3JtSWQgJiYgL15EWUwvLnRlc3QocmVzdWx0LmhlYWRlci5mb3JtSWQpKSB7XHJcbiAgICAgICAgIHRoaXMuc3RhdGUgPSBjb25zdGFudHMuU1RBVEVfTUFDSElORV9TVEFUVVNfSURMRTtcclxuICAgICAgICAgcmVzdWx0LmNvbmZpZGVudGlhbENvbW1lbnRzID0gW107XHJcbiAgICAgICAgIHRoaXMuZGlzcGF0Y2goJ2xvYWRDb25maWRlbnRpYWxDb21tZW50cycsIHJlc3VsdC5oZWFkZXIuZm9ybUlkKS50aGVuKChyZXNwb25zZU9iamVjdDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgaWYgKHJlc3BvbnNlT2JqZWN0ICYmIHJlc3BvbnNlT2JqZWN0Lml0ZW1zICYmIHJlc3BvbnNlT2JqZWN0Lml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgIHJlc3BvbnNlT2JqZWN0Lml0ZW1zLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICByZXN1bHQuY29uZmlkZW50aWFsQ29tbWVudHMucHVzaChuZXcgQ29tbWVudHNEcm9wKFxyXG4gICAgICAgICAgICAgICAgIGNvbnN0YW50cy5JR0FURV9TVEFUSUNfQVNTRVRfUFJPRklMRV9QSE9UT19VUkwgKyBpdGVtLmVtYWlsLFxyXG4gICAgICAgICAgICAgICAgIGl0ZW0ubmFtZSxcclxuICAgICAgICAgICAgICAgICBpdGVtLmNvbW1lbnQsXHJcbiAgICAgICAgICAgICAgICAgaXRlbS5tb2RpZmllZERhdGUsXHJcbiAgICAgICAgICAgICAgICAgaXRlbS5hdHRhY2htZW50LFxyXG4gICAgICAgICAgICAgICAgIGl0ZW0ucG9zaXRpb25cclxuICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgfSk7XHJcbiAgICAgICB9XHJcblxyXG4gICAgICAgY29uc3QgaW5ib3hUeXBlID0gdGhpcy5nZXRJbmJveFR5cGUocmVzdWx0KTtcclxuICAgICAgIGlmIChyZXN1bHQuaGVhZGVyLmZvcm1JZCAmJiAoIXRoaXMuaXNPcGVuT25JbmJveCgpKSkge1xyXG4gICAgICAgICB0aGlzLnN0YXRlID0gY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfU1RBVFVTX0lETEU7XHJcbiAgICAgICAgIHRoaXMuZGlzcGF0Y2goY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX0dFVF9JTkJPWF9JVEVNLCByZXN1bHQuaGVhZGVyLmZvcm1JZCwgaW5ib3hUeXBlKS50aGVuKChyZXNwb25zZU9iamVjdCkgPT4ge1xyXG4gICAgICAgICAgIGlmIChyZXNwb25zZU9iamVjdCkge1xyXG4gICAgICAgICAgICAgY29uc3QgaXRlbSA9IHJlc3BvbnNlT2JqZWN0Lml0ZW07XHJcbiAgICAgICAgICAgICByZXN1bHQuaW5ib3hJdGVtID0gbmV3IEluYm94SXRlbShcclxuICAgICAgICAgICAgICAgaXRlbS5mbGFnZ2luZy5mbGFnUHJpb3JpdHksXHJcbiAgICAgICAgICAgICAgIGl0ZW0uZmxhZ2dpbmcuaXNGbGFnZ2VkLFxyXG4gICAgICAgICAgICAgICBpdGVtLmZlZWRiYWNrLmNhblJlcXVlc3RGZWVkYmFjayxcclxuICAgICAgICAgICAgICAgaXRlbS5mZWVkYmFjay5oYXNGZWVkYmFjayxcclxuICAgICAgICAgICAgICAgaXRlbS5mZWVkYmFjay5pc1BlbmRpbmcsXHJcbiAgICAgICAgICAgICAgIGl0ZW0uZmVlZGJhY2suaXNSZXF1ZXN0ZWQsXHJcbiAgICAgICAgICAgICAgIGl0ZW0uZmVlZGJhY2suaXNSZXNwb25kZWRcclxuICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICB9KTtcclxuICAgICAgIH1cclxuXHJcbiAgICAgICBsZXQgcGF5bG9hZFdvcmtmbG93U3RlcHMgPSBwYXlsb2FkLmRhdGEud29ya2Zsb3dTdGVwcztcclxuICAgICAgIGlmIChwYXlsb2FkV29ya2Zsb3dTdGVwcyAmJiBwYXlsb2FkV29ya2Zsb3dTdGVwcy5jb25zdHJ1Y3RvciA9PT0gQXJyYXkgJiYgcGF5bG9hZFdvcmtmbG93U3RlcHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICBwYXlsb2FkV29ya2Zsb3dTdGVwcy5mb3JFYWNoKChzdGVwLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgIGxldCBjdXJyZW50SXNSZXF1ZXN0ZXJTZW5kQmFjayA9IEpTT04uc3RyaW5naWZ5KHN0ZXAuZGV0YWlscykgPT09IEpTT04uc3RyaW5naWZ5KHt9KTtcclxuICAgICAgICAgICBsZXQgaGFzQ29tbWVudHMgPSAoIWN1cnJlbnRJc1JlcXVlc3RlclNlbmRCYWNrICYmIChzdGVwLmRldGFpbHMuY29tbWVudCB8fCBzdGVwLmNvbW1lbnQpID8gY29uc3RhbnRzLkhBU19DT01NRU5UUyA6IGNvbnN0YW50cy5OT19DT01NRU5UUyk7XHJcbiAgICAgICAgICAgbGV0IGN1cnJlbnRBY3RvciA9IChzdGVwLmFjdG9yLmVtYWlsID09PSBzdGVwLmFjdG9yLnJlY2lwaWVudC5lbWFpbCA/IHN0ZXAuYWN0b3IucmVjaXBpZW50IDogKHN0ZXAuYWN0b3IuZGVsZWdhdGUgPyBzdGVwLmFjdG9yLmRlbGVnYXRlIDogbnVsbCkpXHJcbiAgICAgICAgICAgaWYgKGhhc0NvbW1lbnRzKSB7XHJcbiAgICAgICAgICAgICByZXN1bHQuY29tbWVudHNEcm9wID0gKCFyZXN1bHQuY29tbWVudHNEcm9wID8gW10gOiByZXN1bHQuY29tbWVudHNEcm9wKTtcclxuICAgICAgICAgICAgIGlmIChzdGVwLmRldGFpbHMuYXR0YWNobWVudCAmJiBzdGVwLmRldGFpbHMuYXR0YWNobWVudC5hdHRhY2htZW50SWQgJiYgdGhpcy5jb25maWcucHJvZHVjdGlvbikge1xyXG4gICAgICAgICAgICAgICB0aGlzLnN0YXRlID0gY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfU1RBVFVTX0lETEU7XHJcbiAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2goY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX0xPQURfRklMRSwgc3RlcC5kZXRhaWxzLmF0dGFjaG1lbnQuYXR0YWNobWVudElkKS50aGVuKChyZXNwb25zZU9iamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgIGxldCBmaWxlSW5mb3JtYXRpb24gPSByZXNwb25zZU9iamVjdC5ib2R5O1xyXG4gICAgICAgICAgICAgICAgIGlmIChjdXJyZW50QWN0b3IpIHtcclxuICAgICAgICAgICAgICAgICAgIC8hKnRoaXMuZGlzcGF0Y2goY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX0VNUExPWUVFX1BST0ZJTEUsIGN1cnJlbnRBY3Rvci5lbWFpbCkudGhlbigocHJvZmlsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICByZXN1bHQuY29tbWVudHNEcm9wLnB1c2gobmV3IENvbW1lbnRzRHJvcChcclxuICAgICAgICAgICAgICAgICAgICAgICBjb25zdGFudHMuSUdBVEVfU1RBVElDX0FTU0VUX1BST0ZJTEVfUEhPVE9fVVJMICsgY3VycmVudEFjdG9yLmVtYWlsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRBY3Rvci5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIChzdGVwLmRldGFpbHMuY29tbWVudCA/IHN0ZXAuZGV0YWlscy5jb21tZW50IDogKHN0ZXAuY29tbWVudCA/IHN0ZXAuY29tbWVudCA6IG51bGwpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICBzdGVwLmRhdGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgZmlsZUluZm9ybWF0aW9uLmZpbGVOYW1lICsgXCJ8ZGF0YTpcIiArIGZpbGVJbmZvcm1hdGlvbi5taW1lVHlwZSArIFwiO2Jhc2U2NCxcIiArIGZpbGVJbmZvcm1hdGlvbi5maWxlQ29udGVudHMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcHJvZmlsZS5qb2IubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICApKVxyXG4gICAgICAgICAgICAgICAgICAgfSkqIS9cclxuICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICB0aGlzLnN0YXRlID0gY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfU1RBVFVTX0ZFVENISU5HO1xyXG4gICAgICAgICAgICAgfSBlbHNlIGlmIChzdGVwLmRldGFpbHMuYXR0YWNobWVudElkKSB7XHJcbiAgICAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBjb25zdGFudHMuU1RBVEVfTUFDSElORV9TVEFUVVNfSURMRTtcclxuICAgICAgICAgICAgICAgdGhpcy5kaXNwYXRjaChjb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fTE9BRF9GSUxFLCBzdGVwLmRldGFpbHMuYXR0Y2htZW50SWQpLnRoZW4oKHJlc3BvbnNlT2JqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgbGV0IGZpbGVJbmZvcm1hdGlvbiA9IHJlc3BvbnNlT2JqZWN0LmJvZHk7XHJcbiAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRBY3Rvcikge1xyXG4gICAgICAgICAgICAgICAgICAgLyEqdGhpcy5kaXNwYXRjaChjb25zdGFudHMuU1RBVEVfTUFDSElORV9BQ1RJT05fRU1QTE9ZRUVfUFJPRklMRSwgY3VycmVudEFjdG9yLmVtYWlsKS50aGVuKChwcm9maWxlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5jb21tZW50c0Ryb3AucHVzaChuZXcgQ29tbWVudHNEcm9wKFxyXG4gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0YW50cy5JR0FURV9TVEFUSUNfQVNTRVRfUFJPRklMRV9QSE9UT19VUkwgKyBjdXJyZW50QWN0b3IuZW1haWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEFjdG9yLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHN0ZXAuZGV0YWlscy5jb21tZW50ID8gc3RlcC5kZXRhaWxzLmNvbW1lbnQgOiAoc3RlcC5jb21tZW50ID8gc3RlcC5jb21tZW50IDogbnVsbCkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIHN0ZXAuZGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICBmaWxlSW5mb3JtYXRpb24uZmlsZU5hbWUgKyBcInxkYXRhOlwiICsgZmlsZUluZm9ybWF0aW9uLm1pbWVUeXBlICsgXCI7YmFzZTY0LFwiICsgZmlsZUluZm9ybWF0aW9uLmZpbGVDb250ZW50cyxcclxuICAgICAgICAgICAgICAgICAgICAgICBwcm9maWxlLmpvYi5uYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICkpXHJcbiAgICAgICAgICAgICAgICAgICB9KSohL1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBjb25zdGFudHMuU1RBVEVfTUFDSElORV9TVEFUVVNfRkVUQ0hJTkc7XHJcbiAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICBpZiAoY3VycmVudEFjdG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSA9IGNvbnN0YW50cy5TVEFURV9NQUNISU5FX1NUQVRVU19JRExFO1xyXG4gICAgICAgICAgICAgICAgIC8hKnRoaXMuZGlzcGF0Y2goY29uc3RhbnRzLlNUQVRFX01BQ0hJTkVfQUNUSU9OX0VNUExPWUVFX1BST0ZJTEUsIGN1cnJlbnRBY3Rvci5lbWFpbCkudGhlbigocHJvZmlsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgcmVzdWx0LmNvbW1lbnRzRHJvcC5wdXNoKG5ldyBDb21tZW50c0Ryb3AoXHJcbiAgICAgICAgICAgICAgICAgICAgIGNvbnN0YW50cy5JR0FURV9TVEFUSUNfQVNTRVRfUFJPRklMRV9QSE9UT19VUkwgKyBjdXJyZW50QWN0b3IuZW1haWwsXHJcbiAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRBY3Rvci5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAoc3RlcC5kZXRhaWxzLmNvbW1lbnQgPyBzdGVwLmRldGFpbHMuY29tbWVudCA6IChzdGVwLmNvbW1lbnQgPyBzdGVwLmNvbW1lbnQgOiBudWxsKSksXHJcbiAgICAgICAgICAgICAgICAgICAgIHN0ZXAuZGF0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgcHJvZmlsZS5qb2IubmFtZVxyXG4gICAgICAgICAgICAgICAgICAgKSlcclxuICAgICAgICAgICAgICAgICB9KSohL1xyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBjb25zdGFudHMuU1RBVEVfTUFDSElORV9TVEFUVVNfRkVUQ0hJTkc7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICBpZiAod2FzU2VuZEJhY2sgJiYgc3RlcC5hY3Rvci5yZWNpcGllbnQucm9sZSA9PT0gJ1JFUVVFU1RFUicpIHtcclxuICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwid2FzU2VuZEJhY2sgJiYgUkVRVUVTVEVSXCIpXHJcbiAgICAgICAgICAgICByZXN1bHQuc2VjdGlvbnMgPSBbbmV3IFNlY3Rpb24oXHJcbiAgICAgICAgICAgICAgIGNvbnN0YW50cy5TRUNUSU9OX0lEX1JFUVVFU1RfREVUQUlMUyxcclxuICAgICAgICAgICAgICAgbmV3IFNlY3Rpb25IZWFkZXIoXHJcbiAgICAgICAgICAgICAgICAgY29uc3RhbnRzLkRPTlRfU0hPVyxcclxuICAgICAgICAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgICAgICAgIGNvbnN0YW50cy5ET05UX1NIT1csXHJcbiAgICAgICAgICAgICAgICAgY29uc3RhbnRzLkRPTlRfU0hPVyxcclxuICAgICAgICAgICAgICAgICBjb25zdGFudHMuRE9OVF9TSE9XLFxyXG4gICAgICAgICAgICAgICAgIGNvbnN0YW50cy5ET05UX1NIT1csXHJcbiAgICAgICAgICAgICAgICAgY29uc3RhbnRzLkRPTlRfU0hPVyxcclxuICAgICAgICAgICAgICAgICByZXF1ZXN0RGV0YWlsc0hhc0NvbW1lbnQsXHJcbiAgICAgICAgICAgICAgICAgKHBheWxvYWQuZGF0YS53b3JrZmxvd1N0ZXBzID8gY29uc3RhbnRzLlJFQURfT05MWSA6IGlzUmVhZE9ubHkpXHJcbiAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgIHBheWxvYWQuZGF0YS5yZXF1ZXN0XHJcbiAgICAgICAgICAgICApXVxyXG4gICAgICAgICAgIH0gZWxzZSBpZiAod2FzU2VuZEJhY2spIHtcclxuICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiUG9wXCIpXHJcbiAgICAgICAgICAgICBpZiAocmVzdWx0LnNlY3Rpb25zLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgcmVzdWx0LnNlY3Rpb25zLnBvcCgpO1xyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgd2FzU2VuZEJhY2sgPSBmYWxzZTtcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgaWYgKHN0ZXAuZGV0YWlscy5kZWNpc2lvbiAmJiBzdGVwLmRldGFpbHMuZGVjaXNpb24ua2V5ID09PSBjb25zdGFudHMuRk9STV9TVEFUVVNfU0VORF9CQUNLKSB7XHJcbiAgICAgICAgICAgICB3YXNTZW5kQmFjayA9IHRydWU7XHJcbiAgICAgICAgICAgfSBlbHNlIGlmIChKU09OLnN0cmluZ2lmeShzdGVwLmRldGFpbHMpICE9PSBKU09OLnN0cmluZ2lmeSh7fSkpIHtcclxuICAgICAgICAgICAgIHJlc3VsdC5zZWN0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICAgICBuZXcgU2VjdGlvbihcclxuICAgICAgICAgICAgICAgICBzdGVwLmFjdG9yLnJlY2lwaWVudC5yb2xlLnRvTG93ZXJDYXNlKCkgKyBjb25zdGFudHMuU0VDVElPTl9JRF9BUFBST1ZBTF9QQVJUSUFMX05BTUUsXHJcbiAgICAgICAgICAgICAgICAgbmV3IFNlY3Rpb25IZWFkZXIoXHJcbiAgICAgICAgICAgICAgICAgICAoY3VycmVudEFjdG9yID8gdGhpcy5nZXRTaG9ydE5hbWUoY3VycmVudEFjdG9yLm5hbWUpIDogbnVsbCksXHJcbiAgICAgICAgICAgICAgICAgICBzdGVwLmRhdGUsXHJcbiAgICAgICAgICAgICAgICAgICB0aGlzLmdldFNob3J0TmFtZShzdGVwLmFjdG9yLnJlY2lwaWVudC5uYW1lKSxcclxuICAgICAgICAgICAgICAgICAgIGNvbnN0YW50cy5JR0FURV9TVEFUSUNfQVNTRVRfUFJPRklMRV9QSE9UT19VUkwgKyBzdGVwLmFjdG9yLnJlY2lwaWVudC5lbWFpbCxcclxuICAgICAgICAgICAgICAgICAgIChzdGVwLmFjdG9yLmRlbGVnYXRlICYmIHN0ZXAuYWN0b3IuZGVsZWdhdGUubmFtZSA/IHRoaXMuZ2V0U2hvcnROYW1lKHN0ZXAuYWN0b3IuZGVsZWdhdGUubmFtZSkgOiBudWxsKSxcclxuICAgICAgICAgICAgICAgICAgIChzdGVwLmFjdG9yLmRlbGVnYXRlICYmIHN0ZXAuYWN0b3IuZGVsZWdhdGUuZW1haWwgPyBjb25zdGFudHMuSUdBVEVfU1RBVElDX0FTU0VUX1BST0ZJTEVfUEhPVE9fVVJMICsgc3RlcC5hY3Rvci5kZWxlZ2F0ZS5lbWFpbCA6IG51bGwpLFxyXG4gICAgICAgICAgICAgICAgICAgc3RlcC5hY3Rvci5zdGF0dXMsXHJcbiAgICAgICAgICAgICAgICAgICBoYXNDb21tZW50cyxcclxuICAgICAgICAgICAgICAgICAgIChpbmRleCA8IHBheWxvYWRXb3JrZmxvd1N0ZXBzLmxlbmd0aCAtIDEgPyBjb25zdGFudHMuUkVBRF9PTkxZIDogaXNSZWFkT25seSlcclxuICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgIHtkZXRhaWxzOiBzdGVwLmRldGFpbHMsIHByb2Nlc3NpbmdEYXRlOiBzdGVwLmRhdGV9XHJcbiAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTdWJtaXR0ZXIgPSB7YWN0b3I6IHN0ZXAuYWN0b3IsIHJlY2lwaWVudDogc3RlcC5yZWNpcGllbnQsIGRlbGVnYXRlOiBzdGVwLmFjdG9yLmRlbGVnYXRlfTtcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgIH0pO1xyXG4gICAgICAgfVxyXG4gICAqL1xyXG4gICAgLyogQ3JlYXRlIExvdiBTZWN0aW9ucyAqL1xyXG4gICAgcmVzdWx0LmxvdnMgPSAocGF5bG9hZC5tZXRhICYmIHBheWxvYWQubWV0YS5sb3ZzID8gcGF5bG9hZC5tZXRhLmxvdnMgOiBudWxsKTtcclxuXHJcbiAgICBpZiAocGF5bG9hZC5tZXRhICYmIHBheWxvYWQubWV0YS5tZXNzYWdlcykge1xyXG4gICAgICByZXN1bHQubWVzc2FnZXMgPSBuZXcgTWVzc2FnZXMoXHJcbiAgICAgICAge30sXHJcbiAgICAgICAgW10sXHJcbiAgICAgICAgW10sXHJcbiAgICAgICAgW11cclxuICAgICAgKTtcclxuICAgICAgcGF5bG9hZC5tZXRhLm1lc3NhZ2VzLmZvckVhY2goKG1lc3NhZ2UpID0+IHtcclxuICAgICAgICByZXN1bHQubWVzc2FnZXMub3JpZ2luYWxNc2dzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgICAgcmVzdWx0Lm1lc3NhZ2VzW21lc3NhZ2UudHlwZV0ucHVzaChtZXNzYWdlLm1lc3NhZ2UpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyByZXN1bHQubWVzc2FnZXMgPSAocGF5bG9hZC5tZXRhICYmIHBheWxvYWQubWV0YS5tZXNzYWdlcyA/IHBheWxvYWQubWV0YS5tZXNzYWdlcyA6IG51bGwpO1xyXG4gICAgLyogRml4IGxhc3Qgc2VjdGlvbiB0byBiZSB0aGUgUk8vV00gZnJvbSB0aGUgdmFyaWFibGUgKi9cclxuICAgIHJlc3VsdC5zZWN0aW9uc1tyZXN1bHQuc2VjdGlvbnMubGVuZ3RoIC0gMV0uaGVhZGVyLnJlYWRPbmx5ID0gaXNSZWFkT25seTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9nZ2VkSW5Vc2VySWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyRGF0YVsnbG9nZ2VkSW5Vc2VyRW1haWwnXTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Public API Surface of bpm-core
|
|
3
3
|
*/
|
|
4
4
|
import { InjectionToken } from '@angular/core';
|
|
5
|
+
export * from './lib/app/app.component';
|
|
5
6
|
export * from './lib/components/shared-components';
|
|
6
7
|
export * from './lib/components/app-component-sections';
|
|
7
8
|
export * from './lib/pipes';
|
|
@@ -13,4 +14,4 @@ export * from './lib/hooks';
|
|
|
13
14
|
export * from './lib/functions';
|
|
14
15
|
export * from './lib/validators';
|
|
15
16
|
export const MY_LIB_CONFIG_TOKEN = new InjectionToken('MyLibConfig');
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkvQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBR2pDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFjLGFBQWEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGJwbS1jb3JlXHJcbiAqL1xyXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge015TGliQ29uZmlnfSBmcm9tIFwiLi9saWIvaW50ZXJmYWNlcy9zaGFyZWQuaW50ZXJmYWNlXCI7XHJcblxyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBwL2FwcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pMThuJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ob29rcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRvcnMnO1xyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBNWV9MSUJfQ09ORklHX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPE15TGliQ29uZmlnPignTXlMaWJDb25maWcnKTtcclxuIl19
|