ng2-rest 12.0.3 → 13.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/browser/esm2020/lib/rest-request.mjs +2 -3
- package/browser/fesm2015/ng2-rest.mjs +1 -2
- package/browser/fesm2015/ng2-rest.mjs.map +1 -1
- package/browser/fesm2020/ng2-rest.mjs +1 -2
- package/browser/fesm2020/ng2-rest.mjs.map +1 -1
- package/client/esm2020/lib/rest-request.mjs +2 -3
- package/client/fesm2015/ng2-rest.mjs +1 -2
- package/client/fesm2015/ng2-rest.mjs.map +1 -1
- package/client/fesm2020/ng2-rest.mjs +1 -2
- package/client/fesm2020/ng2-rest.mjs.map +1 -1
- package/lib/rest-request.js +1 -2
- package/lib/rest-request.js.map +1 -1
- package/package.json +3 -3
- package/tmp-environment.json +11 -11
|
@@ -8,7 +8,6 @@ import { Level } from 'ng2-logger/browser';
|
|
|
8
8
|
import axios from 'axios';
|
|
9
9
|
import { Resource } from './resource.service';
|
|
10
10
|
import { Log } from 'ng2-logger/browser';
|
|
11
|
-
import { isUndefined } from 'util';
|
|
12
11
|
import { RequestCache } from './request-cache';
|
|
13
12
|
const log = Log.create('[ng2-rest] rest-request', Level.__NOTHING);
|
|
14
13
|
const jobIDkey = 'jobID';
|
|
@@ -22,7 +21,7 @@ export class RestRequest {
|
|
|
22
21
|
this.replaySubjects = {};
|
|
23
22
|
}
|
|
24
23
|
handlerResult(options, sourceRequest) {
|
|
25
|
-
if (isUndefined(options)) {
|
|
24
|
+
if (_.isUndefined(options)) {
|
|
26
25
|
options = {};
|
|
27
26
|
}
|
|
28
27
|
// log.d(`HANDLE RESULT (jobid:${options.jobid}) ${sourceRequest.url}`);
|
|
@@ -308,4 +307,4 @@ export class RestRequest {
|
|
|
308
307
|
}
|
|
309
308
|
}
|
|
310
309
|
RestRequest.jobId = 0;
|
|
311
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3Jlc3QtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxLQUF3QixNQUFNLE9BQU8sQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMseUJBQXlCLEVBQzVDLEtBQUssQ0FBQyxTQUFTLENBQ2xCLENBQUE7QUFFRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUM7QUFJekIsc0JBQXNCO0FBQ3RCLFlBQVk7QUFJWixNQUFNLE9BQU8sV0FBVztJQUF4QjtRQUlVLGtCQUFhLEdBQW1DLEVBQUUsQ0FBQztRQUNuRCxTQUFJLEdBQXlDLEVBQUUsQ0FBQztRQTRXeEQsWUFBWTtRQUNK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QUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUM1QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNwQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQzVFLENBQUM7O0FBaFljLGlCQUFLLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmRlY2xhcmUgdmFyIHJlcXVpcmU6IGFueTtcblxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuXG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBSZXN0SGVhZGVycyB9IGZyb20gJy4vcmVzdC1oZWFkZXJzJztcblxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL2Jyb3dzZXInO1xuaW1wb3J0IGF4aW9zLCB7IEF4aW9zUmVzcG9uc2UgfSBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJy4vcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMb2csIExvZ2dlciB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHsgUmVxdWVzdENhY2hlIH0gZnJvbSAnLi9yZXF1ZXN0LWNhY2hlJztcbmNvbnN0IGxvZyA9IExvZy5jcmVhdGUoJ1tuZzItcmVzdF0gcmVzdC1yZXF1ZXN0J1xuICAsIExldmVsLl9fTk9USElOR1xuKVxuXG5jb25zdCBqb2JJRGtleSA9ICdqb2JJRCc7XG5kZWNsYXJlIGNvbnN0IGdsb2JhbDogYW55O1xuXG5cbi8vI3JlZ2lvbiBtb2NrIHJlcXVlc3Rcbi8vI2VuZHJlZ2lvblxuXG5cblxuZXhwb3J0IGNsYXNzIFJlc3RSZXF1ZXN0IHtcblxuICBwdWJsaWMgc3RhdGljIHpvbmU7XG4gIHByaXZhdGUgc3RhdGljIGpvYklkID0gMDtcbiAgcHJpdmF0ZSBzdWJqZWN0SW51VXNlOiB7IFtpZDogbnVtYmVyXTogU3ViamVjdDxhbnk+IH0gPSB7fTtcbiAgcHJpdmF0ZSBtZXRhOiB7IFtpZDogbnVtYmVyXTogTW9kZWxzLk1ldGFSZXF1ZXN0IH0gPSB7fTtcblxuXG4gIHByaXZhdGUgaGFuZGxlclJlc3VsdChvcHRpb25zOiBNb2RlbHMuSGFuZGxlUmVzdWx0T3B0aW9ucyxcbiAgICBzb3VyY2VSZXF1ZXN0OiBNb2RlbHMuSGFuZGxlUmVzdWx0U291cmNlUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBpZiAoaXNVbmRlZmluZWQob3B0aW9ucykpIHtcbiAgICAgIG9wdGlvbnMgPSB7fSBhcyBhbnk7XG4gICAgfVxuICAgIC8vIGxvZy5kKGBIQU5ETEUgUkVTVUxUIChqb2JpZDoke29wdGlvbnMuam9iaWR9KSAke3NvdXJjZVJlcXVlc3QudXJsfWApO1xuICAgIGNvbnN0IHsgcmVzLCBqb2JpZCwgaXNBcnJheSwgbWV0aG9kIH0gPSBvcHRpb25zO1xuICAgIC8vIGlmICh0aGlzLmVuZGVkSm9ic1tqb2JpZF0pIHtcbiAgICAvLyAgIGRlYnVnZ2VyXG4gICAgLy8gfVxuICAgIC8vIHRoaXMuZW5kZWRKb2JzW2pvYmlkXSA9IHRydWU7XG4gICAgLy8gbG9nLmkoYGhhbmRsZSBqb2JpZCAke2pvYmlkfWApXG4gICAgaWYgKHR5cGVvZiByZXMgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJlc3Bvc25zZSBmb3IgcmVxdWVzdC4gJyk7XG4gICAgfVxuXG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICByZXMuaGVhZGVycyA9IFJlc3RIZWFkZXJzLmZyb20ocmVzLmhlYWRlcnMpO1xuICAgIH1cblxuICAgIC8vIGVycm9yIG5vIGludGVybmV0XG4gICAgaWYgKHJlcy5lcnJvcikge1xuICAgICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXS5lcnJvcihuZXcgTW9kZWxzLkh0dHBSZXNwb25zZUVycm9yKHJlcy5lcnJvciwgcmVzLmRhdGEsIHJlcy5oZWFkZXJzLCByZXMuY29kZSwgam9iaWQpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZW50aXR5ID0gdGhpcy5tZXRhW2pvYmlkXS5lbnRpdHk7XG4gICAgY29uc3QgY2lyY3VsYXIgPSB0aGlzLm1ldGFbam9iaWRdLmNpcmN1bGFyO1xuXG4gICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXS5uZXh0KFxuICAgICAgbmV3IE1vZGVscy5IdHRwUmVzcG9uc2Uoc291cmNlUmVxdWVzdCwgcmVzLmRhdGEsIHJlcy5oZWFkZXJzLCByZXMuY29kZSwgZW50aXR5LCBjaXJjdWxhciwgam9iaWQsIGlzQXJyYXkpXG4gICAgKTtcbiAgICB0aGlzLm1ldGFbam9iaWRdID0gdm9pZCAwO1xuICAgIHJldHVybjtcbiAgfVxuICBjaGVja0NhY2hlKHNvdXJjZVJlcXVlc3Q6IE1vZGVscy5IYW5kbGVSZXN1bHRTb3VyY2VSZXF1ZXN0T3B0aW9ucywgam9iaWQ6IG51bWJlcikge1xuICAgIGNvbnN0IGV4aXN0ZWRJbkNhY2hlID0gUmVxdWVzdENhY2hlLmZpbmRCeShzb3VyY2VSZXF1ZXN0KTtcbiAgICBpZiAoZXhpc3RlZEluQ2FjaGUpIHtcbiAgICAgIGxvZy5pKCdjYWNoZSBleGlzdHMnLCBleGlzdGVkSW5DYWNoZSlcbiAgICAgIHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF0ubmV4dChleGlzdGVkSW5DYWNoZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gbG9nLmkoYGNhY2hlIG5vdCBleGlzdHMgZm9yIGpvYmlkICR7am9iaWR9YClcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlcShcbiAgICB1cmw6IHN0cmluZyxcbiAgICBtZXRob2Q6IE1vZGVscy5IdHRwTWV0aG9kLFxuICAgIGhlYWRlcnM/OiBSZXN0SGVhZGVycyxcbiAgICBib2R5PzogYW55LFxuICAgIGpvYmlkPzogbnVtYmVyLFxuICAgIGlzQXJyYXkgPSBmYWxzZSxcbiAgICBtb2NrSHR0cD86IE1vZGVscy5Nb2NrSHR0cFxuICApIHtcbiAgICBpZiAodGhpcy5jaGVja0NhY2hlKHtcbiAgICAgIHVybCxcbiAgICAgIGJvZHksXG4gICAgICBpc0FycmF5LFxuICAgICAgbWV0aG9kXG4gICAgfSwgam9iaWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPGFueT47XG4gICAgaWYgKG1vY2tIdHRwKSB7XG5cbiAgICAgIGlmICh0eXBlb2YgbW9ja0h0dHAgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJlc3BvbnNlID0ge1xuICAgICAgICAgIGRhdGE6IG1vY2tIdHRwLmRhdGEsXG4gICAgICAgICAgc3RhdHVzOiBtb2NrSHR0cC5jb2RlLFxuICAgICAgICAgIGhlYWRlcnM6IG1vY2tIdHRwLmhlYWRlcnMsXG4gICAgICAgICAgc3RhdHVzVGV4dDogbW9ja0h0dHAuZXJyb3IsXG4gICAgICAgICAgY29uZmlnOiB7fVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBtb2NrSHR0cCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCByID0gbW9ja0h0dHAodXJsLCBtZXRob2QsIGhlYWRlcnMsIGJvZHkpO1xuICAgICAgICByZXNwb25zZSA9IHtcbiAgICAgICAgICBkYXRhOiByLmRhdGEsXG4gICAgICAgICAgc3RhdHVzOiByLmNvZGUsXG4gICAgICAgICAgaGVhZGVyczogci5oZWFkZXJzLFxuICAgICAgICAgIHN0YXR1c1RleHQ6IHIuZXJyb3IsXG4gICAgICAgICAgY29uZmlnOiB7fVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGlmICghcmVzcG9uc2UpIHtcbiAgICAgICAgbG9nLmQoYFske21ldGhvZH1dIChqb2JpZD0ke2pvYmlkfSkgcmVxdWVzdCB0bzogICR7dXJsfWApXG4gICAgICAgIHJlc3BvbnNlID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgZGF0YTogYm9keSxcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLnRvSlNPTigpXG4gICAgICAgIH0pXG4gICAgICAgIC8vIGxvZy5kKGBhZnRlciByZXNwb25zZSBvZiBqb2JpZDogJHtqb2JpZH1gKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5oYW5kbGVyUmVzdWx0KHtcbiAgICAgICAgcmVzOiB7XG4gICAgICAgICAgY29kZTogcmVzcG9uc2Uuc3RhdHVzIGFzIGFueSxcbiAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShyZXNwb25zZS5kYXRhKSxcbiAgICAgICAgICBpc0FycmF5LFxuICAgICAgICAgIGpvYmlkLFxuICAgICAgICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLmZyb20ocmVzcG9uc2UuaGVhZGVycylcbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kLFxuICAgICAgICBqb2JpZCxcbiAgICAgICAgaXNBcnJheVxuICAgICAgfSwge1xuICAgICAgICB1cmwsXG4gICAgICAgIGJvZHksXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgaXNBcnJheSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGNhdGNoZWRFcnJvcikge1xuICAgICAgLy8gY29uc29sZS5sb2coJ0VSUk9SIFJFU1BPTkVTRSBjYXRjaGVkRXJyb3IgdHlwZW9mICcsIHR5cGVvZiBjYXRjaGVkRXJyb3IpXG4gICAgICAvLyBjb25zb2xlLmxvZygnRVJST1IgUkVTUE9ORVNFIGNhdGNoZWRFcnJvcicsIGNhdGNoZWRFcnJvcilcbiAgICAgIGlmICh0eXBlb2YgY2F0Y2hlZEVycm9yID09PSAnb2JqZWN0JyAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGEpIHtcbiAgICAgICAgY29uc3QgZXJyID0gY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGE7XG4gICAgICAgIGNvbnN0IG1zZzogc3RyaW5nID0gY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGEubWVzc2FnZSB8fCAnJztcbiAgICAgICAgbGV0IHN0YWNrOiBzdHJpbmdbXSA9IChlcnIuc3RhY2sgfHwgJycpLnNwbGl0KCdcXG4nKTtcblxuICAgICAgICAoUmVzb3VyY2VbJ19saXN0ZW5FcnJvcnMnXSBhcyBTdWJqZWN0PE1vZGVscy5CYWNrZW5kRXJyb3I+KS5uZXh0KHtcbiAgICAgICAgICBtc2csXG4gICAgICAgICAgc3RhY2ssXG4gICAgICAgICAgZGF0YTogY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGFcbiAgICAgICAgfSk7XG5cbiAgICAgIH1cbiAgICAgIGNvbnN0IGVycm9yID0gKGNhdGNoZWRFcnJvciAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UpID8gYFske2NhdGNoZWRFcnJvci5yZXNwb25zZS5zdGF0dXNUZXh0fV06IGAgOiAnJztcbiAgICAgIHRoaXMuaGFuZGxlclJlc3VsdCh7XG4gICAgICAgIHJlczoge1xuICAgICAgICAgIGNvZGU6IChjYXRjaGVkRXJyb3IgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlKSA/IGNhdGNoZWRFcnJvci5yZXNwb25zZS5zdGF0dXMgYXMgYW55IDogdm9pZCAwLFxuICAgICAgICAgIGVycm9yOiBgJHtlcnJvcn0ke2NhdGNoZWRFcnJvci5tZXNzYWdlfWAsXG4gICAgICAgICAgZGF0YTogKGNhdGNoZWRFcnJvciAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UpID8gSlNPTi5zdHJpbmdpZnkoY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmRhdGEpIDogdm9pZCAwLFxuICAgICAgICAgIGlzQXJyYXksXG4gICAgICAgICAgam9iaWQsXG4gICAgICAgICAgaGVhZGVyczogUmVzdEhlYWRlcnMuZnJvbShjYXRjaGVkRXJyb3IgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlICYmIGNhdGNoZWRFcnJvci5yZXNwb25zZS5oZWFkZXJzKVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIGpvYmlkLFxuICAgICAgICBpc0FycmF5XG4gICAgICB9LCB7XG4gICAgICAgIHVybCxcbiAgICAgICAgYm9keSxcbiAgICAgICAgaXNBcnJheSxcbiAgICAgICAgbWV0aG9kXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFJlcGxheShtZXRob2Q6IE1vZGVscy5IdHRwTWV0aG9kLCBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsIG9ubHlHZXRMYXN0UmVwbGF5Rm9yTWV0aG9kOiBib29sZWFuKTogTW9kZWxzLlJlcGxheURhdGEge1xuICAgIGxldCByZXBsYXk6IE1vZGVscy5SZXBsYXlEYXRhO1xuXG4gICAgLy8jcmVnaW9uIHByZXZlbnQgZW1wdHkgdHJlZVxuICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF0pKSB7XG4gICAgICAvLyBsb2cuaShgKCR7bWV0YS5lbmRwb2ludH0pIGApO1xuICAgICAgdGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XSA9IHt9O1xuICAgIH1cbiAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF0pKSB7XG4gICAgICAvLyBsb2cuaShgKCR7bWV0YS5lbmRwb2ludH0pKCR7bWV0YS5wYXRofSkgYCk7XG4gICAgICB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF0gPSB7fTtcbiAgICB9XG4gICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF0pKSB7XG4gICAgICAvLyBsb2cuaShgKCR7bWV0YS5lbmRwb2ludH0pKCR7bWV0YS5wYXRofSkgYCk7XG4gICAgICB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXSA9IHt9O1xuICAgIH1cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIGNvbnN0IG9iamVjdElEVG9DcmVhdGVPckxhc3QgPSAoT2JqZWN0LmtleXModGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF0gYXMgT2JqZWN0KS5sZW5ndGgpICtcbiAgICAgIChvbmx5R2V0TGFzdFJlcGxheUZvck1ldGhvZCA/IDAgOiAxKTtcbiAgICBpZiAob25seUdldExhc3RSZXBsYXlGb3JNZXRob2QgJiYgKG9iamVjdElEVG9DcmVhdGVPckxhc3QgPT09IDApKSB7XG4gICAgICByZXR1cm4gcmVwbGF5O1xuICAgIH1cblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXVttZXRob2RdW29iamVjdElEVG9DcmVhdGVPckxhc3RdKSkge1xuICAgICAgLy8gbG9nLmkoYCgke21ldGEuZW5kcG9pbnR9KSgke21ldGEucGF0aH0pKCR7bWV0aG9kfSkgYCk7XG4gICAgICB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXVtvYmplY3RJRFRvQ3JlYXRlT3JMYXN0XSA9IDxNb2RlbHMuUmVwbGF5RGF0YT57XG4gICAgICAgIHN1YmplY3Q6IG5ldyBTdWJqZWN0KCksXG4gICAgICAgIGRhdGE6IHZvaWQgMCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmVwbGF5ID0gdGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF1bb2JqZWN0SURUb0NyZWF0ZU9yTGFzdF07XG5cbiAgICBpZiAoIV8uaXNOdW1iZXIocmVwbGF5LmlkKSkge1xuICAgICAgY29uc3Qgam9iaWQ6IG51bWJlciA9IFJlc3RSZXF1ZXN0LmpvYklkKys7XG4gICAgICByZXBsYXkuaWQgPSBqb2JpZDtcbiAgICAgIGNvbnN0IHN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IHJlcGxheS5zdWJqZWN0O1xuICAgICAgc3ViamVjdFtqb2JJRGtleV0gPSBqb2JpZDsgLy8gbW9kaWZ5IGludGVybmFsIHJ4anMgc3ViamVjdCBvYmpcblxuICAgICAgdGhpcy5tZXRhW2pvYmlkXSA9IG1ldGE7XG4gICAgICB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdID0gc3ViamVjdDtcblxuICAgICAgLy8jcmVnaW9uIERJU1BPU0UgIEBVTkNPTU1FTlQgQUZURVIgVEVTVFNcbiAgICAgIC8vIGlmIChvYmplY3RJRFRvQ3JlYXRlT3JMYXN0ID4gMikge1xuICAgICAgLy8gICBjb25zdCBvbGRSZXE6IE1vZGVscy5SZXBsYXlEYXRhID0gdGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF1bKG9iamVjdElEVG9DcmVhdGVPckxhc3QgLSAyKV07XG4gICAgICAvLyAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMubWV0YVtvbGRSZXEuaWRdKSkge1xuICAgICAgLy8gICAgIC8vIGNhbnQgZGVsZXRlIHRoaXMgLSBmb3IgY291bnRlciBwdXJwb3NlXG4gICAgICAvLyAgICAgdGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF1bKG9iamVjdElEVG9DcmVhdGVPckxhc3QgLSAyKV0gPSB7fTtcbiAgICAgIC8vICAgICBkZWxldGUgdGhpcy5zdWJqZWN0SW51VXNlW29sZFJlcS5pZF07XG4gICAgICAvLyAgICAgZGVsZXRlIHRoaXMubWV0YVtvbGRSZXEuaWRdO1xuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgICAvLyNlbmRyZWdpb25cbiAgICB9XG5cbiAgICByZXR1cm4gcmVwbGF5O1xuICB9XG5cblxuICAvLyNyZWdpb24gaHR0cCBtZXRob2RzXG5cbiAgcHJpdmF0ZSBnZW5lcmFsUmVxKFxuICAgIG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLFxuICAgIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG5cbiAgICBjb25zdCByZXBsYXk6IE1vZGVscy5SZXBsYXlEYXRhID0gdGhpcy5nZXRSZXBsYXkobWV0aG9kLCBtZXRhLCBmYWxzZSk7XG4gICAgcmVwbGF5LmRhdGEgPSB7IHVybCwgYm9keSwgaGVhZGVycywgaXNBcnJheSB9O1xuXG4gICAgKChwdGhpcywgcHVybCwgcG1ldGhvZCwgcGhlYWRlcnMsIHBib2R5LCBwaWQsIHBpc0FycmF5LCBwbW9ja0h0dHApID0+IHtcbiAgICAgIC8vIGxvZy5kKGBmb3IgJHtwdXJsfSBqb2JpZCAke3BpZH1gKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcHRoaXMucmVxKHB1cmwsIHBtZXRob2QsIHBoZWFkZXJzLCBwYm9keSwgcGlkLCBwaXNBcnJheSwgcG1vY2tIdHRwKSk7XG4gICAgfSkodGhpcywgdXJsLCBtZXRob2QsIGhlYWRlcnMsIGJvZHksIHJlcGxheS5pZCwgaXNBcnJheSwgbW9ja0h0dHApXG5cbiAgICBjb25zdCByZXNwOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiA9IGZpcnN0VmFsdWVGcm9tKHJlcGxheS5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpKSBhcyBhbnk7XG4gICAgcmVzcC5vYnNlcnZhYmxlID0gcmVwbGF5LnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcmVzcC5jYWNoZSA9IFJlcXVlc3RDYWNoZS5maW5kQnkoe1xuICAgICAgYm9keSxcbiAgICAgIGlzQXJyYXksXG4gICAgICBtZXRob2QsXG4gICAgICB1cmxcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzcDtcbiAgfVxuXG4gIGdldChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHBcbiAgKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYWxSZXEoJ2dldCcsIHVybCwgYm9keSwgaGVhZGVycywgbWV0YSwgaXNBcnJheSwgbW9ja0h0dHApO1xuICB9XG5cbiAgaGVhZChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHBcbiAgKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYWxSZXEoJ2hlYWQnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIGRlbGV0ZShcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICAgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cCk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsUmVxKCdkZWxldGUnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIHBvc3QoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLFxuICAgIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHBcbiAgKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYWxSZXEoJ3Bvc3QnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIHB1dChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICAgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cFxuICApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbFJlcSgncHV0JywgdXJsLCBib2R5LCBoZWFkZXJzLCBtZXRhLCBpc0FycmF5LCBtb2NrSHR0cCk7XG4gIH1cblxuICBwYXRjaChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICAgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cFxuICApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbFJlcSgncGF0Y2gnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIGpzb25wKFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBoZWFkZXJzOiBSZXN0SGVhZGVycyxcbiAgICBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsXG4gICAgaXNBcnJheTogYm9vbGVhbixcbiAgICBtb2NrSHR0cDogTW9kZWxzLk1vY2tIdHRwXG4gICk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcblxuICAgIGNvbnN0IHJlcGxheTogTW9kZWxzLlJlcGxheURhdGEgPSB0aGlzLmdldFJlcGxheSgnanNvbnAnLCBtZXRhLCBmYWxzZSk7XG4gICAgY29uc3Qgam9iaWQgPSByZXBsYXkuaWQ7XG4gICAgY29uc3QgbWV0aG9kID0gJ2pzb25wJ1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHVybC5lbmRzV2l0aCgnLycpKSB1cmwgPSB1cmwuc2xpY2UoMCwgdXJsLmxlbmd0aCAtIDEpXG4gICAgICBsZXQgbnVtID0gTWF0aC5yb3VuZCgxMDAwMCAqIE1hdGgucmFuZG9tKCkpO1xuICAgICAgbGV0IGNhbGxiYWNrTWV0aG9kTmFtZSA9IFwiY2JfXCIgKyBudW07XG4gICAgICB3aW5kb3dbY2FsbGJhY2tNZXRob2ROYW1lXSA9IChkYXRhKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrQ2FjaGUoe1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBib2R5LFxuICAgICAgICAgIGlzQXJyYXksXG4gICAgICAgICAgbWV0aG9kXG4gICAgICAgIH0sIGpvYmlkKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhbmRsZXJSZXN1bHQoe1xuICAgICAgICAgIHJlczoge1xuICAgICAgICAgICAgZGF0YSwgaXNBcnJheVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgIGpvYmlkLFxuICAgICAgICAgIGlzQXJyYXlcbiAgICAgICAgfSwge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBib2R5LFxuICAgICAgICAgIGlzQXJyYXksXG4gICAgICAgICAgbWV0aG9kLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgbGV0IHNjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzYy5zcmMgPSBgJHt1cmx9P2NhbGxiYWNrPSR7Y2FsbGJhY2tNZXRob2ROYW1lfWA7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjKTtcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2MpO1xuICAgIH0pXG4gICAgLy8gcmV0dXJuIHJlcGxheS5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIGNvbnN0IHJlc3A6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+ID0gZmlyc3RWYWx1ZUZyb20ocmVwbGF5LnN1YmplY3QuYXNPYnNlcnZhYmxlKCkpIGFzIGFueTtcbiAgICByZXNwLm9ic2VydmFibGUgPSByZXBsYXkuc3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICByZXNwLmNhY2hlID0gUmVxdWVzdENhY2hlLmZpbmRCeSh7XG4gICAgICBib2R5LFxuICAgICAgaXNBcnJheSxcbiAgICAgIG1ldGhvZCxcbiAgICAgIHVybFxuICAgIH0pXG4gICAgcmV0dXJuIHJlc3A7XG4gIH1cbiAgLy8jZW5kcmVnaW9uXG4gIHByaXZhdGUgcmVwbGF5U3ViamVjdHMgPSB7fTtcbiAgcHVibGljIHJlcGxheShtZXRob2Q6IE1vZGVscy5IdHRwTWV0aG9kLCBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QpIHtcbiAgICBjb25zdCByZXBsYXk6IE1vZGVscy5SZXBsYXlEYXRhID0gdGhpcy5nZXRSZXBsYXkobWV0aG9kLCBtZXRhLCB0cnVlKTtcbiAgICBpZiAoIXJlcGxheSB8fCAhcmVwbGF5LmRhdGEpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQ2Fubm8gcmVwbGF5IGZpcnN0ICR7bWV0aG9kfSByZXF1ZXN0IGZyb20gJHttZXRhLmVuZHBvaW50fS8ke21ldGEucGF0aH1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9O1xuICAgIGlmIChyZXBsYXkgJiYgcmVwbGF5LnN1YmplY3QgJiYgQXJyYXkuaXNBcnJheShyZXBsYXkuc3ViamVjdC5vYnNlcnZlcnMpICYmXG4gICAgICByZXBsYXkuc3ViamVjdC5vYnNlcnZlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zb2xlLndhcm4oYE5vIG9ic2VydmF0b3JzIGZvciAke21ldGhvZH0gcmVxdWVzdCBmcm9tICR7bWV0YS5lbmRwb2ludH0vJHttZXRhLnBhdGh9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHVybCA9IHJlcGxheS5kYXRhLnVybDtcbiAgICBjb25zdCBoZWFkZXJzID0gcmVwbGF5LmRhdGEuaGVhZGVycztcbiAgICBjb25zdCBib2R5ID0gcmVwbGF5LmRhdGEuYm9keTtcbiAgICBjb25zdCBpc0FycmF5ID0gcmVwbGF5LmRhdGEuaXNBcnJheTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMucmVxKHVybCwgbWV0aG9kLCBoZWFkZXJzLCBib2R5LCByZXBsYXkuaWQsIGlzQXJyYXkpKVxuICB9XG5cbn1cbiJdfQ==
|
|
310
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWJ1bmRsZS9uZzItcmVzdC9wcm9qZWN0cy9uZzItcmVzdC9zcmMvbGliL3Jlc3QtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsY0FBYyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxLQUF3QixNQUFNLE9BQU8sQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBVSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLHlCQUF5QixFQUM1QyxLQUFLLENBQUMsU0FBUyxDQUNsQixDQUFBO0FBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBSXpCLHNCQUFzQjtBQUN0QixZQUFZO0FBSVosTUFBTSxPQUFPLFdBQVc7SUFBeEI7UUFJVSxrQkFBYSxHQUFtQyxFQUFFLENBQUM7UUFDbkQsU0FBSSxHQUF5QyxFQUFFLENBQUM7UUE0V3hELFlBQVk7UUFDSixtQkFBYyxHQUFHLEVBQUUsQ0FBQztJQW1COUIsQ0FBQztJQTdYUyxh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RyxDQUFDO1FBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFDNUUsQ0FBQzs7QUFoWWMsaUJBQUssR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuZGVjbGFyZSB2YXIgcmVxdWlyZTogYW55O1xuXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFJlc3RIZWFkZXJzIH0gZnJvbSAnLi9yZXN0LWhlYWRlcnMnO1xuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXNwb25zZSB9IGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IFJlc291cmNlIH0gZnJvbSAnLi9yZXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7IExvZywgTG9nZ2VyIH0gZnJvbSAnbmcyLWxvZ2dlci9icm93c2VyJztcblxuaW1wb3J0IHsgUmVxdWVzdENhY2hlIH0gZnJvbSAnLi9yZXF1ZXN0LWNhY2hlJztcbmNvbnN0IGxvZyA9IExvZy5jcmVhdGUoJ1tuZzItcmVzdF0gcmVzdC1yZXF1ZXN0J1xuICAsIExldmVsLl9fTk9USElOR1xuKVxuXG5jb25zdCBqb2JJRGtleSA9ICdqb2JJRCc7XG5kZWNsYXJlIGNvbnN0IGdsb2JhbDogYW55O1xuXG5cbi8vI3JlZ2lvbiBtb2NrIHJlcXVlc3Rcbi8vI2VuZHJlZ2lvblxuXG5cblxuZXhwb3J0IGNsYXNzIFJlc3RSZXF1ZXN0IHtcblxuICBwdWJsaWMgc3RhdGljIHpvbmU7XG4gIHByaXZhdGUgc3RhdGljIGpvYklkID0gMDtcbiAgcHJpdmF0ZSBzdWJqZWN0SW51VXNlOiB7IFtpZDogbnVtYmVyXTogU3ViamVjdDxhbnk+IH0gPSB7fTtcbiAgcHJpdmF0ZSBtZXRhOiB7IFtpZDogbnVtYmVyXTogTW9kZWxzLk1ldGFSZXF1ZXN0IH0gPSB7fTtcblxuXG4gIHByaXZhdGUgaGFuZGxlclJlc3VsdChvcHRpb25zOiBNb2RlbHMuSGFuZGxlUmVzdWx0T3B0aW9ucyxcbiAgICBzb3VyY2VSZXF1ZXN0OiBNb2RlbHMuSGFuZGxlUmVzdWx0U291cmNlUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBpZiAoXy5pc1VuZGVmaW5lZChvcHRpb25zKSkge1xuICAgICAgb3B0aW9ucyA9IHt9IGFzIGFueTtcbiAgICB9XG4gICAgLy8gbG9nLmQoYEhBTkRMRSBSRVNVTFQgKGpvYmlkOiR7b3B0aW9ucy5qb2JpZH0pICR7c291cmNlUmVxdWVzdC51cmx9YCk7XG4gICAgY29uc3QgeyByZXMsIGpvYmlkLCBpc0FycmF5LCBtZXRob2QgfSA9IG9wdGlvbnM7XG4gICAgLy8gaWYgKHRoaXMuZW5kZWRKb2JzW2pvYmlkXSkge1xuICAgIC8vICAgZGVidWdnZXJcbiAgICAvLyB9XG4gICAgLy8gdGhpcy5lbmRlZEpvYnNbam9iaWRdID0gdHJ1ZTtcbiAgICAvLyBsb2cuaShgaGFuZGxlIGpvYmlkICR7am9iaWR9YClcbiAgICBpZiAodHlwZW9mIHJlcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVzcG9zbnNlIGZvciByZXF1ZXN0LiAnKTtcbiAgICB9XG5cbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIHJlcy5oZWFkZXJzID0gUmVzdEhlYWRlcnMuZnJvbShyZXMuaGVhZGVycyk7XG4gICAgfVxuXG4gICAgLy8gZXJyb3Igbm8gaW50ZXJuZXRcbiAgICBpZiAocmVzLmVycm9yKSB7XG4gICAgICB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdLmVycm9yKG5ldyBNb2RlbHMuSHR0cFJlc3BvbnNlRXJyb3IocmVzLmVycm9yLCByZXMuZGF0YSwgcmVzLmhlYWRlcnMsIHJlcy5jb2RlLCBqb2JpZCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBlbnRpdHkgPSB0aGlzLm1ldGFbam9iaWRdLmVudGl0eTtcbiAgICBjb25zdCBjaXJjdWxhciA9IHRoaXMubWV0YVtqb2JpZF0uY2lyY3VsYXI7XG5cbiAgICB0aGlzLnN1YmplY3RJbnVVc2Vbam9iaWRdLm5leHQoXG4gICAgICBuZXcgTW9kZWxzLkh0dHBSZXNwb25zZShzb3VyY2VSZXF1ZXN0LCByZXMuZGF0YSwgcmVzLmhlYWRlcnMsIHJlcy5jb2RlLCBlbnRpdHksIGNpcmN1bGFyLCBqb2JpZCwgaXNBcnJheSlcbiAgICApO1xuICAgIHRoaXMubWV0YVtqb2JpZF0gPSB2b2lkIDA7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNoZWNrQ2FjaGUoc291cmNlUmVxdWVzdDogTW9kZWxzLkhhbmRsZVJlc3VsdFNvdXJjZVJlcXVlc3RPcHRpb25zLCBqb2JpZDogbnVtYmVyKSB7XG4gICAgY29uc3QgZXhpc3RlZEluQ2FjaGUgPSBSZXF1ZXN0Q2FjaGUuZmluZEJ5KHNvdXJjZVJlcXVlc3QpO1xuICAgIGlmIChleGlzdGVkSW5DYWNoZSkge1xuICAgICAgbG9nLmkoJ2NhY2hlIGV4aXN0cycsIGV4aXN0ZWRJbkNhY2hlKVxuICAgICAgdGhpcy5zdWJqZWN0SW51VXNlW2pvYmlkXS5uZXh0KGV4aXN0ZWRJbkNhY2hlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBsb2cuaShgY2FjaGUgbm90IGV4aXN0cyBmb3Igam9iaWQgJHtqb2JpZH1gKVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVxKFxuICAgIHVybDogc3RyaW5nLFxuICAgIG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QsXG4gICAgaGVhZGVycz86IFJlc3RIZWFkZXJzLFxuICAgIGJvZHk/OiBhbnksXG4gICAgam9iaWQ/OiBudW1iZXIsXG4gICAgaXNBcnJheSA9IGZhbHNlLFxuICAgIG1vY2tIdHRwPzogTW9kZWxzLk1vY2tIdHRwXG4gICkge1xuICAgIGlmICh0aGlzLmNoZWNrQ2FjaGUoe1xuICAgICAgdXJsLFxuICAgICAgYm9keSxcbiAgICAgIGlzQXJyYXksXG4gICAgICBtZXRob2RcbiAgICB9LCBqb2JpZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8YW55PjtcbiAgICBpZiAobW9ja0h0dHApIHtcblxuICAgICAgaWYgKHR5cGVvZiBtb2NrSHR0cCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmVzcG9uc2UgPSB7XG4gICAgICAgICAgZGF0YTogbW9ja0h0dHAuZGF0YSxcbiAgICAgICAgICBzdGF0dXM6IG1vY2tIdHRwLmNvZGUsXG4gICAgICAgICAgaGVhZGVyczogbW9ja0h0dHAuaGVhZGVycyxcbiAgICAgICAgICBzdGF0dXNUZXh0OiBtb2NrSHR0cC5lcnJvcixcbiAgICAgICAgICBjb25maWc6IHt9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIG1vY2tIdHRwID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IHIgPSBtb2NrSHR0cCh1cmwsIG1ldGhvZCwgaGVhZGVycywgYm9keSk7XG4gICAgICAgIHJlc3BvbnNlID0ge1xuICAgICAgICAgIGRhdGE6IHIuZGF0YSxcbiAgICAgICAgICBzdGF0dXM6IHIuY29kZSxcbiAgICAgICAgICBoZWFkZXJzOiByLmhlYWRlcnMsXG4gICAgICAgICAgc3RhdHVzVGV4dDogci5lcnJvcixcbiAgICAgICAgICBjb25maWc6IHt9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICBsb2cuZChgWyR7bWV0aG9kfV0gKGpvYmlkPSR7am9iaWR9KSByZXF1ZXN0IHRvOiAgJHt1cmx9YClcbiAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBheGlvcyh7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBkYXRhOiBib2R5LFxuICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMudG9KU09OKClcbiAgICAgICAgfSlcbiAgICAgICAgLy8gbG9nLmQoYGFmdGVyIHJlc3BvbnNlIG9mIGpvYmlkOiAke2pvYmlkfWApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmhhbmRsZXJSZXN1bHQoe1xuICAgICAgICByZXM6IHtcbiAgICAgICAgICBjb2RlOiByZXNwb25zZS5zdGF0dXMgYXMgYW55LFxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLmRhdGEpLFxuICAgICAgICAgIGlzQXJyYXksXG4gICAgICAgICAgam9iaWQsXG4gICAgICAgICAgaGVhZGVyczogUmVzdEhlYWRlcnMuZnJvbShyZXNwb25zZS5oZWFkZXJzKVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIGpvYmlkLFxuICAgICAgICBpc0FycmF5XG4gICAgICB9LCB7XG4gICAgICAgIHVybCxcbiAgICAgICAgYm9keSxcbiAgICAgICAgbWV0aG9kLFxuICAgICAgICBpc0FycmF5LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoY2F0Y2hlZEVycm9yKSB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnRVJST1IgUkVTUE9ORVNFIGNhdGNoZWRFcnJvciB0eXBlb2YgJywgdHlwZW9mIGNhdGNoZWRFcnJvcilcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdFUlJPUiBSRVNQT05FU0UgY2F0Y2hlZEVycm9yJywgY2F0Y2hlZEVycm9yKVxuICAgICAgaWYgKHR5cGVvZiBjYXRjaGVkRXJyb3IgPT09ICdvYmplY3QnICYmIGNhdGNoZWRFcnJvci5yZXNwb25zZSAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UuZGF0YSkge1xuICAgICAgICBjb25zdCBlcnIgPSBjYXRjaGVkRXJyb3IucmVzcG9uc2UuZGF0YTtcbiAgICAgICAgY29uc3QgbXNnOiBzdHJpbmcgPSBjYXRjaGVkRXJyb3IucmVzcG9uc2UuZGF0YS5tZXNzYWdlIHx8ICcnO1xuICAgICAgICBsZXQgc3RhY2s6IHN0cmluZ1tdID0gKGVyci5zdGFjayB8fCAnJykuc3BsaXQoJ1xcbicpO1xuXG4gICAgICAgIChSZXNvdXJjZVsnX2xpc3RlbkVycm9ycyddIGFzIFN1YmplY3Q8TW9kZWxzLkJhY2tlbmRFcnJvcj4pLm5leHQoe1xuICAgICAgICAgIG1zZyxcbiAgICAgICAgICBzdGFjayxcbiAgICAgICAgICBkYXRhOiBjYXRjaGVkRXJyb3IucmVzcG9uc2UuZGF0YVxuICAgICAgICB9KTtcblxuICAgICAgfVxuICAgICAgY29uc3QgZXJyb3IgPSAoY2F0Y2hlZEVycm9yICYmIGNhdGNoZWRFcnJvci5yZXNwb25zZSkgPyBgWyR7Y2F0Y2hlZEVycm9yLnJlc3BvbnNlLnN0YXR1c1RleHR9XTogYCA6ICcnO1xuICAgICAgdGhpcy5oYW5kbGVyUmVzdWx0KHtcbiAgICAgICAgcmVzOiB7XG4gICAgICAgICAgY29kZTogKGNhdGNoZWRFcnJvciAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UpID8gY2F0Y2hlZEVycm9yLnJlc3BvbnNlLnN0YXR1cyBhcyBhbnkgOiB2b2lkIDAsXG4gICAgICAgICAgZXJyb3I6IGAke2Vycm9yfSR7Y2F0Y2hlZEVycm9yLm1lc3NhZ2V9YCxcbiAgICAgICAgICBkYXRhOiAoY2F0Y2hlZEVycm9yICYmIGNhdGNoZWRFcnJvci5yZXNwb25zZSkgPyBKU09OLnN0cmluZ2lmeShjYXRjaGVkRXJyb3IucmVzcG9uc2UuZGF0YSkgOiB2b2lkIDAsXG4gICAgICAgICAgaXNBcnJheSxcbiAgICAgICAgICBqb2JpZCxcbiAgICAgICAgICBoZWFkZXJzOiBSZXN0SGVhZGVycy5mcm9tKGNhdGNoZWRFcnJvciAmJiBjYXRjaGVkRXJyb3IucmVzcG9uc2UgJiYgY2F0Y2hlZEVycm9yLnJlc3BvbnNlLmhlYWRlcnMpXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgam9iaWQsXG4gICAgICAgIGlzQXJyYXlcbiAgICAgIH0sIHtcbiAgICAgICAgdXJsLFxuICAgICAgICBib2R5LFxuICAgICAgICBpc0FycmF5LFxuICAgICAgICBtZXRob2RcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVwbGF5KG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QsIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCwgb25seUdldExhc3RSZXBsYXlGb3JNZXRob2Q6IGJvb2xlYW4pOiBNb2RlbHMuUmVwbGF5RGF0YSB7XG4gICAgbGV0IHJlcGxheTogTW9kZWxzLlJlcGxheURhdGE7XG5cbiAgICAvLyNyZWdpb24gcHJldmVudCBlbXB0eSB0cmVlXG4gICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XSkpIHtcbiAgICAgIC8vIGxvZy5pKGAoJHttZXRhLmVuZHBvaW50fSkgYCk7XG4gICAgICB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdID0ge307XG4gICAgfVxuICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXSkpIHtcbiAgICAgIC8vIGxvZy5pKGAoJHttZXRhLmVuZHBvaW50fSkoJHttZXRhLnBhdGh9KSBgKTtcbiAgICAgIHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXSA9IHt9O1xuICAgIH1cbiAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXSkpIHtcbiAgICAgIC8vIGxvZy5pKGAoJHttZXRhLmVuZHBvaW50fSkoJHttZXRhLnBhdGh9KSBgKTtcbiAgICAgIHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXVttZXRob2RdID0ge307XG4gICAgfVxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgY29uc3Qgb2JqZWN0SURUb0NyZWF0ZU9yTGFzdCA9IChPYmplY3Qua2V5cyh0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXSBhcyBPYmplY3QpLmxlbmd0aCkgK1xuICAgICAgKG9ubHlHZXRMYXN0UmVwbGF5Rm9yTWV0aG9kID8gMCA6IDEpO1xuICAgIGlmIChvbmx5R2V0TGFzdFJlcGxheUZvck1ldGhvZCAmJiAob2JqZWN0SURUb0NyZWF0ZU9yTGFzdCA9PT0gMCkpIHtcbiAgICAgIHJldHVybiByZXBsYXk7XG4gICAgfVxuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5yZXBsYXlTdWJqZWN0c1ttZXRhLmVuZHBvaW50XVttZXRhLnBhdGhdW21ldGhvZF1bb2JqZWN0SURUb0NyZWF0ZU9yTGFzdF0pKSB7XG4gICAgICAvLyBsb2cuaShgKCR7bWV0YS5lbmRwb2ludH0pKCR7bWV0YS5wYXRofSkoJHttZXRob2R9KSBgKTtcbiAgICAgIHRoaXMucmVwbGF5U3ViamVjdHNbbWV0YS5lbmRwb2ludF1bbWV0YS5wYXRoXVttZXRob2RdW29iamVjdElEVG9DcmVhdGVPckxhc3RdID0gPE1vZGVscy5SZXBsYXlEYXRhPntcbiAgICAgICAgc3ViamVjdDogbmV3IFN1YmplY3QoKSxcbiAgICAgICAgZGF0YTogdm9pZCAwLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXBsYXkgPSB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXVtvYmplY3RJRFRvQ3JlYXRlT3JMYXN0XTtcblxuICAgIGlmICghXy5pc051bWJlcihyZXBsYXkuaWQpKSB7XG4gICAgICBjb25zdCBqb2JpZDogbnVtYmVyID0gUmVzdFJlcXVlc3Quam9iSWQrKztcbiAgICAgIHJlcGxheS5pZCA9IGpvYmlkO1xuICAgICAgY29uc3Qgc3ViamVjdDogU3ViamVjdDxhbnk+ID0gcmVwbGF5LnN1YmplY3Q7XG4gICAgICBzdWJqZWN0W2pvYklEa2V5XSA9IGpvYmlkOyAvLyBtb2RpZnkgaW50ZXJuYWwgcnhqcyBzdWJqZWN0IG9ialxuXG4gICAgICB0aGlzLm1ldGFbam9iaWRdID0gbWV0YTtcbiAgICAgIHRoaXMuc3ViamVjdEludVVzZVtqb2JpZF0gPSBzdWJqZWN0O1xuXG4gICAgICAvLyNyZWdpb24gRElTUE9TRSAgQFVOQ09NTUVOVCBBRlRFUiBURVNUU1xuICAgICAgLy8gaWYgKG9iamVjdElEVG9DcmVhdGVPckxhc3QgPiAyKSB7XG4gICAgICAvLyAgIGNvbnN0IG9sZFJlcTogTW9kZWxzLlJlcGxheURhdGEgPSB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXVsob2JqZWN0SURUb0NyZWF0ZU9yTGFzdCAtIDIpXTtcbiAgICAgIC8vICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5tZXRhW29sZFJlcS5pZF0pKSB7XG4gICAgICAvLyAgICAgLy8gY2FudCBkZWxldGUgdGhpcyAtIGZvciBjb3VudGVyIHB1cnBvc2VcbiAgICAgIC8vICAgICB0aGlzLnJlcGxheVN1YmplY3RzW21ldGEuZW5kcG9pbnRdW21ldGEucGF0aF1bbWV0aG9kXVsob2JqZWN0SURUb0NyZWF0ZU9yTGFzdCAtIDIpXSA9IHt9O1xuICAgICAgLy8gICAgIGRlbGV0ZSB0aGlzLnN1YmplY3RJbnVVc2Vbb2xkUmVxLmlkXTtcbiAgICAgIC8vICAgICBkZWxldGUgdGhpcy5tZXRhW29sZFJlcS5pZF07XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICAgIC8vI2VuZHJlZ2lvblxuICAgIH1cblxuICAgIHJldHVybiByZXBsYXk7XG4gIH1cblxuXG4gIC8vI3JlZ2lvbiBodHRwIG1ldGhvZHNcblxuICBwcml2YXRlIGdlbmVyYWxSZXEoXG4gICAgbWV0aG9kOiBNb2RlbHMuSHR0cE1ldGhvZCxcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICAgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cCk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcblxuICAgIGNvbnN0IHJlcGxheTogTW9kZWxzLlJlcGxheURhdGEgPSB0aGlzLmdldFJlcGxheShtZXRob2QsIG1ldGEsIGZhbHNlKTtcbiAgICByZXBsYXkuZGF0YSA9IHsgdXJsLCBib2R5LCBoZWFkZXJzLCBpc0FycmF5IH07XG5cbiAgICAoKHB0aGlzLCBwdXJsLCBwbWV0aG9kLCBwaGVhZGVycywgcGJvZHksIHBpZCwgcGlzQXJyYXksIHBtb2NrSHR0cCkgPT4ge1xuICAgICAgLy8gbG9nLmQoYGZvciAke3B1cmx9IGpvYmlkICR7cGlkfWApO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiBwdGhpcy5yZXEocHVybCwgcG1ldGhvZCwgcGhlYWRlcnMsIHBib2R5LCBwaWQsIHBpc0FycmF5LCBwbW9ja0h0dHApKTtcbiAgICB9KSh0aGlzLCB1cmwsIG1ldGhvZCwgaGVhZGVycywgYm9keSwgcmVwbGF5LmlkLCBpc0FycmF5LCBtb2NrSHR0cClcblxuICAgIGNvbnN0IHJlc3A6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+ID0gZmlyc3RWYWx1ZUZyb20ocmVwbGF5LnN1YmplY3QuYXNPYnNlcnZhYmxlKCkpIGFzIGFueTtcbiAgICByZXNwLm9ic2VydmFibGUgPSByZXBsYXkuc3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICByZXNwLmNhY2hlID0gUmVxdWVzdENhY2hlLmZpbmRCeSh7XG4gICAgICBib2R5LFxuICAgICAgaXNBcnJheSxcbiAgICAgIG1ldGhvZCxcbiAgICAgIHVybFxuICAgIH0pO1xuICAgIHJldHVybiByZXNwO1xuICB9XG5cbiAgZ2V0KFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBoZWFkZXJzOiBSZXN0SGVhZGVycyxcbiAgICBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsXG4gICAgaXNBcnJheTogYm9vbGVhbiwgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cFxuICApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbFJlcSgnZ2V0JywgdXJsLCBib2R5LCBoZWFkZXJzLCBtZXRhLCBpc0FycmF5LCBtb2NrSHR0cCk7XG4gIH1cblxuICBoZWFkKFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBoZWFkZXJzOiBSZXN0SGVhZGVycyxcbiAgICBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsXG4gICAgaXNBcnJheTogYm9vbGVhbiwgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cFxuICApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbFJlcSgnaGVhZCcsIHVybCwgYm9keSwgaGVhZGVycywgbWV0YSwgaXNBcnJheSwgbW9ja0h0dHApO1xuICB9XG5cbiAgZGVsZXRlKFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBoZWFkZXJzOiBSZXN0SGVhZGVycyxcbiAgICBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsXG4gICAgaXNBcnJheTogYm9vbGVhbixcbiAgICBtb2NrSHR0cDogTW9kZWxzLk1vY2tIdHRwKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdlbmVyYWxSZXEoJ2RlbGV0ZScsIHVybCwgYm9keSwgaGVhZGVycywgbWV0YSwgaXNBcnJheSwgbW9ja0h0dHApO1xuICB9XG5cbiAgcG9zdChcbiAgICB1cmw6IHN0cmluZyxcbiAgICBib2R5OiBzdHJpbmcsXG4gICAgaGVhZGVyczogUmVzdEhlYWRlcnMsXG4gICAgbWV0YTogTW9kZWxzLk1ldGFSZXF1ZXN0LFxuICAgIGlzQXJyYXk6IGJvb2xlYW4sXG4gICAgbW9ja0h0dHA6IE1vZGVscy5Nb2NrSHR0cFxuICApOiBNb2RlbHMuUHJvbWlzZU9ic2VydmFibGVNaXg8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2VuZXJhbFJlcSgncG9zdCcsIHVybCwgYm9keSwgaGVhZGVycywgbWV0YSwgaXNBcnJheSwgbW9ja0h0dHApO1xuICB9XG5cbiAgcHV0KFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBoZWFkZXJzOiBSZXN0SGVhZGVycyxcbiAgICBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsXG4gICAgaXNBcnJheTogYm9vbGVhbixcbiAgICBtb2NrSHR0cDogTW9kZWxzLk1vY2tIdHRwXG4gICk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsUmVxKCdwdXQnLCB1cmwsIGJvZHksIGhlYWRlcnMsIG1ldGEsIGlzQXJyYXksIG1vY2tIdHRwKTtcbiAgfVxuXG4gIHBhdGNoKFxuICAgIHVybDogc3RyaW5nLFxuICAgIGJvZHk6IHN0cmluZyxcbiAgICBoZWFkZXJzOiBSZXN0SGVhZGVycyxcbiAgICBtZXRhOiBNb2RlbHMuTWV0YVJlcXVlc3QsXG4gICAgaXNBcnJheTogYm9vbGVhbixcbiAgICBtb2NrSHR0cDogTW9kZWxzLk1vY2tIdHRwXG4gICk6IE1vZGVscy5Qcm9taXNlT2JzZXJ2YWJsZU1peDxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZW5lcmFsUmVxKCdwYXRjaCcsIHVybCwgYm9keSwgaGVhZGVycywgbWV0YSwgaXNBcnJheSwgbW9ja0h0dHApO1xuICB9XG5cbiAganNvbnAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgYm9keTogc3RyaW5nLFxuICAgIGhlYWRlcnM6IFJlc3RIZWFkZXJzLFxuICAgIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCxcbiAgICBpc0FycmF5OiBib29sZWFuLFxuICAgIG1vY2tIdHRwOiBNb2RlbHMuTW9ja0h0dHBcbiAgKTogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4ge1xuXG4gICAgY29uc3QgcmVwbGF5OiBNb2RlbHMuUmVwbGF5RGF0YSA9IHRoaXMuZ2V0UmVwbGF5KCdqc29ucCcsIG1ldGEsIGZhbHNlKTtcbiAgICBjb25zdCBqb2JpZCA9IHJlcGxheS5pZDtcbiAgICBjb25zdCBtZXRob2QgPSAnanNvbnAnXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodXJsLmVuZHNXaXRoKCcvJykpIHVybCA9IHVybC5zbGljZSgwLCB1cmwubGVuZ3RoIC0gMSlcbiAgICAgIGxldCBudW0gPSBNYXRoLnJvdW5kKDEwMDAwICogTWF0aC5yYW5kb20oKSk7XG4gICAgICBsZXQgY2FsbGJhY2tNZXRob2ROYW1lID0gXCJjYl9cIiArIG51bTtcbiAgICAgIHdpbmRvd1tjYWxsYmFja01ldGhvZE5hbWVdID0gKGRhdGEpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY2hlY2tDYWNoZSh7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIGJvZHksXG4gICAgICAgICAgaXNBcnJheSxcbiAgICAgICAgICBtZXRob2RcbiAgICAgICAgfSwgam9iaWQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGFuZGxlclJlc3VsdCh7XG4gICAgICAgICAgcmVzOiB7XG4gICAgICAgICAgICBkYXRhLCBpc0FycmF5XG4gICAgICAgICAgfSxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgam9iaWQsXG4gICAgICAgICAgaXNBcnJheVxuICAgICAgICB9LCB7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIGJvZHksXG4gICAgICAgICAgaXNBcnJheSxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBsZXQgc2MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjLnNyYyA9IGAke3VybH0/Y2FsbGJhY2s9JHtjYWxsYmFja01ldGhvZE5hbWV9YDtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2MpO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzYyk7XG4gICAgfSlcbiAgICAvLyByZXR1cm4gcmVwbGF5LnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgY29uc3QgcmVzcDogTW9kZWxzLlByb21pc2VPYnNlcnZhYmxlTWl4PGFueT4gPSBmaXJzdFZhbHVlRnJvbShyZXBsYXkuc3ViamVjdC5hc09ic2VydmFibGUoKSkgYXMgYW55O1xuICAgIHJlc3Aub2JzZXJ2YWJsZSA9IHJlcGxheS5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHJlc3AuY2FjaGUgPSBSZXF1ZXN0Q2FjaGUuZmluZEJ5KHtcbiAgICAgIGJvZHksXG4gICAgICBpc0FycmF5LFxuICAgICAgbWV0aG9kLFxuICAgICAgdXJsXG4gICAgfSlcbiAgICByZXR1cm4gcmVzcDtcbiAgfVxuICAvLyNlbmRyZWdpb25cbiAgcHJpdmF0ZSByZXBsYXlTdWJqZWN0cyA9IHt9O1xuICBwdWJsaWMgcmVwbGF5KG1ldGhvZDogTW9kZWxzLkh0dHBNZXRob2QsIG1ldGE6IE1vZGVscy5NZXRhUmVxdWVzdCkge1xuICAgIGNvbnN0IHJlcGxheTogTW9kZWxzLlJlcGxheURhdGEgPSB0aGlzLmdldFJlcGxheShtZXRob2QsIG1ldGEsIHRydWUpO1xuICAgIGlmICghcmVwbGF5IHx8ICFyZXBsYXkuZGF0YSkge1xuICAgICAgY29uc29sZS53YXJuKGBDYW5ubyByZXBsYXkgZmlyc3QgJHttZXRob2R9IHJlcXVlc3QgZnJvbSAke21ldGEuZW5kcG9pbnR9LyR7bWV0YS5wYXRofWApO1xuICAgICAgcmV0dXJuO1xuICAgIH07XG4gICAgaWYgKHJlcGxheSAmJiByZXBsYXkuc3ViamVjdCAmJiBBcnJheS5pc0FycmF5KHJlcGxheS5zdWJqZWN0Lm9ic2VydmVycykgJiZcbiAgICAgIHJlcGxheS5zdWJqZWN0Lm9ic2VydmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnNvbGUud2FybihgTm8gb2JzZXJ2YXRvcnMgZm9yICR7bWV0aG9kfSByZXF1ZXN0IGZyb20gJHttZXRhLmVuZHBvaW50fS8ke21ldGEucGF0aH1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdXJsID0gcmVwbGF5LmRhdGEudXJsO1xuICAgIGNvbnN0IGhlYWRlcnMgPSByZXBsYXkuZGF0YS5oZWFkZXJzO1xuICAgIGNvbnN0IGJvZHkgPSByZXBsYXkuZGF0YS5ib2R5O1xuICAgIGNvbnN0IGlzQXJyYXkgPSByZXBsYXkuZGF0YS5pc0FycmF5O1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZXEodXJsLCBtZXRob2QsIGhlYWRlcnMsIGJvZHksIHJlcGxheS5pZCwgaXNBcnJheSkpXG4gIH1cblxufVxuIl19
|
|
@@ -7,7 +7,6 @@ import { CLASS, SYMBOL, Models as Models$1 } from 'typescript-class-helpers/brow
|
|
|
7
7
|
import { JSON10 } from 'json10/browser';
|
|
8
8
|
import { __awaiter } from 'tslib';
|
|
9
9
|
import axios from 'axios';
|
|
10
|
-
import { isUndefined } from 'util';
|
|
11
10
|
|
|
12
11
|
var Mapping;
|
|
13
12
|
(function (Mapping) {
|
|
@@ -1095,7 +1094,7 @@ class RestRequest {
|
|
|
1095
1094
|
this.replaySubjects = {};
|
|
1096
1095
|
}
|
|
1097
1096
|
handlerResult(options, sourceRequest) {
|
|
1098
|
-
if (isUndefined(options)) {
|
|
1097
|
+
if (_.isUndefined(options)) {
|
|
1099
1098
|
options = {};
|
|
1100
1099
|
}
|
|
1101
1100
|
// log.d(`HANDLE RESULT (jobid:${options.jobid}) ${sourceRequest.url}`);
|