@veloceapps/api 7.0.0-9 → 7.0.1-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/{esm2015/lib/api.module.js → esm2020/lib/api.module.mjs} +6 -6
  2. package/esm2020/lib/services/account-api.service.mjs +80 -0
  3. package/esm2020/lib/services/catalog-admin-api.service.mjs +165 -0
  4. package/{esm2015/lib/services/catalog-api.service.js → esm2020/lib/services/catalog-api.service.mjs} +4 -4
  5. package/esm2020/lib/services/configuration-api.service.mjs +78 -0
  6. package/esm2020/lib/services/configuration-settings-api.service.mjs +96 -0
  7. package/{esm2015/lib/services/context-api.service.js → esm2020/lib/services/context-api.service.mjs} +4 -4
  8. package/{esm2015/lib/services/delta-api.service.js → esm2020/lib/services/delta-api.service.mjs} +4 -4
  9. package/{esm2015/lib/services/document-attachment-api.service.js → esm2020/lib/services/document-attachment-api.service.mjs} +4 -4
  10. package/esm2020/lib/services/document-templates-api.service.mjs +298 -0
  11. package/{esm2015/lib/services/endpoints-api.service.js → esm2020/lib/services/endpoints-api.service.mjs} +4 -4
  12. package/esm2020/lib/services/flows-api.service.mjs +24 -0
  13. package/esm2020/lib/services/guided-sellings-admin-api.service.mjs +65 -0
  14. package/esm2020/lib/services/guided-sellings-api.service.mjs +27 -0
  15. package/{esm2015/lib/services/offers-api.service.js → esm2020/lib/services/offers-api.service.mjs} +4 -4
  16. package/esm2020/lib/services/org-info-api.service.mjs +19 -0
  17. package/{esm2015/lib/services/picklists-api.service.js → esm2020/lib/services/picklists-api.service.mjs} +8 -5
  18. package/{esm2015/lib/services/price-api.service.js → esm2020/lib/services/price-api.service.mjs} +4 -4
  19. package/{esm2015/lib/services/procedures-api.service.js → esm2020/lib/services/procedures-api.service.mjs} +4 -4
  20. package/{esm2015/lib/services/product-api.service.js → esm2020/lib/services/product-api.service.mjs} +4 -4
  21. package/esm2020/lib/services/product-model-api.service.mjs +232 -0
  22. package/esm2020/lib/services/quote-api.service.mjs +58 -0
  23. package/esm2020/lib/services/ramp-api.service.mjs +31 -0
  24. package/{esm2015/lib/services/rule-groups-api.service.js → esm2020/lib/services/rule-groups-api.service.mjs} +4 -4
  25. package/{esm2015/lib/services/rules-api.service.js → esm2020/lib/services/rules-api.service.mjs} +4 -4
  26. package/esm2020/lib/services/salesforce-api.service.mjs +61 -0
  27. package/{esm2015/lib/services/scripts-api.service.js → esm2020/lib/services/scripts-api.service.mjs} +4 -4
  28. package/esm2020/lib/services/shopping-cart-settings-api.service.mjs +28 -0
  29. package/esm2020/lib/services/ui-templates-api.service.mjs +281 -0
  30. package/esm2020/lib/types/dto/configuration-settings-dto.types.mjs +22 -0
  31. package/fesm2015/{veloceapps-api.js → veloceapps-api.mjs} +100 -101
  32. package/fesm2015/veloceapps-api.mjs.map +1 -0
  33. package/fesm2020/veloceapps-api.mjs +2468 -0
  34. package/fesm2020/veloceapps-api.mjs.map +1 -0
  35. package/lib/services/catalog-admin-api.service.d.ts +2 -2
  36. package/lib/services/guided-sellings-admin-api.service.d.ts +2 -2
  37. package/lib/services/quote-api.service.d.ts +1 -1
  38. package/lib/services/ui-templates-api.service.d.ts +3 -3
  39. package/lib/types/dto/offers-dto.types.d.ts +2 -2
  40. package/lib/types/search-request.types.d.ts +1 -1
  41. package/package.json +26 -24
  42. package/bundles/veloceapps-api.umd.js +0 -2880
  43. package/bundles/veloceapps-api.umd.js.map +0 -1
  44. package/esm2015/lib/services/account-api.service.js +0 -50
  45. package/esm2015/lib/services/catalog-admin-api.service.js +0 -165
  46. package/esm2015/lib/services/configuration-api.service.js +0 -72
  47. package/esm2015/lib/services/configuration-settings-api.service.js +0 -61
  48. package/esm2015/lib/services/document-templates-api.service.js +0 -284
  49. package/esm2015/lib/services/flows-api.service.js +0 -24
  50. package/esm2015/lib/services/guided-sellings-admin-api.service.js +0 -65
  51. package/esm2015/lib/services/guided-sellings-api.service.js +0 -27
  52. package/esm2015/lib/services/org-info-api.service.js +0 -20
  53. package/esm2015/lib/services/product-model-api.service.js +0 -232
  54. package/esm2015/lib/services/quote-api.service.js +0 -48
  55. package/esm2015/lib/services/ramp-api.service.js +0 -21
  56. package/esm2015/lib/services/salesforce-api.service.js +0 -43
  57. package/esm2015/lib/services/shopping-cart-settings-api.service.js +0 -28
  58. package/esm2015/lib/services/ui-templates-api.service.js +0 -282
  59. package/esm2015/lib/types/dto/configuration-settings-dto.types.js +0 -22
  60. package/fesm2015/veloceapps-api.js.map +0 -1
  61. package/veloceapps-api.d.ts +0 -5
  62. /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  63. /package/{esm2015/lib/types/clone-request.types.js → esm2020/lib/types/clone-request.types.mjs} +0 -0
  64. /package/{esm2015/lib/types/delta-request.types.js → esm2020/lib/types/delta-request.types.mjs} +0 -0
  65. /package/{esm2015/lib/types/dto/offers-dto.types.js → esm2020/lib/types/dto/offers-dto.types.mjs} +0 -0
  66. /package/{esm2015/lib/types/dto/ui-template-dto.types.js → esm2020/lib/types/dto/ui-template-dto.types.mjs} +0 -0
  67. /package/{esm2015/lib/types/index.js → esm2020/lib/types/index.mjs} +0 -0
  68. /package/{esm2015/lib/types/org-info.types.js → esm2020/lib/types/org-info.types.mjs} +0 -0
  69. /package/{esm2015/lib/types/price.types.js → esm2020/lib/types/price.types.mjs} +0 -0
  70. /package/{esm2015/lib/types/ramp-request.types.js → esm2020/lib/types/ramp-request.types.mjs} +0 -0
  71. /package/{esm2015/lib/types/search-request.types.js → esm2020/lib/types/search-request.types.mjs} +0 -0
  72. /package/{esm2015/lib/utils/ui-template.utils.js → esm2020/lib/utils/ui-template.utils.mjs} +0 -0
  73. /package/{esm2015/veloceapps-api.js → esm2020/veloceapps-api.mjs} +0 -0
@@ -1,284 +0,0 @@
1
- import { CurrencyPipe } from '@angular/common';
2
- import { Injectable } from '@angular/core';
3
- import { DocxTemplater, isLegacyDocumentTemplate, QuoteDraft, StringUtils, } from '@veloceapps/core';
4
- import * as _ from 'lodash';
5
- import * as moment_ from 'moment';
6
- import { forkJoin, of, zip } from 'rxjs';
7
- import { defaultIfEmpty, map, switchMap, tap } from 'rxjs/operators';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@veloceapps/core";
10
- import * as i2 from "./salesforce-api.service";
11
- import * as i3 from "./document-attachment-api.service";
12
- import * as i4 from "@angular/common/http";
13
- const moment = moment_;
14
- export class DocumentTemplatesApiService {
15
- constructor(service, salesforceApiService, fileDownloadService, documentAttachmentService, http) {
16
- this.service = service;
17
- this.salesforceApiService = salesforceApiService;
18
- this.fileDownloadService = fileDownloadService;
19
- this.documentAttachmentService = documentAttachmentService;
20
- this.http = http;
21
- this.DOCGEN_TAG = 'docgen';
22
- this.SERVICE_URL = '/templates';
23
- this.DOC_GEN_URL_FALLBACK = 'https://dev-dp1.velocpq.com/docgen';
24
- this.mapSfQueryResult = (limit) => map((records) => {
25
- if (!records.length) {
26
- return { _result: 'No Records Found' };
27
- }
28
- if (limit === 1) {
29
- return records[0];
30
- }
31
- return records;
32
- });
33
- this.mapBooleanIfAplicable = (value) => {
34
- if (value === 'true') {
35
- return true;
36
- }
37
- if (value === 'false') {
38
- return false;
39
- }
40
- return value;
41
- };
42
- if (window.VELO_DOCGEN_API) {
43
- this.DOC_GEN_URL = window.VELO_DOCGEN_API;
44
- }
45
- else {
46
- console.log(`window.VELO_DOCGEN_API not set, will use fallback "${this.DOC_GEN_URL_FALLBACK}"`);
47
- this.DOC_GEN_URL = this.DOC_GEN_URL_FALLBACK;
48
- }
49
- }
50
- getTemplates(tag) {
51
- return this.service.api({
52
- url: `${this.SERVICE_URL}`,
53
- method: 'get',
54
- params: Object.assign({}, (tag && { tag })),
55
- });
56
- }
57
- getTemplate(id) {
58
- return this.service.api({
59
- url: `${this.SERVICE_URL}/${id}`,
60
- method: 'get',
61
- });
62
- }
63
- upsertTemplate(template, file, reportProgress) {
64
- const formData = new FormData();
65
- if (file) {
66
- formData.append('file', file, file.name);
67
- }
68
- formData.append('template', new Blob([JSON.stringify(template)], {
69
- type: 'application/json',
70
- }));
71
- let url = `${this.SERVICE_URL}`;
72
- if (template.id) {
73
- url += `/${template.id}`;
74
- }
75
- return this.service.upload({
76
- url,
77
- body: formData,
78
- method: template.id ? 'put' : 'post',
79
- reportProgress,
80
- });
81
- }
82
- removeTemplate(id) {
83
- return this.service.api({
84
- url: `${this.SERVICE_URL}/${id}`,
85
- method: 'delete',
86
- });
87
- }
88
- restoreTemplate(id) {
89
- return this.service.api({
90
- url: `${this.SERVICE_URL}/${id}/restore`,
91
- method: 'patch',
92
- });
93
- }
94
- cloneTemplate(id, propertiesToOverride = {}) {
95
- return this.service.api({
96
- url: `${this.SERVICE_URL}/clone/${id}`,
97
- method: 'post',
98
- body: {
99
- id,
100
- propertiesToOverride,
101
- },
102
- });
103
- }
104
- getTemplateFile(id) {
105
- return this.service.api({
106
- method: 'get',
107
- url: `${this.SERVICE_URL}/${id}/file`,
108
- responseType: 'arraybuffer',
109
- });
110
- }
111
- downloadTemplateFile(id) {
112
- return this.service
113
- .api({
114
- url: `${this.SERVICE_URL}/${id}/file`,
115
- responseType: 'blob',
116
- observe: 'response',
117
- })
118
- .pipe(tap(response => {
119
- this.fileDownloadService.processDownload(response);
120
- }), map(response => response.body || response));
121
- }
122
- mergeDocuments(document, attachments) {
123
- const body = new FormData();
124
- attachments.forEach(attachment => {
125
- body.append('attachments', new Blob([attachment]));
126
- });
127
- body.append('orderform', document);
128
- return this.http.post(`${this.DOC_GEN_URL}/documents/merge`, body, {
129
- responseType: 'arraybuffer',
130
- });
131
- }
132
- getAttachments(searchRequest) {
133
- return this.documentAttachmentService.getAttachments(searchRequest);
134
- }
135
- getAttachmentFile(id) {
136
- return this.documentAttachmentService.getAttachmentFile(id);
137
- }
138
- createAttachment(attachment, file, reportProgress) {
139
- return this.documentAttachmentService.createAttachment(attachment, file, reportProgress);
140
- }
141
- removeAttachment(id) {
142
- return this.documentAttachmentService.removeAttachment(id);
143
- }
144
- generateDocumentData(template, object, params = {}) {
145
- var _a;
146
- if (isLegacyDocumentTemplate(template)) {
147
- return this.generateDocumentDataLegacy(template, object, params);
148
- }
149
- const templateProperties = (_a = template.properties) === null || _a === void 0 ? void 0 : _a.reduce((acc, { name, value }) => (Object.assign(Object.assign({}, acc), { [name]: this.mapBooleanIfAplicable(value) })), {});
150
- /*
151
- Resolve quote and template properties for now
152
- When procedures are ready, whey will replace template scripts.
153
-
154
- TODO: run procedure to resolve document data
155
- */
156
- return of(Object.assign(Object.assign({}, (typeof object === 'object' ? object : { object })), templateProperties));
157
- }
158
- generateDocument(template, object, params = {}) {
159
- const documentData$ = this.generateDocumentData(template, object, Object.assign(Object.assign({}, params), { shouldPreventDownload: true }));
160
- return zip(this.getTemplateFile(template.id), documentData$, this.resolveAttachments$(template)).pipe(switchMap(([templateFile, data, attachments]) => {
161
- var _a, _b, _c, _d, _e, _f;
162
- const document = DocxTemplater.generate(templateFile, data);
163
- const properties = (_c = (_b = (_a = object === null || object === void 0 ? void 0 : object.context) === null || _a === void 0 ? void 0 : _a.properties) !== null && _b !== void 0 ? _b : object === null || object === void 0 ? void 0 : object.properties) !== null && _c !== void 0 ? _c : {};
164
- const documentName = properties.Name || template.name;
165
- const documentFormat = (_d = params.documentFormat) !== null && _d !== void 0 ? _d : (_f = (_e = template.properties) === null || _e === void 0 ? void 0 : _e.find(p => p.name === 'documentFormat')) === null || _f === void 0 ? void 0 : _f.value;
166
- if (documentFormat === 'DOCX') {
167
- this.fileDownloadService.processDownload(document, documentName);
168
- return of(document);
169
- }
170
- return this.mergeDocuments(document, attachments).pipe(switchMap(pdf => {
171
- if (params.attachToQuote && QuoteDraft.isQuote(object)) {
172
- const file = new File([pdf], `${documentName}.pdf`);
173
- return this.documentAttachmentService
174
- .createAttachment({
175
- linkedEntityId: object.quoteId,
176
- fileName: documentName,
177
- fileExtension: 'pdf',
178
- tags: this.DOCGEN_TAG,
179
- }, file)
180
- .pipe(map(() => pdf));
181
- }
182
- return of(pdf);
183
- }), map(pdf => {
184
- const blob = new Blob([pdf]);
185
- if (!params.shouldPreventDownload) {
186
- this.fileDownloadService.processDownload(blob, `${documentName}.pdf`);
187
- }
188
- return blob;
189
- }));
190
- }));
191
- }
192
- generateDocumentDataLegacy(template, object, params = {}) {
193
- var _a, _b, _c, _d;
194
- const shouldPreventDownload = params.shouldPreventDownload;
195
- const allQueries = [...((_a = template === null || template === void 0 ? void 0 : template.queries) !== null && _a !== void 0 ? _a : [])];
196
- const properties = (_d = (_c = (_b = object === null || object === void 0 ? void 0 : object.context) === null || _b === void 0 ? void 0 : _b.properties) !== null && _c !== void 0 ? _c : object === null || object === void 0 ? void 0 : object.properties) !== null && _d !== void 0 ? _d : {};
197
- const accountId = properties === null || properties === void 0 ? void 0 : properties.AccountId;
198
- const userId = properties === null || properties === void 0 ? void 0 : properties.UserId;
199
- if (accountId) {
200
- allQueries.push({
201
- queryName: 'QuoteAccountQuery',
202
- objectName: 'Account',
203
- resultObjectName: 'account',
204
- statement: `Id ='${accountId}'`,
205
- fields: [],
206
- });
207
- }
208
- if (userId) {
209
- allQueries.push({
210
- queryName: 'QuoteUserQuery',
211
- objectName: 'User',
212
- resultObjectName: 'agent',
213
- statement: `Id ='${userId}'`,
214
- fields: [],
215
- });
216
- }
217
- const queries = allQueries.map(query => this.queryObject(query, { properties })) || [];
218
- return forkJoin([...queries]).pipe(defaultIfEmpty([]), map(results => {
219
- var _a, _b, _c, _d;
220
- const queriesResult = _.chain(results)
221
- .reduce((acc, r) => {
222
- if (r) {
223
- return Object.assign(Object.assign({}, acc), r);
224
- }
225
- return acc;
226
- }, {})
227
- .value();
228
- const templateProperties = ((template === null || template === void 0 ? void 0 : template.properties) || []).reduce((trunk, { name, value }) => {
229
- return Object.assign(Object.assign({}, trunk), { [name]: this.mapBooleanIfAplicable(value) });
230
- }, {});
231
- const data = Object.assign(Object.assign(Object.assign({}, (typeof object === 'object' ? object : { object })), queriesResult), templateProperties);
232
- if (template.script && template.script.trim().length) {
233
- const currencyFormat = ((_b = (_a = template.properties) === null || _a === void 0 ? void 0 : _a.find(({ name }) => name === 'currencyFormat')) === null || _b === void 0 ? void 0 : _b.value) || '1.2-2';
234
- const dateFormat = ((_d = (_c = template.properties) === null || _c === void 0 ? void 0 : _c.find(({ name }) => name === 'dateFormat')) === null || _d === void 0 ? void 0 : _d.value) || 'D/MMM/YYYY';
235
- const formatDate = (value) => {
236
- return value ? moment(value).format(dateFormat) : value;
237
- };
238
- const transform = new Function(`return ${template.script}`)();
239
- const transformedData = transform(Object.assign(Object.assign({}, data), { utils: {
240
- lodash: _,
241
- currency: (value) => new CurrencyPipe('en-US').transform(value, 'USD', 'symbol', currencyFormat),
242
- date: formatDate,
243
- }, ToDay: formatDate(Date.now()) }));
244
- if (!shouldPreventDownload) {
245
- const blob = new Blob([JSON.stringify(transformedData)]);
246
- this.fileDownloadService.processDownload(blob, 'data.json');
247
- }
248
- return transformedData;
249
- }
250
- return data;
251
- }));
252
- }
253
- resolveAttachments$(template) {
254
- var _a, _b;
255
- const attachmentIds = (_b = (_a = template.attachments) === null || _a === void 0 ? void 0 : _a.map(({ id }) => id).filter(Boolean)) !== null && _b !== void 0 ? _b : [];
256
- if (!attachmentIds.length) {
257
- return of([]);
258
- }
259
- return forkJoin(attachmentIds.map(id => this.documentAttachmentService.getAttachmentFile(id, true)));
260
- }
261
- queryObject({ objectName, resultObjectName, fields, statement }, { properties }) {
262
- var _a;
263
- const patternLimit = /(\s*limit\s\d*)/i;
264
- let limit = 1;
265
- if (statement && patternLimit.test(statement)) {
266
- const limitStr = (_a = statement === null || statement === void 0 ? void 0 : statement.match(patternLimit)) === null || _a === void 0 ? void 0 : _a[1].trim().substring(5).trim();
267
- if (limitStr) {
268
- limit = Number.parseInt(limitStr, 10);
269
- }
270
- statement = statement.replace(patternLimit, '');
271
- }
272
- const resolvedStatement = statement
273
- ? StringUtils.fillPlaceholders(statement, properties, /:\s*(\w[\w\d_.]+)/i)
274
- : undefined;
275
- const searchRequest = Object.assign({ skip: 0, count: limit, rawCondition: resolvedStatement }, ((fields === null || fields === void 0 ? void 0 : fields.length) && !!fields[0] && { fields }));
276
- return this.salesforceApiService.query(searchRequest, objectName).pipe(this.mapSfQueryResult(limit), map(value => ({ [resultObjectName]: value })));
277
- }
278
- }
279
- DocumentTemplatesApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentTemplatesApiService, deps: [{ token: i1.BaseHttpService }, { token: i2.SalesforceApiService }, { token: i1.FileDownloadService }, { token: i3.DocumentAttachmentApiService }, { token: i4.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
280
- DocumentTemplatesApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentTemplatesApiService });
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DocumentTemplatesApiService, decorators: [{
282
- type: Injectable
283
- }], ctorParameters: function () { return [{ type: i1.BaseHttpService }, { type: i2.SalesforceApiService }, { type: i1.FileDownloadService }, { type: i3.DocumentAttachmentApiService }, { type: i4.HttpClient }]; } });
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGVzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvc3JjL2xpYi9zZXJ2aWNlcy9kb2N1bWVudC10ZW1wbGF0ZXMtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUtMLGFBQWEsRUFFYix3QkFBd0IsRUFDeEIsVUFBVSxFQUVWLFdBQVcsR0FJWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUlyRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFVdkIsTUFBTSxPQUFPLDJCQUEyQjtJQU90QyxZQUNVLE9BQXdCLEVBQ3hCLG9CQUEwQyxFQUMxQyxtQkFBd0MsRUFDeEMseUJBQXVELEVBQ3ZELElBQWdCO1FBSmhCLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyw4QkFBeUIsR0FBekIseUJBQXlCLENBQThCO1FBQ3ZELFNBQUksR0FBSixJQUFJLENBQVk7UUFYVixlQUFVLEdBQUcsUUFBUSxDQUFDO1FBRXJCLGdCQUFXLEdBQUcsWUFBWSxDQUFDO1FBQzNCLHlCQUFvQixHQUFHLG9D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LENBQUM7UUFFbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ3BFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFDNUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQzlDLENBQUM7SUFDSixDQUFDOzt5SEEzWFUsMkJBQTJCOzZIQUEzQiwyQkFBMkI7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEN1cnJlbmN5UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQW55V2l0aFByb3BlcnRpZXMsXG4gIEF0dGFjaG1lbnQsXG4gIEJhc2VIdHRwU2VydmljZSxcbiAgRG9jdW1lbnRUZW1wbGF0ZSxcbiAgRG9jeFRlbXBsYXRlcixcbiAgRmlsZURvd25sb2FkU2VydmljZSxcbiAgaXNMZWdhY3lEb2N1bWVudFRlbXBsYXRlLFxuICBRdW90ZURyYWZ0LFxuICBTZWFyY2hSZXF1ZXN0LFxuICBTdHJpbmdVdGlscyxcbiAgVGVtcGxhdGVBdHRhY2htZW50U2VhcmNoUmVxdWVzdCxcbiAgVGVtcGxhdGVRdWVyeSxcbiAgVmxXaW5kb3csXG59IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mLCB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlZmF1bHRJZkVtcHR5LCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRG9jdW1lbnRBdHRhY2htZW50QXBpU2VydmljZSB9IGZyb20gJy4vZG9jdW1lbnQtYXR0YWNobWVudC1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBTYWxlc2ZvcmNlQXBpU2VydmljZSB9IGZyb20gJy4vc2FsZXNmb3JjZS1hcGkuc2VydmljZSc7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogVmxXaW5kb3c7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jdW1lbnRHZW5lcmF0aW9uUGFyYW1zIHtcbiAgYXR0YWNoVG9RdW90ZT86IGJvb2xlYW47XG4gIGRvY3VtZW50Rm9ybWF0PzogJ0RPQ1gnO1xuICBzaG91bGRQcmV2ZW50RG93bmxvYWQ/OiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRUZW1wbGF0ZXNBcGlTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IERPQ0dFTl9UQUcgPSAnZG9jZ2VuJztcblxuICBwcml2YXRlIHJlYWRvbmx5IFNFUlZJQ0VfVVJMID0gJy90ZW1wbGF0ZXMnO1xuICBwcml2YXRlIHJlYWRvbmx5IERPQ19HRU5fVVJMX0ZBTExCQUNLID0gJ2h0dHBzOi8vZGV2LWRwMS52ZWxvY3BxLmNvbS9kb2NnZW4nO1xuICBwcml2YXRlIHJlYWRvbmx5IERPQ19HRU5fVVJMO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VydmljZTogQmFzZUh0dHBTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2FsZXNmb3JjZUFwaVNlcnZpY2U6IFNhbGVzZm9yY2VBcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZmlsZURvd25sb2FkU2VydmljZTogRmlsZURvd25sb2FkU2VydmljZSxcbiAgICBwcml2YXRlIGRvY3VtZW50QXR0YWNobWVudFNlcnZpY2U6IERvY3VtZW50QXR0YWNobWVudEFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICApIHtcbiAgICBpZiAod2luZG93LlZFTE9fRE9DR0VOX0FQSSkge1xuICAgICAgdGhpcy5ET0NfR0VOX1VSTCA9IHdpbmRvdy5WRUxPX0RPQ0dFTl9BUEk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKGB3aW5kb3cuVkVMT19ET0NHRU5fQVBJIG5vdCBzZXQsIHdpbGwgdXNlIGZhbGxiYWNrIFwiJHt0aGlzLkRPQ19HRU5fVVJMX0ZBTExCQUNLfVwiYCk7XG4gICAgICB0aGlzLkRPQ19HRU5fVVJMID0gdGhpcy5ET0NfR0VOX1VSTF9GQUxMQkFDSztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VGVtcGxhdGVzKHRhZz86IHN0cmluZyk6IE9ic2VydmFibGU8RG9jdW1lbnRUZW1wbGF0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfWAsXG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIC4uLih0YWcgJiYgeyB0YWcgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldFRlbXBsYXRlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERvY3VtZW50VGVtcGxhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7aWR9YCxcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdXBzZXJ0VGVtcGxhdGUoXG4gICAgdGVtcGxhdGU6IERvY3VtZW50VGVtcGxhdGUsXG4gICAgZmlsZT86IEZpbGUsXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuLFxuICApOiBPYnNlcnZhYmxlPERvY3VtZW50VGVtcGxhdGU+IHtcbiAgICBjb25zdCBmb3JtRGF0YTogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgIGlmIChmaWxlKSB7XG4gICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlLCBmaWxlLm5hbWUpO1xuICAgIH1cbiAgICBmb3JtRGF0YS5hcHBlbmQoXG4gICAgICAndGVtcGxhdGUnLFxuICAgICAgbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHRlbXBsYXRlKV0sIHtcbiAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGxldCB1cmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWA7XG4gICAgaWYgKHRlbXBsYXRlLmlkKSB7XG4gICAgICB1cmwgKz0gYC8ke3RlbXBsYXRlLmlkfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS51cGxvYWQoe1xuICAgICAgdXJsLFxuICAgICAgYm9keTogZm9ybURhdGEsXG4gICAgICBtZXRob2Q6IHRlbXBsYXRlLmlkID8gJ3B1dCcgOiAncG9zdCcsXG4gICAgICByZXBvcnRQcm9ncmVzcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVUZW1wbGF0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxEb2N1bWVudFRlbXBsYXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke2lkfWAsXG4gICAgICBtZXRob2Q6ICdkZWxldGUnLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc3RvcmVUZW1wbGF0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke2lkfS9yZXN0b3JlYCxcbiAgICAgIG1ldGhvZDogJ3BhdGNoJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9uZVRlbXBsYXRlKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcGVydGllc1RvT3ZlcnJpZGU6IFBhcnRpYWw8RG9jdW1lbnRUZW1wbGF0ZT4gPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTx7IGNsb25lZFJlY29yZElkOiBzdHJpbmcgfT4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vY2xvbmUvJHtpZH1gLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBib2R5OiB7XG4gICAgICAgIGlkLFxuICAgICAgICBwcm9wZXJ0aWVzVG9PdmVycmlkZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0VGVtcGxhdGVGaWxlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5QnVmZmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5hcGkoe1xuICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHtpZH0vZmlsZWAsXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZG93bmxvYWRUZW1wbGF0ZUZpbGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgIC5hcGkoe1xuICAgICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7aWR9L2ZpbGVgLFxuICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICB0aGlzLmZpbGVEb3dubG9hZFNlcnZpY2UucHJvY2Vzc0Rvd25sb2FkKHJlc3BvbnNlKTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiByZXNwb25zZS5ib2R5IHx8IHJlc3BvbnNlKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgbWVyZ2VEb2N1bWVudHMoZG9jdW1lbnQ6IEJsb2IsIGF0dGFjaG1lbnRzOiBBcnJheUJ1ZmZlcltdKTogT2JzZXJ2YWJsZTxBcnJheUJ1ZmZlcj4ge1xuICAgIGNvbnN0IGJvZHkgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgIGF0dGFjaG1lbnRzLmZvckVhY2goYXR0YWNobWVudCA9PiB7XG4gICAgICBib2R5LmFwcGVuZCgnYXR0YWNobWVudHMnLCBuZXcgQmxvYihbYXR0YWNobWVudF0pKTtcbiAgICB9KTtcblxuICAgIGJvZHkuYXBwZW5kKCdvcmRlcmZvcm0nLCBkb2N1bWVudCk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5ET0NfR0VOX1VSTH0vZG9jdW1lbnRzL21lcmdlYCwgYm9keSwge1xuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEF0dGFjaG1lbnRzKHNlYXJjaFJlcXVlc3Q6IFRlbXBsYXRlQXR0YWNobWVudFNlYXJjaFJlcXVlc3QpOiBPYnNlcnZhYmxlPEF0dGFjaG1lbnRbXT4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50QXR0YWNobWVudFNlcnZpY2UuZ2V0QXR0YWNobWVudHMoc2VhcmNoUmVxdWVzdCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXR0YWNobWVudEZpbGUoaWQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRBdHRhY2htZW50U2VydmljZS5nZXRBdHRhY2htZW50RmlsZShpZCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlQXR0YWNobWVudChhdHRhY2htZW50OiBBdHRhY2htZW50LCBmaWxlPzogRmlsZSwgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBdHRhY2htZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRBdHRhY2htZW50U2VydmljZS5jcmVhdGVBdHRhY2htZW50KGF0dGFjaG1lbnQsIGZpbGUsIHJlcG9ydFByb2dyZXNzKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBdHRhY2htZW50KGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5kb2N1bWVudEF0dGFjaG1lbnRTZXJ2aWNlLnJlbW92ZUF0dGFjaG1lbnQoaWQpO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlRG9jdW1lbnREYXRhKFxuICAgIHRlbXBsYXRlOiBEb2N1bWVudFRlbXBsYXRlLFxuICAgIG9iamVjdDogYW55LFxuICAgIHBhcmFtczogRG9jdW1lbnRHZW5lcmF0aW9uUGFyYW1zID0ge30sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKGlzTGVnYWN5RG9jdW1lbnRUZW1wbGF0ZSh0ZW1wbGF0ZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdlbmVyYXRlRG9jdW1lbnREYXRhTGVnYWN5KHRlbXBsYXRlLCBvYmplY3QsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgY29uc3QgdGVtcGxhdGVQcm9wZXJ0aWVzID0gdGVtcGxhdGUucHJvcGVydGllcz8ucmVkdWNlKFxuICAgICAgKGFjYywgeyBuYW1lLCB2YWx1ZSB9KSA9PiAoeyAuLi5hY2MsIFtuYW1lXTogdGhpcy5tYXBCb29sZWFuSWZBcGxpY2FibGUodmFsdWUpIH0pLFxuICAgICAge30sXG4gICAgKTtcblxuICAgIC8qXG4gICAgICBSZXNvbHZlIHF1b3RlIGFuZCB0ZW1wbGF0ZSBwcm9wZXJ0aWVzIGZvciBub3dcbiAgICAgIFdoZW4gcHJvY2VkdXJlcyBhcmUgcmVhZHksIHdoZXkgd2lsbCByZXBsYWNlIHRlbXBsYXRlIHNjcmlwdHMuXG5cbiAgICAgIFRPRE86IHJ1biBwcm9jZWR1cmUgdG8gcmVzb2x2ZSBkb2N1bWVudCBkYXRhXG4gICAgKi9cbiAgICByZXR1cm4gb2Yoe1xuICAgICAgLi4uKHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnID8gb2JqZWN0IDogeyBvYmplY3QgfSksXG4gICAgICAuLi50ZW1wbGF0ZVByb3BlcnRpZXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVEb2N1bWVudChcbiAgICB0ZW1wbGF0ZTogRG9jdW1lbnRUZW1wbGF0ZSxcbiAgICBvYmplY3Q6IGFueSxcbiAgICBwYXJhbXM6IERvY3VtZW50R2VuZXJhdGlvblBhcmFtcyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICBjb25zdCBkb2N1bWVudERhdGEkID0gdGhpcy5nZW5lcmF0ZURvY3VtZW50RGF0YSh0ZW1wbGF0ZSwgb2JqZWN0LCB7IC4uLnBhcmFtcywgc2hvdWxkUHJldmVudERvd25sb2FkOiB0cnVlIH0pO1xuXG4gICAgcmV0dXJuIHppcCh0aGlzLmdldFRlbXBsYXRlRmlsZSh0ZW1wbGF0ZS5pZCksIGRvY3VtZW50RGF0YSQsIHRoaXMucmVzb2x2ZUF0dGFjaG1lbnRzJCh0ZW1wbGF0ZSkpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKFt0ZW1wbGF0ZUZpbGUsIGRhdGEsIGF0dGFjaG1lbnRzXSkgPT4ge1xuICAgICAgICBjb25zdCBkb2N1bWVudCA9IERvY3hUZW1wbGF0ZXIuZ2VuZXJhdGUodGVtcGxhdGVGaWxlLCBkYXRhKTtcbiAgICAgICAgY29uc3QgcHJvcGVydGllczogXy5EaWN0aW9uYXJ5PHN0cmluZz4gPSBvYmplY3Q/LmNvbnRleHQ/LnByb3BlcnRpZXMgPz8gb2JqZWN0Py5wcm9wZXJ0aWVzID8/IHt9O1xuICAgICAgICBjb25zdCBkb2N1bWVudE5hbWUgPSBwcm9wZXJ0aWVzLk5hbWUgfHwgdGVtcGxhdGUubmFtZTtcblxuICAgICAgICBjb25zdCBkb2N1bWVudEZvcm1hdCA9XG4gICAgICAgICAgcGFyYW1zLmRvY3VtZW50Rm9ybWF0ID8/IHRlbXBsYXRlLnByb3BlcnRpZXM/LmZpbmQocCA9PiBwLm5hbWUgPT09ICdkb2N1bWVudEZvcm1hdCcpPy52YWx1ZTtcbiAgICAgICAgaWYgKGRvY3VtZW50Rm9ybWF0ID09PSAnRE9DWCcpIHtcbiAgICAgICAgICB0aGlzLmZpbGVEb3dubG9hZFNlcnZpY2UucHJvY2Vzc0Rvd25sb2FkKGRvY3VtZW50LCBkb2N1bWVudE5hbWUpO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKGRvY3VtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm1lcmdlRG9jdW1lbnRzKGRvY3VtZW50LCBhdHRhY2htZW50cykucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAocGRmID0+IHtcbiAgICAgICAgICAgIGlmIChwYXJhbXMuYXR0YWNoVG9RdW90ZSAmJiBRdW90ZURyYWZ0LmlzUXVvdGUob2JqZWN0KSkge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlID0gbmV3IEZpbGUoW3BkZl0sIGAke2RvY3VtZW50TmFtZX0ucGRmYCk7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50QXR0YWNobWVudFNlcnZpY2VcbiAgICAgICAgICAgICAgICAuY3JlYXRlQXR0YWNobWVudChcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGlua2VkRW50aXR5SWQ6IG9iamVjdC5xdW90ZUlkLFxuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZTogZG9jdW1lbnROYW1lLFxuICAgICAgICAgICAgICAgICAgICBmaWxlRXh0ZW5zaW9uOiAncGRmJyxcbiAgICAgICAgICAgICAgICAgICAgdGFnczogdGhpcy5ET0NHRU5fVEFHLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5waXBlKG1hcCgoKSA9PiBwZGYpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9mKHBkZik7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgbWFwKHBkZiA9PiB7XG4gICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3BkZl0pO1xuXG4gICAgICAgICAgICBpZiAoIXBhcmFtcy5zaG91bGRQcmV2ZW50RG93bmxvYWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5maWxlRG93bmxvYWRTZXJ2aWNlLnByb2Nlc3NEb3dubG9hZChibG9iLCBgJHtkb2N1bWVudE5hbWV9LnBkZmApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYmxvYjtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlRG9jdW1lbnREYXRhTGVnYWN5KFxuICAgIHRlbXBsYXRlOiBEb2N1bWVudFRlbXBsYXRlLFxuICAgIG9iamVjdDogYW55LFxuICAgIHBhcmFtczogRG9jdW1lbnRHZW5lcmF0aW9uUGFyYW1zID0ge30sXG4gICk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3Qgc2hvdWxkUHJldmVudERvd25sb2FkID0gcGFyYW1zLnNob3VsZFByZXZlbnREb3dubG9hZDtcbiAgICBjb25zdCBhbGxRdWVyaWVzOiBUZW1wbGF0ZVF1ZXJ5W10gPSBbLi4uKHRlbXBsYXRlPy5xdWVyaWVzID8/IFtdKV07XG4gICAgY29uc3QgcHJvcGVydGllczogXy5EaWN0aW9uYXJ5PHN0cmluZz4gPSBvYmplY3Q/LmNvbnRleHQ/LnByb3BlcnRpZXMgPz8gb2JqZWN0Py5wcm9wZXJ0aWVzID8/IHt9O1xuICAgIGNvbnN0IGFjY291bnRJZCA9IHByb3BlcnRpZXM/LkFjY291bnRJZDtcbiAgICBjb25zdCB1c2VySWQgPSBwcm9wZXJ0aWVzPy5Vc2VySWQ7XG5cbiAgICBpZiAoYWNjb3VudElkKSB7XG4gICAgICBhbGxRdWVyaWVzLnB1c2goe1xuICAgICAgICBxdWVyeU5hbWU6ICdRdW90ZUFjY291bnRRdWVyeScsXG4gICAgICAgIG9iamVjdE5hbWU6ICdBY2NvdW50JyxcbiAgICAgICAgcmVzdWx0T2JqZWN0TmFtZTogJ2FjY291bnQnLFxuICAgICAgICBzdGF0ZW1lbnQ6IGBJZCA9JyR7YWNjb3VudElkfSdgLFxuICAgICAgICBmaWVsZHM6IFtdLFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh1c2VySWQpIHtcbiAgICAgIGFsbFF1ZXJpZXMucHVzaCh7XG4gICAgICAgIHF1ZXJ5TmFtZTogJ1F1b3RlVXNlclF1ZXJ5JyxcbiAgICAgICAgb2JqZWN0TmFtZTogJ1VzZXInLFxuICAgICAgICByZXN1bHRPYmplY3ROYW1lOiAnYWdlbnQnLFxuICAgICAgICBzdGF0ZW1lbnQ6IGBJZCA9JyR7dXNlcklkfSdgLFxuICAgICAgICBmaWVsZHM6IFtdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcmllcyA9IGFsbFF1ZXJpZXMubWFwKHF1ZXJ5ID0+IHRoaXMucXVlcnlPYmplY3QocXVlcnksIHsgcHJvcGVydGllcyB9KSkgfHwgW107XG5cbiAgICByZXR1cm4gZm9ya0pvaW4oWy4uLnF1ZXJpZXNdKS5waXBlKFxuICAgICAgZGVmYXVsdElmRW1wdHkoW10gYXMgYW55W10pLFxuICAgICAgbWFwKHJlc3VsdHMgPT4ge1xuICAgICAgICBjb25zdCBxdWVyaWVzUmVzdWx0ID0gXy5jaGFpbihyZXN1bHRzKVxuICAgICAgICAgIC5yZWR1Y2UoKGFjYywgcikgPT4ge1xuICAgICAgICAgICAgaWYgKHIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCAuLi5yIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfSwge30pXG4gICAgICAgICAgLnZhbHVlKCk7XG5cbiAgICAgICAgY29uc3QgdGVtcGxhdGVQcm9wZXJ0aWVzID0gKHRlbXBsYXRlPy5wcm9wZXJ0aWVzIHx8IFtdKS5yZWR1Y2UoKHRydW5rLCB7IG5hbWUsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udHJ1bmssXG4gICAgICAgICAgICBbbmFtZSBhcyBzdHJpbmddOiB0aGlzLm1hcEJvb2xlYW5JZkFwbGljYWJsZSh2YWx1ZSBhcyBhbnkpLFxuICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgIC4uLih0eXBlb2Ygb2JqZWN0ID09PSAnb2JqZWN0JyA/IG9iamVjdCA6IHsgb2JqZWN0IH0pLFxuICAgICAgICAgIC4uLnF1ZXJpZXNSZXN1bHQsXG4gICAgICAgICAgLi4udGVtcGxhdGVQcm9wZXJ0aWVzLFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0ZW1wbGF0ZS5zY3JpcHQgJiYgdGVtcGxhdGUuc2NyaXB0LnRyaW0oKS5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW5jeUZvcm1hdCA9IHRlbXBsYXRlLnByb3BlcnRpZXM/LmZpbmQoKHsgbmFtZSB9KSA9PiBuYW1lID09PSAnY3VycmVuY3lGb3JtYXQnKT8udmFsdWUgfHwgJzEuMi0yJztcbiAgICAgICAgICBjb25zdCBkYXRlRm9ybWF0ID0gdGVtcGxhdGUucHJvcGVydGllcz8uZmluZCgoeyBuYW1lIH0pID0+IG5hbWUgPT09ICdkYXRlRm9ybWF0Jyk/LnZhbHVlIHx8ICdEL01NTS9ZWVlZJztcbiAgICAgICAgICBjb25zdCBmb3JtYXREYXRlID0gKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/IG1vbWVudCh2YWx1ZSkuZm9ybWF0KGRhdGVGb3JtYXQpIDogdmFsdWU7XG4gICAgICAgICAgfTtcbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSBuZXcgRnVuY3Rpb24oYHJldHVybiAke3RlbXBsYXRlLnNjcmlwdH1gKSgpO1xuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRGF0YSA9IHRyYW5zZm9ybSh7XG4gICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgdXRpbHM6IHtcbiAgICAgICAgICAgICAgbG9kYXNoOiBfLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogKHZhbHVlOiBhbnkpID0+IG5ldyBDdXJyZW5jeVBpcGUoJ2VuLVVTJykudHJhbnNmb3JtKHZhbHVlLCAnVVNEJywgJ3N5bWJvbCcsIGN1cnJlbmN5Rm9ybWF0KSxcbiAgICAgICAgICAgICAgZGF0ZTogZm9ybWF0RGF0ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBUb0RheTogZm9ybWF0RGF0ZShEYXRlLm5vdygpIGFzIGFueSksXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKCFzaG91bGRQcmV2ZW50RG93bmxvYWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkodHJhbnNmb3JtZWREYXRhKV0pO1xuICAgICAgICAgICAgdGhpcy5maWxlRG93bmxvYWRTZXJ2aWNlLnByb2Nlc3NEb3dubG9hZChibG9iLCAnZGF0YS5qc29uJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZERhdGE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQXR0YWNobWVudHMkKHRlbXBsYXRlOiBEb2N1bWVudFRlbXBsYXRlKTogT2JzZXJ2YWJsZTxBcnJheUJ1ZmZlcltdPiB7XG4gICAgY29uc3QgYXR0YWNobWVudElkcyA9ICh0ZW1wbGF0ZS5hdHRhY2htZW50cz8ubWFwKCh7IGlkIH0pID0+IGlkKS5maWx0ZXIoQm9vbGVhbikgYXMgc3RyaW5nW10pID8/IFtdO1xuXG4gICAgaWYgKCFhdHRhY2htZW50SWRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ya0pvaW4oYXR0YWNobWVudElkcy5tYXAoaWQgPT4gdGhpcy5kb2N1bWVudEF0dGFjaG1lbnRTZXJ2aWNlLmdldEF0dGFjaG1lbnRGaWxlKGlkLCB0cnVlKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBTZlF1ZXJ5UmVzdWx0ID0gPFQ+KGxpbWl0OiBudW1iZXIpID0+XG4gICAgbWFwKChyZWNvcmRzOiBUW10pID0+IHtcbiAgICAgIGlmICghcmVjb3Jkcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHsgX3Jlc3VsdDogJ05vIFJlY29yZHMgRm91bmQnIH07XG4gICAgICB9XG5cbiAgICAgIGlmIChsaW1pdCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gcmVjb3Jkc1swXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlY29yZHM7XG4gICAgfSk7XG5cbiAgcHJpdmF0ZSBtYXBCb29sZWFuSWZBcGxpY2FibGUgPSAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gJ3RydWUnKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09ICdmYWxzZScpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH07XG5cbiAgcHJpdmF0ZSBxdWVyeU9iamVjdChcbiAgICB7IG9iamVjdE5hbWUsIHJlc3VsdE9iamVjdE5hbWUsIGZpZWxkcywgc3RhdGVtZW50IH06IFRlbXBsYXRlUXVlcnksXG4gICAgeyBwcm9wZXJ0aWVzIH06IEFueVdpdGhQcm9wZXJ0aWVzLFxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHBhdHRlcm5MaW1pdCA9IC8oXFxzKmxpbWl0XFxzXFxkKikvaTtcbiAgICBsZXQgbGltaXQgPSAxO1xuICAgIGlmIChzdGF0ZW1lbnQgJiYgcGF0dGVybkxpbWl0LnRlc3Qoc3RhdGVtZW50KSkge1xuICAgICAgY29uc3QgbGltaXRTdHIgPSBzdGF0ZW1lbnQ/Lm1hdGNoKHBhdHRlcm5MaW1pdCk/LlsxXS50cmltKCkuc3Vic3RyaW5nKDUpLnRyaW0oKTtcbiAgICAgIGlmIChsaW1pdFN0cikge1xuICAgICAgICBsaW1pdCA9IE51bWJlci5wYXJzZUludChsaW1pdFN0ciwgMTApO1xuICAgICAgfVxuICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50LnJlcGxhY2UocGF0dGVybkxpbWl0LCAnJyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb2x2ZWRTdGF0ZW1lbnQgPSBzdGF0ZW1lbnRcbiAgICAgID8gU3RyaW5nVXRpbHMuZmlsbFBsYWNlaG9sZGVycyhzdGF0ZW1lbnQsIHByb3BlcnRpZXMsIC86XFxzKihcXHdbXFx3XFxkXy5dKykvaSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgY29uc3Qgc2VhcmNoUmVxdWVzdCA9IHtcbiAgICAgIHNraXA6IDAsXG4gICAgICBjb3VudDogbGltaXQsXG4gICAgICByYXdDb25kaXRpb246IHJlc29sdmVkU3RhdGVtZW50LFxuICAgICAgLi4uKGZpZWxkcz8ubGVuZ3RoICYmICEhZmllbGRzWzBdICYmIHsgZmllbGRzIH0pLFxuICAgIH0gYXMgU2VhcmNoUmVxdWVzdDtcblxuICAgIHJldHVybiB0aGlzLnNhbGVzZm9yY2VBcGlTZXJ2aWNlLnF1ZXJ5KHNlYXJjaFJlcXVlc3QsIG9iamVjdE5hbWUpLnBpcGUoXG4gICAgICB0aGlzLm1hcFNmUXVlcnlSZXN1bHQobGltaXQpLFxuICAgICAgbWFwKHZhbHVlID0+ICh7IFtyZXN1bHRPYmplY3ROYW1lXTogdmFsdWUgfSkpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { map } from 'rxjs/operators';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./configuration-settings-api.service";
5
- export class FlowsApiService {
6
- constructor(configurationSettingsApiService) {
7
- this.configurationSettingsApiService = configurationSettingsApiService;
8
- this.flowsKey = 'flows';
9
- }
10
- getFlow(id) {
11
- return this.fetchFlows().pipe(map(flows => flows.find(flow => flow.id == id)));
12
- }
13
- fetchFlows() {
14
- return this.configurationSettingsApiService
15
- .fetchSetting(this.flowsKey)
16
- .pipe(map((flow) => ((flow === null || flow === void 0 ? void 0 : flow.value) ? JSON.parse(flow.value) : [])));
17
- }
18
- }
19
- FlowsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FlowsApiService, deps: [{ token: i1.ConfigurationSettingsApiService }], target: i0.ɵɵFactoryTarget.Injectable });
20
- FlowsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FlowsApiService });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FlowsApiService, decorators: [{
22
- type: Injectable
23
- }], ctorParameters: function () { return [{ type: i1.ConfigurationSettingsApiService }]; } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvd3MtYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3NlcnZpY2VzL2Zsb3dzLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFJckMsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBb0IsK0JBQWdFO1FBQWhFLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBaUM7UUFGbkUsYUFBUSxHQUFHLE9BQU8sQ0FBQztJQUVtRCxDQUFDO0lBRWpGLE9BQU8sQ0FBQyxFQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQywrQkFBK0I7YUFDeEMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQzs7NkdBYlUsZUFBZTtpSEFBZixlQUFlOzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbG93IH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLXNldHRpbmdzLWFwaS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb3dzQXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmxvd3NLZXkgPSAnZmxvd3MnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlndXJhdGlvblNldHRpbmdzQXBpU2VydmljZTogQ29uZmlndXJhdGlvblNldHRpbmdzQXBpU2VydmljZSkge31cblxuICBwdWJsaWMgZ2V0RmxvdyhpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxGbG93IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hGbG93cygpLnBpcGUobWFwKGZsb3dzID0+IGZsb3dzLmZpbmQoZmxvdyA9PiBmbG93LmlkID09IGlkKSkpO1xuICB9XG5cbiAgcHVibGljIGZldGNoRmxvd3MoKTogT2JzZXJ2YWJsZTxGbG93W10+IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uU2V0dGluZ3NBcGlTZXJ2aWNlXG4gICAgICAuZmV0Y2hTZXR0aW5nKHRoaXMuZmxvd3NLZXkpXG4gICAgICAucGlwZShtYXAoKGZsb3cpOiBGbG93W10gPT4gKGZsb3c/LnZhbHVlID8gSlNPTi5wYXJzZShmbG93LnZhbHVlKSA6IFtdKSkpO1xuICB9XG59XG4iXX0=
@@ -1,65 +0,0 @@
1
- import { HttpParams } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@veloceapps/core";
5
- export class GuidedSellingsAdminApiService {
6
- constructor(baseHttpService) {
7
- this.baseHttpService = baseHttpService;
8
- this.serviceUrl = '/admin/guided-selling';
9
- this.fetchGuidedSellings$ = (searchParams) => {
10
- return this.searchGuidedSellings$(searchParams);
11
- };
12
- this.searchGuidedSellings$ = (searchParams, expression) => {
13
- const params = new HttpParams({ fromObject: Object.assign({}, searchParams) });
14
- return this.baseHttpService.api({
15
- method: 'post',
16
- url: `${this.serviceUrl}/search`,
17
- params,
18
- body: expression || {},
19
- });
20
- };
21
- this.fetchGuidedSelling$ = (id) => {
22
- return this.baseHttpService.api({ url: `${this.serviceUrl}/${id}` });
23
- };
24
- this.createNewGuidedSelling$ = (guidedSelling) => {
25
- return this.baseHttpService.api({
26
- url: `${this.serviceUrl}`,
27
- method: 'post',
28
- body: guidedSelling,
29
- });
30
- };
31
- this.duplicateGuidedSelling$ = (cloneRequest) => {
32
- return this.baseHttpService.api({
33
- url: `${this.serviceUrl}/${cloneRequest.id}/clone`,
34
- method: 'post',
35
- body: cloneRequest,
36
- });
37
- };
38
- this.updateGuidedSelling$ = (data) => {
39
- return this.baseHttpService.api({
40
- url: `${this.serviceUrl}/${data.id}`,
41
- method: 'put',
42
- body: data,
43
- });
44
- };
45
- this.removeGuidedSelling$ = (id) => {
46
- return this.baseHttpService.api({
47
- url: `${this.serviceUrl}/${id}`,
48
- method: 'delete',
49
- });
50
- };
51
- this.restoreGuidedSelling$ = (id) => {
52
- return this.baseHttpService.api({
53
- url: `${this.serviceUrl}/${id}/restore`,
54
- method: 'patch',
55
- });
56
- };
57
- }
58
- }
59
- GuidedSellingsAdminApiService.MAX_RESULTS = 60;
60
- GuidedSellingsAdminApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GuidedSellingsAdminApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
61
- GuidedSellingsAdminApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GuidedSellingsAdminApiService });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GuidedSellingsAdminApiService, decorators: [{
63
- type: Injectable
64
- }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXNlbGxpbmdzLWFkbWluLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvc3JjL2xpYi9zZXJ2aWNlcy9ndWlkZWQtc2VsbGluZ3MtYWRtaW4tYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sNkJBQTZCO0lBS3hDLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUZuQyxlQUFVLEdBQVcsdUJBQXVCLENBQUM7UUFJdkQseUJBQW9CLEdBQUcsQ0FBQyxZQUFnQyxFQUErQixFQUFFO1lBQzlGLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQztRQUVLLDBCQUFxQixHQUFHLENBQzdCLFlBQWdDLEVBQ2hDLFVBQXVCLEVBQ00sRUFBRTtZQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLFVBQVUsb0JBQU8sWUFBWSxDQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRW5FLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLFNBQVM7Z0JBQ2hDLE1BQU07Z0JBQ04sSUFBSSxFQUFFLFVBQVUsSUFBSSxFQUFFO2FBQ3ZCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVLLHdCQUFtQixHQUFHLENBQUMsRUFBVSxFQUE2QixFQUFFO1lBQ3JFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUM7UUFFSyw0QkFBdUIsR0FBRyxDQUFDLGFBQStCLEVBQTZCLEVBQUU7WUFDOUYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztnQkFDOUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDekIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsSUFBSSxFQUFFLGFBQWE7YUFDcEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUssNEJBQXVCLEdBQUcsQ0FBQyxZQUEwQixFQUE2QixFQUFFO1lBQ3pGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksWUFBWSxDQUFDLEVBQUUsUUFBUTtnQkFDbEQsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsSUFBSSxFQUFFLFlBQVk7YUFDbkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUsseUJBQW9CLEdBQUcsQ0FBQyxJQUFtQixFQUFvQixFQUFFO1lBQ3RFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDcEMsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsSUFBSSxFQUFFLElBQUk7YUFDWCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFSyx5QkFBb0IsR0FBRyxDQUFDLEVBQVUsRUFBb0IsRUFBRTtZQUM3RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO2dCQUM5QixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEVBQUUsRUFBRTtnQkFDL0IsTUFBTSxFQUFFLFFBQVE7YUFDakIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUssMEJBQXFCLEdBQUcsQ0FBQyxFQUFVLEVBQW9CLEVBQUU7WUFDOUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztnQkFDOUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLFVBQVU7Z0JBQ3ZDLE1BQU0sRUFBRSxPQUFPO2FBQ2hCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQTVEcUQsQ0FBQzs7QUFKMUMseUNBQVcsR0FBRyxFQUFFLENBQUM7MkhBRHBCLDZCQUE2QjsrSEFBN0IsNkJBQTZCOzRGQUE3Qiw2QkFBNkI7a0JBRHpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUh0dHBTZXJ2aWNlLCBFeHByZXNzaW9uLCBHdWlkZWRTZWxsaW5nLCBOZXdHdWlkZWRTZWxsaW5nIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDbG9uZVJlcXVlc3QsIFF1ZXJ5U2VhcmNoUGFyYW1zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR3VpZGVkU2VsbGluZ3NBZG1pbkFwaVNlcnZpY2Uge1xuICBwdWJsaWMgc3RhdGljIE1BWF9SRVNVTFRTID0gNjA7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlVXJsOiBzdHJpbmcgPSAnL2FkbWluL2d1aWRlZC1zZWxsaW5nJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJhc2VIdHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBmZXRjaEd1aWRlZFNlbGxpbmdzJCA9IChzZWFyY2hQYXJhbXM/OiBRdWVyeVNlYXJjaFBhcmFtcyk6IE9ic2VydmFibGU8R3VpZGVkU2VsbGluZ1tdPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoR3VpZGVkU2VsbGluZ3MkKHNlYXJjaFBhcmFtcyk7XG4gIH07XG5cbiAgcHVibGljIHNlYXJjaEd1aWRlZFNlbGxpbmdzJCA9IChcbiAgICBzZWFyY2hQYXJhbXM/OiBRdWVyeVNlYXJjaFBhcmFtcyxcbiAgICBleHByZXNzaW9uPzogRXhwcmVzc2lvbixcbiAgKTogT2JzZXJ2YWJsZTxHdWlkZWRTZWxsaW5nW10+ID0+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IHsgLi4uc2VhcmNoUGFyYW1zIH0gfSk7XG5cbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9L3NlYXJjaGAsXG4gICAgICBwYXJhbXMsXG4gICAgICBib2R5OiBleHByZXNzaW9uIHx8IHt9LFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaEd1aWRlZFNlbGxpbmckID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEd1aWRlZFNlbGxpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHsgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9LyR7aWR9YCB9KTtcbiAgfTtcblxuICBwdWJsaWMgY3JlYXRlTmV3R3VpZGVkU2VsbGluZyQgPSAoZ3VpZGVkU2VsbGluZzogTmV3R3VpZGVkU2VsbGluZyk6IE9ic2VydmFibGU8R3VpZGVkU2VsbGluZz4gPT4ge1xuICAgIHJldHVybiB0aGlzLmJhc2VIdHRwU2VydmljZS5hcGkoe1xuICAgICAgdXJsOiBgJHt0aGlzLnNlcnZpY2VVcmx9YCxcbiAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgYm9keTogZ3VpZGVkU2VsbGluZyxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgZHVwbGljYXRlR3VpZGVkU2VsbGluZyQgPSAoY2xvbmVSZXF1ZXN0OiBDbG9uZVJlcXVlc3QpOiBPYnNlcnZhYmxlPEd1aWRlZFNlbGxpbmc+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2Nsb25lUmVxdWVzdC5pZH0vY2xvbmVgLFxuICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICBib2R5OiBjbG9uZVJlcXVlc3QsXG4gICAgfSk7XG4gIH07XG5cbiAgcHVibGljIHVwZGF0ZUd1aWRlZFNlbGxpbmckID0gKGRhdGE6IEd1aWRlZFNlbGxpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2RhdGEuaWR9YCxcbiAgICAgIG1ldGhvZDogJ3B1dCcsXG4gICAgICBib2R5OiBkYXRhLFxuICAgIH0pO1xuICB9O1xuXG4gIHB1YmxpYyByZW1vdmVHdWlkZWRTZWxsaW5nJCA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICB1cmw6IGAke3RoaXMuc2VydmljZVVybH0vJHtpZH1gLFxuICAgICAgbWV0aG9kOiAnZGVsZXRlJyxcbiAgICB9KTtcbiAgfTtcblxuICBwdWJsaWMgcmVzdG9yZUd1aWRlZFNlbGxpbmckID0gKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5iYXNlSHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS8ke2lkfS9yZXN0b3JlYCxcbiAgICAgIG1ldGhvZDogJ3BhdGNoJyxcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { HttpParams } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { Expression, Operator } from '@veloceapps/core';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@veloceapps/core";
6
- export class GuidedSellingApiService {
7
- constructor(http) {
8
- this.http = http;
9
- this.serviceUrl = '/guided-selling';
10
- }
11
- searchByName$(name, searchParams) {
12
- const params = new HttpParams({ fromObject: Object.assign({}, searchParams) });
13
- const expression = new Expression(undefined, [{ key: 'name', operator: Operator.EQ, value: name }]);
14
- return this.http.api({
15
- method: 'post',
16
- url: `${this.serviceUrl}/search`,
17
- params,
18
- body: expression || {},
19
- });
20
- }
21
- }
22
- GuidedSellingApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GuidedSellingApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
23
- GuidedSellingApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GuidedSellingApiService });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: GuidedSellingApiService, decorators: [{
25
- type: Injectable
26
- }], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZGVkLXNlbGxpbmdzLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvc3JjL2xpYi9zZXJ2aWNlcy9ndWlkZWQtc2VsbGluZ3MtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFtQixVQUFVLEVBQWlCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFLeEYsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUFvQixJQUFxQjtRQUFyQixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUZ4QixlQUFVLEdBQUcsaUJBQWlCLENBQUM7SUFFSixDQUFDO0lBRXRDLGFBQWEsQ0FBQyxJQUFZLEVBQUUsWUFBZ0M7UUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxVQUFVLG9CQUFPLFlBQVksQ0FBRSxFQUFFLENBQUMsQ0FBQztRQUNuRSxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVwRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ25CLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsU0FBUztZQUNoQyxNQUFNO1lBQ04sSUFBSSxFQUFFLFVBQVUsSUFBSSxFQUFFO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7O3FIQWZVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUh0dHBTZXJ2aWNlLCBFeHByZXNzaW9uLCBHdWlkZWRTZWxsaW5nLCBPcGVyYXRvciB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUXVlcnlTZWFyY2hQYXJhbXMgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHdWlkZWRTZWxsaW5nQXBpU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VydmljZVVybCA9ICcvZ3VpZGVkLXNlbGxpbmcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBzZWFyY2hCeU5hbWUkKG5hbWU6IHN0cmluZywgc2VhcmNoUGFyYW1zPzogUXVlcnlTZWFyY2hQYXJhbXMpOiBPYnNlcnZhYmxlPEd1aWRlZFNlbGxpbmdbXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKHsgZnJvbU9iamVjdDogeyAuLi5zZWFyY2hQYXJhbXMgfSB9KTtcbiAgICBjb25zdCBleHByZXNzaW9uID0gbmV3IEV4cHJlc3Npb24odW5kZWZpbmVkLCBbeyBrZXk6ICduYW1lJywgb3BlcmF0b3I6IE9wZXJhdG9yLkVRLCB2YWx1ZTogbmFtZSB9XSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmFwaSh7XG4gICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgIHVybDogYCR7dGhpcy5zZXJ2aWNlVXJsfS9zZWFyY2hgLFxuICAgICAgcGFyYW1zLFxuICAgICAgYm9keTogZXhwcmVzc2lvbiB8fCB7fSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common/http";
4
- export class OrgInfoApiService {
5
- constructor(http) {
6
- var _a;
7
- this.http = http;
8
- this.CANVAS_URL_FALLBACK = 'https://canvas.velocpq.com';
9
- this.hostUrl = (_a = window.VELO_CANVAS_API) !== null && _a !== void 0 ? _a : this.CANVAS_URL_FALLBACK;
10
- }
11
- getOrgInfo$(organizationId) {
12
- return this.http.get(`${this.hostUrl}/org-info/${organizationId}`);
13
- }
14
- }
15
- OrgInfoApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OrgInfoApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
16
- OrgInfoApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OrgInfoApiService });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OrgInfoApiService, decorators: [{
18
- type: Injectable
19
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLWluZm8tYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9zcmMvbGliL3NlcnZpY2VzL29yZy1pbmZvLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVEzQyxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQW9CLElBQWdCOztRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSG5CLHdCQUFtQixHQUFHLDRCQUE0QixDQUFDO1FBQ25ELFlBQU8sR0FBVyxNQUFBLE1BQU0sQ0FBQyxlQUFlLG1DQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUUvQyxDQUFDO0lBRWpDLFdBQVcsQ0FBQyxjQUFzQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sYUFBYSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7OytHQVJVLGlCQUFpQjttSEFBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmxXaW5kb3cgfSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9yZ0luZm8gfSBmcm9tICcuLi90eXBlcy9vcmctaW5mby50eXBlcyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBWbFdpbmRvdztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9yZ0luZm9BcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBDQU5WQVNfVVJMX0ZBTExCQUNLID0gJ2h0dHBzOi8vY2FudmFzLnZlbG9jcHEuY29tJztcbiAgcHJpdmF0ZSByZWFkb25seSBob3N0VXJsOiBzdHJpbmcgPSB3aW5kb3cuVkVMT19DQU5WQVNfQVBJID8/IHRoaXMuQ0FOVkFTX1VSTF9GQUxMQkFDSztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgcHVibGljIGdldE9yZ0luZm8kKG9yZ2FuaXphdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE9yZ0luZm8+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxPcmdJbmZvPihgJHt0aGlzLmhvc3RVcmx9L29yZy1pbmZvLyR7b3JnYW5pemF0aW9uSWR9YCk7XG4gIH1cbn1cbiJdfQ==