@excent/excent-serv-positions 1.1.2 → 1.1.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/esm2020/lib/excent-serv-positions.service.mjs +9 -3
- package/fesm2015/excent-excent-serv-positions.mjs +8 -2
- package/fesm2015/excent-excent-serv-positions.mjs.map +1 -1
- package/fesm2020/excent-excent-serv-positions.mjs +8 -2
- package/fesm2020/excent-excent-serv-positions.mjs.map +1 -1
- package/lib/excent-serv-positions.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -278,8 +278,14 @@ export class ExcentServPositionsService {
|
|
|
278
278
|
closeMultiplePositions(payload) {
|
|
279
279
|
return this.httpClient.post(endpoint.closeMultiple, payload);
|
|
280
280
|
}
|
|
281
|
-
getListPositionsHistorySlaves(id) {
|
|
282
|
-
|
|
281
|
+
getListPositionsHistorySlaves(id, data) {
|
|
282
|
+
let params = new HttpParams();
|
|
283
|
+
if (data) {
|
|
284
|
+
for (let entry of data.entries()) {
|
|
285
|
+
params = params.append(entry[0], entry[1]);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
return this.httpClient.get(`${endpoint.closePosition}${id}/slaves/`, { params });
|
|
283
289
|
}
|
|
284
290
|
getPositionHistoryByUUID(uid) {
|
|
285
291
|
return this.httpClient.get(`${endpoint.closePosition}${uid}/`);
|
|
@@ -293,4 +299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
293
299
|
providedIn: 'root',
|
|
294
300
|
}]
|
|
295
301
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQVVMLE1BQU0sRUFDUCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFNNUQsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckMsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTFCbEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztRQUN4RCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN4RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUF3QixFQUFFLENBQUMsQ0FBQztRQUNqRSxjQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxtQkFBYyxHQUNuQixJQUFJLGVBQWUsQ0FBa0M7WUFDbkQsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sY0FBYyxFQUFFLEVBQUU7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QUFhLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVNLDZCQUE2QixDQUFJLEVBQVU7UUFDaEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQTtJQUN6RSxDQUFDO0lBRU0sd0JBQXdCLENBQUksR0FBVztRQUM1QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFBO0lBQ25FLENBQUM7O3VIQTFYVSwwQkFBMEI7MkhBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIElDbG9zZVBvc2l0aW9uLFxuICBJT3JkZXIsXG4gIElQYXlsb2FkQ3JlYXRlUG9zaXRpb24sXG4gIElQb3NpdGlvbixcbiAgSVBvc2l0aW9uU3VtbWFyeURlYWxpbmcsXG4gIElSZXNwb25zZUNsb3NlLFxuICBJUmVzcG9uc2VPcmRlcixcbiAgSVRyYWRlU3VtbWFyeSxcbiAgUmVzcG9uc2VQYWdpbmF0b3IsXG4gIFN5bWJvbFxufSBmcm9tICdAZXhjZW50L2V4Y2VudC1tb2RlbHMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGVuZHBvaW50IH0gZnJvbSAnLi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuZW5wb2ludHMnO1xuXG50eXBlIElQb3NpdGlvblJlc3BvbnNlID0gUGFydGlhbDxJUG9zaXRpb24+ICYgeyBjdXJyZW50UHJpY2U6IG51bWJlciB9O1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV4Y2VudFNlcnZQb3NpdGlvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcmVmcmVzaCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHBvc2l0aW9uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJUG9zaXRpb24gfCBudWxsPihudWxsKTtcbiAgcHVibGljIHBlbmRpbmdPcmRlcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxJT3JkZXI+PihbXSk7XG4gIHB1YmxpYyBjbG9zZVBvc2l0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PElDbG9zZVBvc2l0aW9uPj4oW10pO1xuICBwdWJsaWMgcG9zaXRpb24kID0gdGhpcy5wb3NpdGlvbi5hc09ic2VydmFibGUoKTtcbiAgcHVibGljIG9wZXJhdGlvbk9yZGVyOiBCZWhhdmlvclN1YmplY3Q8eyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBJT3JkZXIgfT4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8eyB0eXBlOiBzdHJpbmc7IHZhbHVlOiBJT3JkZXIgfT4oe1xuICAgICAgdHlwZTogJycsXG4gICAgICB2YWx1ZToge1xuICAgICAgICB1dWlkOiAnJyxcbiAgICAgICAgaWQ6ICcnLFxuICAgICAgICB0cmFkaW5nQWNjb3VudDogJycsXG4gICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLmlkLFxuICAgICAgICBpZFN5bWJvbDogMCxcbiAgICAgICAgb3JkZXJUeXBlOiAwLFxuICAgICAgICBvcmRlclN0YXR1czogMCxcbiAgICAgICAgdm9sdW1lOiAwLFxuICAgICAgICBidXk6IGZhbHNlLFxuICAgICAgICBzdG9wTG9zczogMCxcbiAgICAgICAgdGFrZVByb2ZpdDogMCxcbiAgICAgICAgYWN0aXZhdGlvblByaWNlOiAwLFxuICAgICAgICBjYW5jZWxsYXRpb25EYXRlOiBuZXcgRGF0ZSgpLFxuICAgICAgICBjcmVhdGlvbkRhdGU6IG5ldyBEYXRlKCksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cblxuICBnZXQgcmVmcmVzaCQoKTogU3ViamVjdDx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZnJlc2gkO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZFBvc2l0aW9ucyhpZFVzZXI6IG51bWJlcik6IE9ic2VydmFibGU8SVBvc2l0aW9uW10+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgnaWRBY2NvdW50JywgaWRVc2VyKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxJUG9zaXRpb25bXT4oZW5kcG9pbnQub3BlbiwgeyBwYXJhbXMgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3BlbkNzdjxUPihoZWFkZXJzOiBIdHRwSGVhZGVycywgZGF0YT86IE1hcDxzdHJpbmcsIGFueT4pIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoZW5kcG9pbnQubGlzdE9wZW4sIHtcbiAgICAgIHBhcmFtcyxcbiAgICAgIGhlYWRlcnMsXG4gICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyBhcyAnanNvbicsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3BlbjxUPihcbiAgICB1dWlkPzogc3RyaW5nLFxuICAgIGRhdGE/OiBNYXA8c3RyaW5nLCBhbnk+XG4gICk6IE9ic2VydmFibGU8VD4ge1xuXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICBpZiAodXVpZCkgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgndHJhZGluZ0FjY291bnQnLCB1dWlkKTtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8VD4oZW5kcG9pbnQubGlzdE9wZW4sIHtcbiAgICAgICAgcGFyYW1zLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGVsOiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbC5yZXN1bHRzKSB7XG4gICAgICAgICAgICBsZXQgcG9zaXRpb25zID0gKGVsIGFzIFJlc3BvbnNlUGFnaW5hdG9yPElQb3NpdGlvbj4pLnJlc3VsdHMubWFwKChwb3NpdGlvbjogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAuLi5wb3NpdGlvbixcbiAgICAgICAgICAgICAgc3ltYm9sSWQ6IHBvc2l0aW9uLnN5bWJvbCxcbiAgICAgICAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCksXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICByZXR1cm4gey4uLmVsLCAncmVzdWx0cyc6IHBvc2l0aW9ucyB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVsID0gKGVsIGFzIEFycmF5PElQb3NpdGlvbj4pLm1hcCgocG9zaXRpb24pID0+ICh7XG4gICAgICAgICAgICAgIC4uLnBvc2l0aW9uLFxuICAgICAgICAgICAgICBzeW1ib2xJZDogcG9zaXRpb24uc3ltYm9sLFxuICAgICAgICAgICAgICBzeW1ib2w6IG5ldyBTeW1ib2woKSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHJldHVybiBlbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENsb3NlQ3N2PFQ+KGhlYWRlcnM6IEh0dHBIZWFkZXJzLCBkYXRhPzogTWFwPHN0cmluZywgYW55Pikge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoZW5kcG9pbnQuY2xvc2VQb3NpdGlvbiwge1xuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVycyxcbiAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDbG9zZUNTVlRyYWRpbmc8VD4oZGF0YT86IE1hcDxzdHJpbmcsIGFueT4sIGhlYWRlcnM/OiBIdHRwSGVhZGVycykge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihcbiAgICAgIGVuZHBvaW50LmNsb3NlUG9zaXRpb24sXG4gICAgICBoZWFkZXJzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyxcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldENsb3NlPFQ+KFxuICAgIHRyYWRpbmdBY2NvdW50VXVpZD86IHN0cmluZyxcbiAgICBkYXRhPzogTWFwPHN0cmluZywgYW55PlxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuXG4gICAgaWYgKHRyYWRpbmdBY2NvdW50VXVpZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgndHJhZGluZ0FjY291bnQnLCB0cmFkaW5nQWNjb3VudFV1aWQpO1xuICAgIH1cblxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KGVuZHBvaW50LmNsb3NlUG9zaXRpb24sIHtcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcmRlcnNDc3Y8VD4oaGVhZGVyczogSHR0cEhlYWRlcnMsIGRhdGE/OiBNYXA8c3RyaW5nLCBhbnk+KSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGVuZHBvaW50Lm9yZGVycywge1xuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVycyxcbiAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcmRlcnM8VD4oXG4gICAgdHJhZGluZ0FjY291bnRVdWlkPzogc3RyaW5nLFxuICAgIG9yZGVyU3RhdHVzPzogbnVtYmVyLFxuICAgIGRhdGE/OiBNYXA8c3RyaW5nLCBhbnk+XG4gICk6IE9ic2VydmFibGU8VD4ge1xuXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcblxuICAgIGlmICh0cmFkaW5nQWNjb3VudFV1aWQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RyYWRpbmdBY2NvdW50JywgdHJhZGluZ0FjY291bnRVdWlkKTtcbiAgICB9XG5cbiAgICBpZiAob3JkZXJTdGF0dXMpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ29yZGVyU3RhdHVzJywgb3JkZXJTdGF0dXMpO1xuICAgIH1cblxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KGVuZHBvaW50Lm9yZGVycywge1xuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogSVBheWxvYWRDcmVhdGVQb3NpdGlvbik6IE9ic2VydmFibGU8SVBvc2l0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PElQb3NpdGlvbj4oZW5kcG9pbnQuY3JlYXRlLCB2YWx1ZSkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3JlZnJlc2gkLm5leHQoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVPcmRlcjxULCBVPih2YWx1ZTogVSkge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxUPihlbmRwb2ludC5jcmVhdGVPcmRlciwgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlUG9zaXRpb25zKFxuICAgIHZvbHVtZTogeyB2b2x1bWU6IG51bWJlciB9LFxuICAgIHV1aWQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElDbG9zZVBvc2l0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3Q8SUNsb3NlUG9zaXRpb24+KFxuICAgICAgICBgL3Bvc2l0aW9ucy90cmFkaW5nLXBvc2l0aW9ucy8ke3V1aWR9L2Nsb3NlL2AsXG4gICAgICAgIHZvbHVtZVxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNsb3NlV2l0aEhlZGdlKHV1aWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SVBvc2l0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3Q8SVBvc2l0aW9uPiggXG4gICAgICAgIGAke2VuZHBvaW50LmNsb3NlT25IZWRnZX0ke3V1aWR9L2Nsb3NlLW9uLWhlZGdlL2AsXG4gICAgICAgIG51bGxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICB9KVxuICAgICAgKVxuICB9XG5cbiAgcHVibGljIHNldFBvc2l0aW9uKHBvc2l0aW9uOiBJUG9zaXRpb24gfCBudWxsKSB7XG4gICAgdGhpcy5wb3NpdGlvbi5uZXh0KHBvc2l0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxsT3JkZXIodXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUmVzcG9uc2VPcmRlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxJUmVzcG9uc2VPcmRlcj4oXG4gICAgICBlbmRwb2ludC5jYW5jZWxsT3JkZXIxICsgdXVpZCArIGVuZHBvaW50LmNhbmNlbGxPcmRlcjIsXG4gICAgICB7fVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2hQb3NpdGlvbihcbiAgICBmb3JtOiB7IHN0b3BMb3NzPzogbnVtYmVyOyB0YWtlUHJvZml0PzogbnVtYmVyOyB2b2x1bWU/OiBudW1iZXIgfSxcbiAgICB1dWlkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxJUG9zaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBhdGNoPElQb3NpdGlvbj4oXG4gICAgICBlbmRwb2ludC5wYXRjaFBvc2l0aW9uICsgdXVpZCArICcvJyxcbiAgICAgIGZvcm1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHBhdGNoT3JkZXIodmFsdWU6IGFueSwgdXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUmVzcG9uc2VPcmRlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8SVJlc3BvbnNlT3JkZXI+KFxuICAgICAgZW5kcG9pbnQucGF0Y2hPcmRlciArIHV1aWQgKyAnLycsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9zaXRpb25zVHJhZGVTdW1tYXJ5KFxuICAgIGRhdGE/OiBNYXA8c3RyaW5nLCBhbnk+XG4gICk6IE9ic2VydmFibGU8SVRyYWRlU3VtbWFyeVtdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxJVHJhZGVTdW1tYXJ5W10+KGVuZHBvaW50LnRyYWRlU3VtbWFyeSwge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9zaXRpb25zU3VtbWFyeURlYWxpbmcoXG4gICAgZGF0YT86IE1hcDxzdHJpbmcsIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxJUG9zaXRpb25TdW1tYXJ5RGVhbGluZ1tdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxJUG9zaXRpb25TdW1tYXJ5RGVhbGluZ1tdPihcbiAgICAgIGVuZHBvaW50LnBvc2l0aW9uU3VtbWFyeURlYWxpbmcsXG4gICAgICB7XG4gICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VBbGxQb3NpdGlvbnModXVpZEFjY291bnRUcmQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFycmF5PElSZXNwb25zZUNsb3NlPj4oXG4gICAgICBgL2FjY291bnRzL3RyYWRpbmctYWNjb3VudHMvJHt1dWlkQWNjb3VudFRyZH0vY2xvc2UtYWxsLXBvc2l0aW9ucy9gXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcG9zaXRpb25TZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wb3NpdGlvbi5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbEFsbE9yZGVyczxUPih1dWlkQWNjb3VudFRyZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxUPihgL2FjY291bnRzL3RyYWRpbmctYWNjb3VudHMvJHt1dWlkQWNjb3VudFRyZH0vY2FuY2VsLWFsbC1vcmRlcnMvYClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFBvc2l0aW9uczxUPihkYXRhPzogTWFwPHN0cmluZyxhbnk+KSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihlbmRwb2ludC5saXN0T3BlbiArICd0b3RhbHMvJywgeyBwYXJhbXMgfSlcbiAgfVxuXG4gIHB1YmxpYyBnZXRDbG9zZWRQb3NpdGlvbnNUb3RhbHM8VD4oZGF0YT86IE1hcDxzdHJpbmcsYW55Pikge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oZW5kcG9pbnQuY2xvc2VQb3NpdGlvbiArICd0b3RhbHMvJywgeyBwYXJhbXMgfSlcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY3RpdmVPcmRlcnNUb3RhbHM8VD4oZGF0YT86IE1hcDxzdHJpbmcsYW55Pikge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oZW5kcG9pbnQub3JkZXJzICsgJ3RvdGFscy8nLCB7IHBhcmFtcyB9KVxuICB9XG5cbiAgcHVibGljIHNldFBlbmRpbmdPcmRlcnMob3JkZXJzOiBBcnJheTxJT3JkZXI+KSB7XG4gICAgdGhpcy5wZW5kaW5nT3JkZXJzJC5uZXh0KG9yZGVycylcbiAgfVxuXG4gIHB1YmxpYyBzZXRDbG9zZVBvc2l0aW9ucyhjbG9zZVBvc2l0aW9uczogQXJyYXk8SUNsb3NlUG9zaXRpb24+KSB7XG4gICAgdGhpcy5jbG9zZVBvc2l0aW9ucyQubmV4dChjbG9zZVBvc2l0aW9ucylcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaXN0UG9zaXRpb25zU2xhdmVzPFQ+KGlkOiBzdHJpbmcsIGRhdGE/OiBNYXA8c3RyaW5nLGFueT4pIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oYCR7ZW5kcG9pbnQubGlzdE9wZW59JHtpZH0vc2xhdmVzL2AsIHsgcGFyYW1zIH0pXG4gIH1cblxuICBwdWJsaWMgY2xvc2VNdWx0aXBsZVBvc2l0aW9uczxGLFI+KHBheWxvYWQ6IEYpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8Uj4oZW5kcG9pbnQuY2xvc2VNdWx0aXBsZSwgcGF5bG9hZClcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaXN0UG9zaXRpb25zSGlzdG9yeVNsYXZlczxUPihpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oYCR7ZW5kcG9pbnQuY2xvc2VQb3NpdGlvbn0ke2lkfS9zbGF2ZXMvYClcbiAgfVxuXG4gIHB1YmxpYyBnZXRQb3NpdGlvbkhpc3RvcnlCeVVVSUQ8VD4odWlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihgJHtlbmRwb2ludC5jbG9zZVBvc2l0aW9ufSR7dWlkfS9gKVxuICB9XG59XG4iXX0=
|
|
302
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZW50LXNlcnYtcG9zaXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9leGNlbnQtc2Vydi1wb3NpdGlvbnMvc3JjL2xpYi9leGNlbnQtc2Vydi1wb3NpdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJCLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQVVMLE1BQU0sRUFDUCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFNNUQsTUFBTSxPQUFPLDBCQUEwQjtJQTJCckMsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTFCbEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFtQixJQUFJLENBQUMsQ0FBQztRQUN4RCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN4RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUF3QixFQUFFLENBQUMsQ0FBQztRQUNqRSxjQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxtQkFBYyxHQUNuQixJQUFJLGVBQWUsQ0FBa0M7WUFDbkQsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLE1BQU0sRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZCLFFBQVEsRUFBRSxDQUFDO2dCQUNYLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxDQUFDO2dCQUNkLE1BQU0sRUFBRSxDQUFDO2dCQUNULEdBQUcsRUFBRSxLQUFLO2dCQUNWLFFBQVEsRUFBRSxDQUFDO2dCQUNYLFVBQVUsRUFBRSxDQUFDO2dCQUNiLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixnQkFBZ0IsRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDNUIsWUFBWSxFQUFFLElBQUksSUFBSSxFQUFFO2FBQ3pCO1NBQ0YsQ0FBQyxDQUFDO0lBRXdDLENBQUM7SUFFOUMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBYztRQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBYyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sVUFBVSxDQUFJLE9BQW9CLEVBQUUsSUFBdUI7UUFDaEUsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU5QixJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUM1QyxNQUFNO1lBQ04sT0FBTztZQUNQLE9BQU8sRUFBRSxNQUFNO1lBQ2YsWUFBWSxFQUFFLE1BQWdCO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPLENBQ1osSUFBYSxFQUNiLElBQXVCO1FBR3ZCLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUE7UUFDN0IsSUFBSSxJQUFJO1lBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxJQUFJLEVBQUU7WUFDUixLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBSSxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE1BQU07U0FDUCxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFO1lBQ2QsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFO2dCQUNiLElBQUksU0FBUyxHQUFJLEVBQW1DLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbkYsR0FBRyxRQUFRO29CQUNYLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTTtvQkFDekIsTUFBTSxFQUFFLElBQUksTUFBTSxFQUFFO2lCQUNyQixDQUFDLENBQUMsQ0FBQztnQkFDSixPQUFPLEVBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFBO2FBQ3RDO2lCQUFNO2dCQUNMLEVBQUUsR0FBSSxFQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDL0MsR0FBRyxRQUFRO29CQUNYLFFBQVEsRUFBRSxRQUFRLENBQUMsTUFBTTtvQkFDekIsTUFBTSxFQUFFLElBQUksTUFBTSxFQUFFO2lCQUNyQixDQUFDLENBQUMsQ0FBQztnQkFDSixPQUFPLEVBQUUsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXLENBQUksT0FBb0IsRUFBRSxJQUF1QjtRQUNqRSxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRTlCLElBQUksSUFBSSxFQUFFO1lBQ1IsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ2hDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1QztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFO1lBQ2pELE1BQU07WUFDTixPQUFPO1lBQ1AsT0FBTyxFQUFFLE1BQU07WUFDZixZQUFZLEVBQUUsTUFBZ0I7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGtCQUFrQixDQUFJLElBQXVCLEVBQUUsT0FBcUI7UUFDekUsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU5QixJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLFFBQVEsQ0FBQyxhQUFhLEVBQ3RCLE9BQU87WUFDTCxDQUFDLENBQUM7Z0JBQ0UsTUFBTTtnQkFDTixPQUFPO2dCQUNQLE9BQU8sRUFBRSxNQUFNO2dCQUNmLFlBQVksRUFBRSxNQUFnQjthQUMvQjtZQUNILENBQUMsQ0FBQztnQkFDRSxNQUFNO2FBQ1AsQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVNLFFBQVEsQ0FDYixrQkFBMkIsRUFDM0IsSUFBdUI7UUFHdkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUU3QixJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUM7U0FDOUQ7UUFFRCxJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksUUFBUSxDQUFDLGFBQWEsRUFBRTtZQUNwRCxNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVksQ0FBSSxPQUFvQixFQUFFLElBQXVCO1FBQ2xFLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFFOUIsSUFBSSxJQUFJLEVBQUU7WUFDUixLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDMUMsTUFBTTtZQUNOLE9BQU87WUFDUCxPQUFPLEVBQUUsTUFBTTtZQUNmLFlBQVksRUFBRSxNQUFnQjtTQUMvQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sU0FBUyxDQUNkLGtCQUEyQixFQUMzQixXQUFvQixFQUNwQixJQUF1QjtRQUd2QixJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBRTdCLElBQUksa0JBQWtCLEVBQUU7WUFDdEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztTQUMzRDtRQUVELElBQUksV0FBVyxFQUFFO1lBQ2YsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsSUFBSSxJQUFJLEVBQUU7WUFDUixLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDN0MsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBNkI7UUFDekMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBWSxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDakUsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXLENBQU8sS0FBUTtRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFJLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLGNBQWMsQ0FDbkIsTUFBMEIsRUFDMUIsSUFBWTtRQUVaLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsSUFBSSxDQUNILGdDQUFnQyxJQUFJLFNBQVMsRUFDN0MsTUFBTSxDQUNQO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU0sY0FBYyxDQUFDLElBQVk7UUFDaEMsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixJQUFJLENBQ0gsR0FBRyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksa0JBQWtCLEVBQ2pELElBQUksQ0FDTDthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUEwQjtRQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDekIsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsRUFDdEQsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sYUFBYSxDQUNsQixJQUFpRSxFQUNqRSxJQUFZO1FBRVosT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDMUIsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLEdBQUcsR0FBRyxFQUNuQyxJQUFJLENBQ0wsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBVSxFQUFFLElBQVk7UUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDMUIsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLEdBQUcsR0FBRyxFQUNoQyxLQUFLLENBQ04sQ0FBQztJQUNKLENBQUM7SUFFTSx3QkFBd0IsQ0FDN0IsSUFBdUI7UUFFdkIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWtCLFFBQVEsQ0FBQyxZQUFZLEVBQUU7WUFDakUsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sMEJBQTBCLENBQy9CLElBQXVCO1FBRXZCLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxJQUFJLEVBQUU7WUFDUixLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixRQUFRLENBQUMsc0JBQXNCLEVBQy9CO1lBQ0UsTUFBTSxFQUFFLE1BQU07U0FDZixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0saUJBQWlCLENBQUMsY0FBc0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsOEJBQThCLGNBQWMsdUJBQXVCLENBQ3BFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxlQUFlLENBQUksY0FBc0I7UUFDOUMsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixHQUFHLENBQUksOEJBQThCLGNBQWMscUJBQXFCLENBQUM7YUFDekUsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU0saUJBQWlCLENBQUksSUFBc0I7UUFDaEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUM3QixJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksUUFBUSxDQUFDLFFBQVEsR0FBRyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFTSx3QkFBd0IsQ0FBSSxJQUFzQjtRQUN2RCxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBQzdCLElBQUksSUFBSSxFQUFFO1lBQ1IsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ2hDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1QztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxRQUFRLENBQUMsYUFBYSxHQUFHLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFDL0UsQ0FBQztJQUVNLHFCQUFxQixDQUFJLElBQXNCO1FBQ3BELElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUE7UUFDN0IsSUFBSSxJQUFJLEVBQUU7WUFDUixLQUFLLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVDO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsTUFBcUI7UUFDM0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLGNBQXFDO1FBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFTSxzQkFBc0IsQ0FBSSxFQUFVLEVBQUUsSUFBc0I7UUFDakUsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQTtRQUM3QixJQUFJLElBQUksRUFBRTtZQUNSLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksR0FBRyxRQUFRLENBQUMsUUFBUSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUNoRixDQUFDO0lBRU0sc0JBQXNCLENBQU0sT0FBVTtRQUMzQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFJLFFBQVEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUVNLDZCQUE2QixDQUFJLEVBQVUsRUFBRSxJQUFzQjtRQUN4RSxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBQzdCLElBQUksSUFBSSxFQUFFO1lBQ1IsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ2hDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1QztTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBQ3JGLENBQUM7SUFFTSx3QkFBd0IsQ0FBSSxHQUFXO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUE7SUFDbkUsQ0FBQzs7dUhBallVLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07MkZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSUNsb3NlUG9zaXRpb24sXG4gIElPcmRlcixcbiAgSVBheWxvYWRDcmVhdGVQb3NpdGlvbixcbiAgSVBvc2l0aW9uLFxuICBJUG9zaXRpb25TdW1tYXJ5RGVhbGluZyxcbiAgSVJlc3BvbnNlQ2xvc2UsXG4gIElSZXNwb25zZU9yZGVyLFxuICBJVHJhZGVTdW1tYXJ5LFxuICBSZXNwb25zZVBhZ2luYXRvcixcbiAgU3ltYm9sXG59IGZyb20gJ0BleGNlbnQvZXhjZW50LW1vZGVscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZW5kcG9pbnQgfSBmcm9tICcuL2V4Y2VudC1zZXJ2LXBvc2l0aW9ucy5lbnBvaW50cyc7XG5cbnR5cGUgSVBvc2l0aW9uUmVzcG9uc2UgPSBQYXJ0aWFsPElQb3NpdGlvbj4gJiB7IGN1cnJlbnRQcmljZTogbnVtYmVyIH07XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXhjZW50U2VydlBvc2l0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZWZyZXNoJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcG9zaXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElQb3NpdGlvbiB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgcGVuZGluZ09yZGVycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PElPcmRlcj4+KFtdKTtcbiAgcHVibGljIGNsb3NlUG9zaXRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8SUNsb3NlUG9zaXRpb24+PihbXSk7XG4gIHB1YmxpYyBwb3NpdGlvbiQgPSB0aGlzLnBvc2l0aW9uLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgb3BlcmF0aW9uT3JkZXI6IEJlaGF2aW9yU3ViamVjdDx7IHR5cGU6IHN0cmluZzsgdmFsdWU6IElPcmRlciB9PiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDx7IHR5cGU6IHN0cmluZzsgdmFsdWU6IElPcmRlciB9Pih7XG4gICAgICB0eXBlOiAnJyxcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIHV1aWQ6ICcnLFxuICAgICAgICBpZDogJycsXG4gICAgICAgIHRyYWRpbmdBY2NvdW50OiAnJyxcbiAgICAgICAgc3ltYm9sOiBuZXcgU3ltYm9sKCkuaWQsXG4gICAgICAgIGlkU3ltYm9sOiAwLFxuICAgICAgICBvcmRlclR5cGU6IDAsXG4gICAgICAgIG9yZGVyU3RhdHVzOiAwLFxuICAgICAgICB2b2x1bWU6IDAsXG4gICAgICAgIGJ1eTogZmFsc2UsXG4gICAgICAgIHN0b3BMb3NzOiAwLFxuICAgICAgICB0YWtlUHJvZml0OiAwLFxuICAgICAgICBhY3RpdmF0aW9uUHJpY2U6IDAsXG4gICAgICAgIGNhbmNlbGxhdGlvbkRhdGU6IG5ldyBEYXRlKCksXG4gICAgICAgIGNyZWF0aW9uRGF0ZTogbmV3IERhdGUoKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldCByZWZyZXNoJCgpOiBTdWJqZWN0PHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVmcmVzaCQ7XG4gIH1cblxuICBwdWJsaWMgcmVsb2FkUG9zaXRpb25zKGlkVXNlcjogbnVtYmVyKTogT2JzZXJ2YWJsZTxJUG9zaXRpb25bXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdpZEFjY291bnQnLCBpZFVzZXIpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PElQb3NpdGlvbltdPihlbmRwb2ludC5vcGVuLCB7IHBhcmFtcyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcGVuQ3N2PFQ+KGhlYWRlcnM6IEh0dHBIZWFkZXJzLCBkYXRhPzogTWFwPHN0cmluZywgYW55Pikge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChlbmRwb2ludC5saXN0T3Blbiwge1xuICAgICAgcGFyYW1zLFxuICAgICAgaGVhZGVycyxcbiAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InIGFzICdqc29uJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPcGVuPFQ+KFxuICAgIHV1aWQ/OiBzdHJpbmcsXG4gICAgZGF0YT86IE1hcDxzdHJpbmcsIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG5cbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgIGlmICh1dWlkKSBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCd0cmFkaW5nQWNjb3VudCcsIHV1aWQpO1xuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxUPihlbmRwb2ludC5saXN0T3Blbiwge1xuICAgICAgICBwYXJhbXMsXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZWw6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsLnJlc3VsdHMpIHtcbiAgICAgICAgICAgIGxldCBwb3NpdGlvbnMgPSAoZWwgYXMgUmVzcG9uc2VQYWdpbmF0b3I8SVBvc2l0aW9uPikucmVzdWx0cy5tYXAoKHBvc2l0aW9uOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnBvc2l0aW9uLFxuICAgICAgICAgICAgICBzeW1ib2xJZDogcG9zaXRpb24uc3ltYm9sLFxuICAgICAgICAgICAgICBzeW1ib2w6IG5ldyBTeW1ib2woKSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHJldHVybiB7Li4uZWwsICdyZXN1bHRzJzogcG9zaXRpb25zIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWwgPSAoZWwgYXMgQXJyYXk8SVBvc2l0aW9uPikubWFwKChwb3NpdGlvbikgPT4gKHtcbiAgICAgICAgICAgICAgLi4ucG9zaXRpb24sXG4gICAgICAgICAgICAgIHN5bWJvbElkOiBwb3NpdGlvbi5zeW1ib2wsXG4gICAgICAgICAgICAgIHN5bWJvbDogbmV3IFN5bWJvbCgpLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2xvc2VDc3Y8VD4oaGVhZGVyczogSHR0cEhlYWRlcnMsIGRhdGE/OiBNYXA8c3RyaW5nLCBhbnk+KSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChlbmRwb2ludC5jbG9zZVBvc2l0aW9uLCB7XG4gICAgICBwYXJhbXMsXG4gICAgICBoZWFkZXJzLFxuICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldENsb3NlQ1NWVHJhZGluZzxUPihkYXRhPzogTWFwPHN0cmluZywgYW55PiwgaGVhZGVycz86IEh0dHBIZWFkZXJzKSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KFxuICAgICAgZW5kcG9pbnQuY2xvc2VQb3NpdGlvbixcbiAgICAgIGhlYWRlcnNcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7XG4gICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2xvc2U8VD4oXG4gICAgdHJhZGluZ0FjY291bnRVdWlkPzogc3RyaW5nLFxuICAgIGRhdGE/OiBNYXA8c3RyaW5nLCBhbnk+XG4gICk6IE9ic2VydmFibGU8VD4ge1xuICAgIFxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG5cbiAgICBpZiAodHJhZGluZ0FjY291bnRVdWlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCd0cmFkaW5nQWNjb3VudCcsIHRyYWRpbmdBY2NvdW50VXVpZCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oZW5kcG9pbnQuY2xvc2VQb3NpdGlvbiwge1xuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE9yZGVyc0NzdjxUPihoZWFkZXJzOiBIdHRwSGVhZGVycywgZGF0YT86IE1hcDxzdHJpbmcsIGFueT4pIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoZW5kcG9pbnQub3JkZXJzLCB7XG4gICAgICBwYXJhbXMsXG4gICAgICBoZWFkZXJzLFxuICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicgYXMgJ2pzb24nLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldE9yZGVyczxUPihcbiAgICB0cmFkaW5nQWNjb3VudFV1aWQ/OiBzdHJpbmcsXG4gICAgb3JkZXJTdGF0dXM/OiBudW1iZXIsXG4gICAgZGF0YT86IE1hcDxzdHJpbmcsIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG5cbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuXG4gICAgaWYgKHRyYWRpbmdBY2NvdW50VXVpZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndHJhZGluZ0FjY291bnQnLCB0cmFkaW5nQWNjb3VudFV1aWQpO1xuICAgIH1cblxuICAgIGlmIChvcmRlclN0YXR1cykge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb3JkZXJTdGF0dXMnLCBvcmRlclN0YXR1cyk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oZW5kcG9pbnQub3JkZXJzLCB7XG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKHZhbHVlOiBJUGF5bG9hZENyZWF0ZVBvc2l0aW9uKTogT2JzZXJ2YWJsZTxJUG9zaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SVBvc2l0aW9uPihlbmRwb2ludC5jcmVhdGUsIHZhbHVlKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaCQubmV4dCgpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZU9yZGVyPFQsIFU+KHZhbHVlOiBVKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFQ+KGVuZHBvaW50LmNyZWF0ZU9yZGVyLCB2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VQb3NpdGlvbnMoXG4gICAgdm9sdW1lOiB7IHZvbHVtZTogbnVtYmVyIH0sXG4gICAgdXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8SUNsb3NlUG9zaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdDxJQ2xvc2VQb3NpdGlvbj4oXG4gICAgICAgIGAvcG9zaXRpb25zL3RyYWRpbmctcG9zaXRpb25zLyR7dXVpZH0vY2xvc2UvYCxcbiAgICAgICAgdm9sdW1lXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VXaXRoSGVkZ2UodXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxJUG9zaXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdDxJUG9zaXRpb24+KCBcbiAgICAgICAgYCR7ZW5kcG9pbnQuY2xvc2VPbkhlZGdlfSR7dXVpZH0vY2xvc2Utb24taGVkZ2UvYCxcbiAgICAgICAgbnVsbFxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gIH1cblxuICBwdWJsaWMgc2V0UG9zaXRpb24ocG9zaXRpb246IElQb3NpdGlvbiB8IG51bGwpIHtcbiAgICB0aGlzLnBvc2l0aW9uLm5leHQocG9zaXRpb24pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbGxPcmRlcih1dWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElSZXNwb25zZU9yZGVyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PElSZXNwb25zZU9yZGVyPihcbiAgICAgIGVuZHBvaW50LmNhbmNlbGxPcmRlcjEgKyB1dWlkICsgZW5kcG9pbnQuY2FuY2VsbE9yZGVyMixcbiAgICAgIHt9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaFBvc2l0aW9uKFxuICAgIGZvcm06IHsgc3RvcExvc3M/OiBudW1iZXI7IHRha2VQcm9maXQ/OiBudW1iZXI7IHZvbHVtZT86IG51bWJlciB9LFxuICAgIHV1aWQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPElQb3NpdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8SVBvc2l0aW9uPihcbiAgICAgIGVuZHBvaW50LnBhdGNoUG9zaXRpb24gKyB1dWlkICsgJy8nLFxuICAgICAgZm9ybVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2hPcmRlcih2YWx1ZTogYW55LCB1dWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPElSZXNwb25zZU9yZGVyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wYXRjaDxJUmVzcG9uc2VPcmRlcj4oXG4gICAgICBlbmRwb2ludC5wYXRjaE9yZGVyICsgdXVpZCArICcvJyxcbiAgICAgIHZhbHVlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQb3NpdGlvbnNUcmFkZVN1bW1hcnkoXG4gICAgZGF0YT86IE1hcDxzdHJpbmcsIGFueT5cbiAgKTogT2JzZXJ2YWJsZTxJVHJhZGVTdW1tYXJ5W10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PElUcmFkZVN1bW1hcnlbXT4oZW5kcG9pbnQudHJhZGVTdW1tYXJ5LCB7XG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQb3NpdGlvbnNTdW1tYXJ5RGVhbGluZyhcbiAgICBkYXRhPzogTWFwPHN0cmluZywgYW55PlxuICApOiBPYnNlcnZhYmxlPElQb3NpdGlvblN1bW1hcnlEZWFsaW5nW10+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PElQb3NpdGlvblN1bW1hcnlEZWFsaW5nW10+KFxuICAgICAgZW5kcG9pbnQucG9zaXRpb25TdW1tYXJ5RGVhbGluZyxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUFsbFBvc2l0aW9ucyh1dWlkQWNjb3VudFRyZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXJyYXk8SVJlc3BvbnNlQ2xvc2U+PihcbiAgICAgIGAvYWNjb3VudHMvdHJhZGluZy1hY2NvdW50cy8ke3V1aWRBY2NvdW50VHJkfS9jbG9zZS1hbGwtcG9zaXRpb25zL2BcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBwb3NpdGlvblNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsQWxsT3JkZXJzPFQ+KHV1aWRBY2NvdW50VHJkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PFQ+KGAvYWNjb3VudHMvdHJhZGluZy1hY2NvdW50cy8ke3V1aWRBY2NvdW50VHJkfS9jYW5jZWwtYWxsLW9yZGVycy9gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFRvdGFsUG9zaXRpb25zPFQ+KGRhdGE/OiBNYXA8c3RyaW5nLGFueT4pIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFQ+KGVuZHBvaW50Lmxpc3RPcGVuICsgJ3RvdGFscy8nLCB7IHBhcmFtcyB9KVxuICB9XG5cbiAgcHVibGljIGdldENsb3NlZFBvc2l0aW9uc1RvdGFsczxUPihkYXRhPzogTWFwPHN0cmluZyxhbnk+KSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihlbmRwb2ludC5jbG9zZVBvc2l0aW9uICsgJ3RvdGFscy8nLCB7IHBhcmFtcyB9KVxuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZU9yZGVyc1RvdGFsczxUPihkYXRhPzogTWFwPHN0cmluZyxhbnk+KSB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICBpZiAoZGF0YSkge1xuICAgICAgZm9yIChsZXQgZW50cnkgb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihlbmRwb2ludC5vcmRlcnMgKyAndG90YWxzLycsIHsgcGFyYW1zIH0pXG4gIH1cblxuICBwdWJsaWMgc2V0UGVuZGluZ09yZGVycyhvcmRlcnM6IEFycmF5PElPcmRlcj4pIHtcbiAgICB0aGlzLnBlbmRpbmdPcmRlcnMkLm5leHQob3JkZXJzKVxuICB9XG5cbiAgcHVibGljIHNldENsb3NlUG9zaXRpb25zKGNsb3NlUG9zaXRpb25zOiBBcnJheTxJQ2xvc2VQb3NpdGlvbj4pIHtcbiAgICB0aGlzLmNsb3NlUG9zaXRpb25zJC5uZXh0KGNsb3NlUG9zaXRpb25zKVxuICB9XG5cbiAgcHVibGljIGdldExpc3RQb3NpdGlvbnNTbGF2ZXM8VD4oaWQ6IHN0cmluZywgZGF0YT86IE1hcDxzdHJpbmcsYW55Pikge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGZvciAobGV0IGVudHJ5IG9mIGRhdGEuZW50cmllcygpKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihgJHtlbmRwb2ludC5saXN0T3Blbn0ke2lkfS9zbGF2ZXMvYCwgeyBwYXJhbXMgfSlcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZU11bHRpcGxlUG9zaXRpb25zPEYsUj4ocGF5bG9hZDogRikge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxSPihlbmRwb2ludC5jbG9zZU11bHRpcGxlLCBwYXlsb2FkKVxuICB9XG5cbiAgcHVibGljIGdldExpc3RQb3NpdGlvbnNIaXN0b3J5U2xhdmVzPFQ+KGlkOiBzdHJpbmcsIGRhdGE/OiBNYXA8c3RyaW5nLGFueT4pIHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBlbnRyeSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8VD4oYCR7ZW5kcG9pbnQuY2xvc2VQb3NpdGlvbn0ke2lkfS9zbGF2ZXMvYCwgeyBwYXJhbXMgfSlcbiAgfVxuXG4gIHB1YmxpYyBnZXRQb3NpdGlvbkhpc3RvcnlCeVVVSUQ8VD4odWlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxUPihgJHtlbmRwb2ludC5jbG9zZVBvc2l0aW9ufSR7dWlkfS9gKVxuICB9XG59XG4iXX0=
|
|
@@ -290,8 +290,14 @@ class ExcentServPositionsService {
|
|
|
290
290
|
closeMultiplePositions(payload) {
|
|
291
291
|
return this.httpClient.post(endpoint.closeMultiple, payload);
|
|
292
292
|
}
|
|
293
|
-
getListPositionsHistorySlaves(id) {
|
|
294
|
-
|
|
293
|
+
getListPositionsHistorySlaves(id, data) {
|
|
294
|
+
let params = new HttpParams();
|
|
295
|
+
if (data) {
|
|
296
|
+
for (let entry of data.entries()) {
|
|
297
|
+
params = params.append(entry[0], entry[1]);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
return this.httpClient.get(`${endpoint.closePosition}${id}/slaves/`, { params });
|
|
295
301
|
}
|
|
296
302
|
getPositionHistoryByUUID(uid) {
|
|
297
303
|
return this.httpClient.get(`${endpoint.closePosition}${uid}/`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n closeOnHedge: '/positions/trading-positions/',\n closeMultiple: '/positions/trading-positions/close-all'\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IClosePosition,\n IOrder,\n IPayloadCreatePosition,\n IPosition,\n IPositionSummaryDealing,\n IResponseClose,\n IResponseOrder,\n ITradeSummary,\n ResponsePaginator,\n Symbol\n} from '@excent/excent-models';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { endpoint } from './excent-serv-positions.enpoints';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n public pendingOrders$ = new BehaviorSubject<Array<IOrder>>([]);\n public closePositions$ = new BehaviorSubject<Array<IClosePosition>>([]);\n public position$ = this.position.asObservable();\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\n idSymbol: 0,\n orderType: 0,\n orderStatus: 0,\n volume: 0,\n buy: false,\n stopLoss: 0,\n takeProfit: 0,\n activationPrice: 0,\n cancellationDate: new Date(),\n creationDate: new Date(),\n },\n });\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$(): Subject<void> {\n return this._refresh$;\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpenCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position: any) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getCloseCSVTrading<T>(data?: Map<string, any>, headers?: HttpHeaders) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(\n endpoint.closePosition,\n headers\n ? {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n }\n : {\n params,\n }\n );\n }\n\n public getClose<T>(\n tradingAccountUuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.append('tradingAccount', tradingAccountUuid);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid?: string,\n orderStatus?: number,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.set('tradingAccount', tradingAccountUuid);\n }\n\n if (orderStatus) {\n params = params.append('orderStatus', orderStatus);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public closeWithHedge(uuid: string): Observable<IPosition> {\n return this.httpClient\n .post<IPosition>( \n `${endpoint.closeOnHedge}${uuid}/close-on-hedge/`,\n null\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n )\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public setPendingOrders(orders: Array<IOrder>) {\n this.pendingOrders$.next(orders)\n }\n\n public setClosePositions(closePositions: Array<IClosePosition>) {\n this.closePositions$.next(closePositions)\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}${id}/slaves/`, { params })\n }\n\n public closeMultiplePositions<F,R>(payload: F) {\n return this.httpClient.post<R>(endpoint.closeMultiple, payload)\n }\n\n public getListPositionsHistorySlaves<T>(id: string) {\n return this.httpClient.get<T>(`${endpoint.closePosition}${id}/slaves/`)\n }\n\n public getPositionHistoryByUUID<T>(uid: string) {\n return this.httpClient.get<T>(`${endpoint.closePosition}${uid}/`)\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAAO,MAAM,QAAQ,GAAG;AACtB,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,MAAM,EAAE,mBAAmB;AAC3B,IAAA,MAAM,EAAE,oBAAoB;AAC5B,IAAA,aAAa,EAAE,yBAAyB;AACxC,IAAA,aAAa,EAAE,8BAA8B;AAC7C,IAAA,eAAe,EAAE,0BAA0B;AAC3C,IAAA,QAAQ,EAAE,+BAA+B;AACzC,IAAA,MAAM,EAAE,+BAA+B;AACvC,IAAA,WAAW,EAAE,oBAAoB;AACjC,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,aAAa,EAAE,+BAA+B;AAC9C,IAAA,UAAU,EAAE,oBAAoB;AAChC,IAAA,YAAY,EAAE,2BAA2B;AACzC,IAAA,sBAAsB,EAAE,+BAA+B;AACvD,IAAA,YAAY,EAAE,+BAA+B;AAC7C,IAAA,aAAa,EAAE,wCAAwC;CACxD;;MCIY,0BAA0B,CAAA;AA2BrC,IAAA,WAAA,CAAoB,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AA1BlC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ,CAAC;QAChC,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAmB,IAAI,CAAC,CAAC;QACxD,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAgB,EAAE,CAAC,CAAC;QACxD,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAwB,EAAE,CAAC,CAAC;QACjE,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;AACzC,QAAA,IAAc,CAAA,cAAA,GACnB,IAAI,eAAe,CAAkC;AACnD,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,EAAE,EAAE,EAAE;AACN,gBAAA,cAAc,EAAE,EAAE;AAClB,gBAAA,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC,EAAE;AACvB,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,SAAS,EAAE,CAAC;AACZ,gBAAA,WAAW,EAAE,CAAC;AACd,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,GAAG,EAAE,KAAK;AACV,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,UAAU,EAAE,CAAC;AACb,gBAAA,eAAe,EAAE,CAAC;gBAClB,gBAAgB,EAAE,IAAI,IAAI,EAAE;gBAC5B,YAAY,EAAE,IAAI,IAAI,EAAE;AACzB,aAAA;AACF,SAAA,CAAC,CAAC;KAEyC;AAE9C,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAEM,IAAA,eAAe,CAAC,MAAc,EAAA;AACnC,QAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACzD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAc,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;KACpE;IAEM,UAAU,CAAI,OAAoB,EAAE,IAAuB,EAAA;AAChE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAE9B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC5C,MAAM;YACN,OAAO;AACP,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,YAAY,EAAE,MAAgB;AAC/B,SAAA,CAAC,CAAC;KACJ;IAEM,OAAO,CACZ,IAAa,EACb,IAAuB,EAAA;AAGvB,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAC7B,QAAA,IAAI,IAAI;YAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AACzD,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;QAED,OAAO,IAAI,CAAC,UAAU;AACnB,aAAA,GAAG,CAAI,QAAQ,CAAC,QAAQ,EAAE;YACzB,MAAM;SACP,CAAC;AACD,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,EAAO,KAAI;YACd,IAAG,EAAE,CAAC,OAAO,EAAE;AACb,gBAAA,IAAI,SAAS,GAAI,EAAmC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAa,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC/E,QAAQ,CAAA,EAAA,EACX,QAAQ,EAAE,QAAQ,CAAC,MAAM,EACzB,MAAM,EAAE,IAAI,MAAM,EAAE,EAAA,CAAA,CACpB,CAAC,CAAC;AACJ,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAW,EAAE,CAAA,EAAA,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA,CAAA;AACtC,aAAA;AAAM,iBAAA;gBACL,EAAE,GAAI,EAAuB,CAAC,GAAG,CAAC,CAAC,QAAQ,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC3C,QAAQ,CAAA,EAAA,EACX,QAAQ,EAAE,QAAQ,CAAC,MAAM,EACzB,MAAM,EAAE,IAAI,MAAM,EAAE,EACpB,CAAA,CAAA,CAAC,CAAC;AACJ,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;SACF,CAAC,CACH,CAAC;KACL;IAEM,WAAW,CAAI,OAAoB,EAAE,IAAuB,EAAA;AACjE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAE9B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE;YACjD,MAAM;YACN,OAAO;AACP,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,YAAY,EAAE,MAAgB;AAC/B,SAAA,CAAC,CAAC;KACJ;IAEM,kBAAkB,CAAI,IAAuB,EAAE,OAAqB,EAAA;AACzE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAE9B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,QAAQ,CAAC,aAAa,EACtB,OAAO;AACL,cAAE;gBACE,MAAM;gBACN,OAAO;AACP,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,YAAY,EAAE,MAAgB;AAC/B,aAAA;AACH,cAAE;gBACE,MAAM;AACP,aAAA,CACN,CAAC;KACH;IAEM,QAAQ,CACb,kBAA2B,EAC3B,IAAuB,EAAA;AAGvB,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAE7B,QAAA,IAAI,kBAAkB,EAAE;YACtB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AAC9D,SAAA;AAED,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,QAAQ,CAAC,aAAa,EAAE;YACpD,MAAM;AACP,SAAA,CAAC,CAAC;KACJ;IAEM,YAAY,CAAI,OAAoB,EAAE,IAAuB,EAAA;AAClE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAE9B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC1C,MAAM;YACN,OAAO;AACP,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,YAAY,EAAE,MAAgB;AAC/B,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,SAAS,CACd,kBAA2B,EAC3B,WAAoB,EACpB,IAAuB,EAAA;AAGvB,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAE7B,QAAA,IAAI,kBAAkB,EAAE;YACtB,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;AAC3D,SAAA;AAED,QAAA,IAAI,WAAW,EAAE;YACf,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AACpD,SAAA;AAED,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,QAAQ,CAAC,MAAM,EAAE;YAC7C,MAAM;AACP,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,MAAM,CAAC,KAA6B,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAY,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CACjE,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACvB,CAAC,CACH,CAAC;KACH;AAEM,IAAA,WAAW,CAAO,KAAQ,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;KAC7D;IAEM,cAAc,CACnB,MAA0B,EAC1B,IAAY,EAAA;QAEZ,OAAO,IAAI,CAAC,UAAU;AACnB,aAAA,IAAI,CACH,CAAgC,6BAAA,EAAA,IAAI,CAAS,OAAA,CAAA,EAC7C,MAAM,CACP;AACA,aAAA,IAAI,CACH,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB,CAAC,CACH,CAAC;KACL;AAEM,IAAA,cAAc,CAAC,IAAY,EAAA;QAChC,OAAO,IAAI,CAAC,UAAU;aACnB,IAAI,CACH,CAAG,EAAA,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAA,gBAAA,CAAkB,EACjD,IAAI,CACL;AACA,aAAA,IAAI,CACH,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB,CAAC,CACH,CAAA;KACJ;AAEM,IAAA,WAAW,CAAC,QAA0B,EAAA;AAC3C,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC9B;AAEM,IAAA,YAAY,CAAC,IAAY,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,QAAQ,CAAC,aAAa,GAAG,IAAI,GAAG,QAAQ,CAAC,aAAa,EACtD,EAAE,CACH,CAAC;KACH;IAEM,aAAa,CAClB,IAAiE,EACjE,IAAY,EAAA;AAEZ,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAC1B,QAAQ,CAAC,aAAa,GAAG,IAAI,GAAG,GAAG,EACnC,IAAI,CACL,CAAC;KACH;IAEM,UAAU,CAAC,KAAU,EAAE,IAAY,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAC1B,QAAQ,CAAC,UAAU,GAAG,IAAI,GAAG,GAAG,EAChC,KAAK,CACN,CAAC;KACH;AAEM,IAAA,wBAAwB,CAC7B,IAAuB,EAAA;AAEvB,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAkB,QAAQ,CAAC,YAAY,EAAE;AACjE,YAAA,MAAM,EAAE,MAAM;AACf,SAAA,CAAC,CAAC;KACJ;AAEM,IAAA,0BAA0B,CAC/B,IAAuB,EAAA;AAEvB,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAC9B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,QAAQ,CAAC,sBAAsB,EAC/B;AACE,YAAA,MAAM,EAAE,MAAM;AACf,SAAA,CACF,CAAC;KACH;AAEM,IAAA,iBAAiB,CAAC,cAAsB,EAAA;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,CAA8B,2BAAA,EAAA,cAAc,CAAuB,qBAAA,CAAA,CACpE,CAAC;KACH;AAED,IAAA,IAAW,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KACjC;AAEM,IAAA,eAAe,CAAI,cAAsB,EAAA;QAC9C,OAAO,IAAI,CAAC,UAAU;AACnB,aAAA,GAAG,CAAI,CAAA,2BAAA,EAA8B,cAAc,CAAA,mBAAA,CAAqB,CAAC;AACzE,aAAA,IAAI,CACH,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SACtB,CAAC,CACH,CAAC;KACL;AAEM,IAAA,iBAAiB,CAAI,IAAsB,EAAA;AAChD,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAC7B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,QAAQ,CAAC,QAAQ,GAAG,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;KACzE;AAEM,IAAA,wBAAwB,CAAI,IAAsB,EAAA;AACvD,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAC7B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,QAAQ,CAAC,aAAa,GAAG,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;KAC9E;AAEM,IAAA,qBAAqB,CAAI,IAAsB,EAAA;AACpD,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAC7B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;KACvE;AAEM,IAAA,gBAAgB,CAAC,MAAqB,EAAA;AAC3C,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;KACjC;AAEM,IAAA,iBAAiB,CAAC,cAAqC,EAAA;AAC5D,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;KAC1C;IAEM,sBAAsB,CAAI,EAAU,EAAE,IAAsB,EAAA;AACjE,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;AAC7B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAChC,gBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,aAAA;AACF,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,GAAG,QAAQ,CAAC,QAAQ,CAAA,EAAG,EAAE,CAAU,QAAA,CAAA,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;KAC/E;AAEM,IAAA,sBAAsB,CAAM,OAAU,EAAA;AAC3C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAI,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;KAChE;AAEM,IAAA,6BAA6B,CAAI,EAAU,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,CAAA,EAAG,QAAQ,CAAC,aAAa,CAAA,EAAG,EAAE,CAAA,QAAA,CAAU,CAAC,CAAA;KACxE;AAEM,IAAA,wBAAwB,CAAI,GAAW,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAI,CAAA,EAAG,QAAQ,CAAC,aAAa,CAAA,EAAG,GAAG,CAAA,CAAA,CAAG,CAAC,CAAA;KAClE;;uHA1XU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;2FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCTY,4BAA4B,CAAA;;yHAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAR7B,QAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAIU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAVxC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAC3B,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;MCOU,yBAAyB,CAAA;;sHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uHAAzB,yBAAyB,EAAA,YAAA,EAAA,CARlC,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAK5B,4BAA4B,CAAA,EAAA,CAAA,CAAA;uHAGnB,yBAAyB,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,4BAA4B;AAC7B,qBAAA;AACD,oBAAA,OAAO,EAAE,EACR;AACD,oBAAA,OAAO,EAAE;wBACP,4BAA4B;AAC7B,qBAAA;iBACF,CAAA;;;ACdD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n closeOnHedge: '/positions/trading-positions/',\n closeMultiple: '/positions/trading-positions/close-all'\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IClosePosition,\n IOrder,\n IPayloadCreatePosition,\n IPosition,\n IPositionSummaryDealing,\n IResponseClose,\n IResponseOrder,\n ITradeSummary,\n ResponsePaginator,\n Symbol\n} from '@excent/excent-models';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { endpoint } from './excent-serv-positions.enpoints';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n public pendingOrders$ = new BehaviorSubject<Array<IOrder>>([]);\n public closePositions$ = new BehaviorSubject<Array<IClosePosition>>([]);\n public position$ = this.position.asObservable();\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\n idSymbol: 0,\n orderType: 0,\n orderStatus: 0,\n volume: 0,\n buy: false,\n stopLoss: 0,\n takeProfit: 0,\n activationPrice: 0,\n cancellationDate: new Date(),\n creationDate: new Date(),\n },\n });\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$(): Subject<void> {\n return this._refresh$;\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpenCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position: any) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getCloseCSVTrading<T>(data?: Map<string, any>, headers?: HttpHeaders) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(\n endpoint.closePosition,\n headers\n ? {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n }\n : {\n params,\n }\n );\n }\n\n public getClose<T>(\n tradingAccountUuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.append('tradingAccount', tradingAccountUuid);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid?: string,\n orderStatus?: number,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.set('tradingAccount', tradingAccountUuid);\n }\n\n if (orderStatus) {\n params = params.append('orderStatus', orderStatus);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public closeWithHedge(uuid: string): Observable<IPosition> {\n return this.httpClient\n .post<IPosition>( \n `${endpoint.closeOnHedge}${uuid}/close-on-hedge/`,\n null\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n )\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public setPendingOrders(orders: Array<IOrder>) {\n this.pendingOrders$.next(orders)\n }\n\n public setClosePositions(closePositions: Array<IClosePosition>) {\n this.closePositions$.next(closePositions)\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}${id}/slaves/`, { params })\n }\n\n public closeMultiplePositions<F,R>(payload: F) {\n return this.httpClient.post<R>(endpoint.closeMultiple, payload)\n }\n\n public getListPositionsHistorySlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.closePosition}${id}/slaves/`, { params })\n }\n\n public getPositionHistoryByUUID<T>(uid: string) {\n return this.httpClient.get<T>(`${endpoint.closePosition}${uid}/`)\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -298,8 +298,14 @@ class ExcentServPositionsService {
|
|
|
298
298
|
closeMultiplePositions(payload) {
|
|
299
299
|
return this.httpClient.post(endpoint.closeMultiple, payload);
|
|
300
300
|
}
|
|
301
|
-
getListPositionsHistorySlaves(id) {
|
|
302
|
-
|
|
301
|
+
getListPositionsHistorySlaves(id, data) {
|
|
302
|
+
let params = new HttpParams();
|
|
303
|
+
if (data) {
|
|
304
|
+
for (let entry of data.entries()) {
|
|
305
|
+
params = params.append(entry[0], entry[1]);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return this.httpClient.get(`${endpoint.closePosition}${id}/slaves/`, { params });
|
|
303
309
|
}
|
|
304
310
|
getPositionHistoryByUUID(uid) {
|
|
305
311
|
return this.httpClient.get(`${endpoint.closePosition}${uid}/`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n closeOnHedge: '/positions/trading-positions/',\n closeMultiple: '/positions/trading-positions/close-all'\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IClosePosition,\n IOrder,\n IPayloadCreatePosition,\n IPosition,\n IPositionSummaryDealing,\n IResponseClose,\n IResponseOrder,\n ITradeSummary,\n ResponsePaginator,\n Symbol\n} from '@excent/excent-models';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { endpoint } from './excent-serv-positions.enpoints';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n public pendingOrders$ = new BehaviorSubject<Array<IOrder>>([]);\n public closePositions$ = new BehaviorSubject<Array<IClosePosition>>([]);\n public position$ = this.position.asObservable();\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\n idSymbol: 0,\n orderType: 0,\n orderStatus: 0,\n volume: 0,\n buy: false,\n stopLoss: 0,\n takeProfit: 0,\n activationPrice: 0,\n cancellationDate: new Date(),\n creationDate: new Date(),\n },\n });\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$(): Subject<void> {\n return this._refresh$;\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpenCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position: any) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getCloseCSVTrading<T>(data?: Map<string, any>, headers?: HttpHeaders) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(\n endpoint.closePosition,\n headers\n ? {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n }\n : {\n params,\n }\n );\n }\n\n public getClose<T>(\n tradingAccountUuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.append('tradingAccount', tradingAccountUuid);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid?: string,\n orderStatus?: number,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.set('tradingAccount', tradingAccountUuid);\n }\n\n if (orderStatus) {\n params = params.append('orderStatus', orderStatus);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public closeWithHedge(uuid: string): Observable<IPosition> {\n return this.httpClient\n .post<IPosition>( \n `${endpoint.closeOnHedge}${uuid}/close-on-hedge/`,\n null\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n )\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public setPendingOrders(orders: Array<IOrder>) {\n this.pendingOrders$.next(orders)\n }\n\n public setClosePositions(closePositions: Array<IClosePosition>) {\n this.closePositions$.next(closePositions)\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}${id}/slaves/`, { params })\n }\n\n public closeMultiplePositions<F,R>(payload: F) {\n return this.httpClient.post<R>(endpoint.closeMultiple, payload)\n }\n\n public getListPositionsHistorySlaves<T>(id: string) {\n return this.httpClient.get<T>(`${endpoint.closePosition}${id}/slaves/`)\n }\n\n public getPositionHistoryByUUID<T>(uid: string) {\n return this.httpClient.get<T>(`${endpoint.closePosition}${uid}/`)\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"excent-excent-serv-positions.mjs","sources":["../../../projects/excent-serv-positions/src/lib/excent-serv-positions.enpoints.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.service.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.component.ts","../../../projects/excent-serv-positions/src/lib/excent-serv-positions.module.ts","../../../projects/excent-serv-positions/src/public-api.ts","../../../projects/excent-serv-positions/src/excent-excent-serv-positions.ts"],"sourcesContent":["export const endpoint = {\n open: '/position/open/',\n closed: '/position/closed/',\n orders: '/positions/orders/',\n wsCancelOrder: '/position/order/cancel/',\n closePosition: '/positions/position-history/',\n positionSummary: '/report/position-summary',\n listOpen: '/positions/trading-positions/',\n create: '/positions/trading-positions/',\n createOrder: '/positions/orders/',\n cancellOrder1: '/positions/orders/',\n cancellOrder2: '/cancel/',\n patchPosition: '/positions/trading-positions/',\n patchOrder: '/positions/orders/',\n tradeSummary: '/positions/trade-summary/',\n positionSummaryDealing: '/positions/positions-summary/',\n closeOnHedge: '/positions/trading-positions/',\n closeMultiple: '/positions/trading-positions/close-all'\n};\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n IClosePosition,\n IOrder,\n IPayloadCreatePosition,\n IPosition,\n IPositionSummaryDealing,\n IResponseClose,\n IResponseOrder,\n ITradeSummary,\n ResponsePaginator,\n Symbol\n} from '@excent/excent-models';\nimport { BehaviorSubject, Observable, Subject, tap } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { endpoint } from './excent-serv-positions.enpoints';\n\ntype IPositionResponse = Partial<IPosition> & { currentPrice: number };\n@Injectable({\n providedIn: 'root',\n})\nexport class ExcentServPositionsService {\n private _refresh$ = new Subject<void>();\n private position = new BehaviorSubject<IPosition | null>(null);\n public pendingOrders$ = new BehaviorSubject<Array<IOrder>>([]);\n public closePositions$ = new BehaviorSubject<Array<IClosePosition>>([]);\n public position$ = this.position.asObservable();\n public operationOrder: BehaviorSubject<{ type: string; value: IOrder }> =\n new BehaviorSubject<{ type: string; value: IOrder }>({\n type: '',\n value: {\n uuid: '',\n id: '',\n tradingAccount: '',\n symbol: new Symbol().id,\n idSymbol: 0,\n orderType: 0,\n orderStatus: 0,\n volume: 0,\n buy: false,\n stopLoss: 0,\n takeProfit: 0,\n activationPrice: 0,\n cancellationDate: new Date(),\n creationDate: new Date(),\n },\n });\n\n constructor(private httpClient: HttpClient) {}\n\n get refresh$(): Subject<void> {\n return this._refresh$;\n }\n\n public reloadPositions(idUser: number): Observable<IPosition[]> {\n const params = new HttpParams().set('idAccount', idUser);\n return this.httpClient.get<IPosition[]>(endpoint.open, { params });\n }\n\n public getOpenCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.listOpen, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOpen<T>(\n uuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n if (uuid) params = params.append('tradingAccount', uuid);\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient\n .get<T>(endpoint.listOpen, {\n params,\n })\n .pipe(\n map((el: any) => {\n if(el.results) {\n let positions = (el as ResponsePaginator<IPosition>).results.map((position: any) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return {...el, 'results': positions }\n } else {\n el = (el as Array<IPosition>).map((position) => ({\n ...position,\n symbolId: position.symbol,\n symbol: new Symbol(),\n }));\n return el;\n }\n })\n );\n }\n\n public getCloseCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get(endpoint.closePosition, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getCloseCSVTrading<T>(data?: Map<string, any>, headers?: HttpHeaders) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(\n endpoint.closePosition,\n headers\n ? {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n }\n : {\n params,\n }\n );\n }\n\n public getClose<T>(\n tradingAccountUuid?: string,\n data?: Map<string, any>\n ): Observable<T> {\n \n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.append('tradingAccount', tradingAccountUuid);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition, {\n params,\n });\n }\n\n public getOrdersCsv<T>(headers: HttpHeaders, data?: Map<string, any>) {\n let params = new HttpParams();\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get(endpoint.orders, {\n params,\n headers,\n observe: 'body',\n responseType: 'blob' as 'json',\n });\n }\n\n public getOrders<T>(\n tradingAccountUuid?: string,\n orderStatus?: number,\n data?: Map<string, any>\n ): Observable<T> {\n\n let params = new HttpParams()\n\n if (tradingAccountUuid) {\n params = params.set('tradingAccount', tradingAccountUuid);\n }\n\n if (orderStatus) {\n params = params.append('orderStatus', orderStatus);\n }\n\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders, {\n params,\n });\n }\n\n public create(value: IPayloadCreatePosition): Observable<IPosition> {\n return this.httpClient.post<IPosition>(endpoint.create, value).pipe(\n tap(() => {\n this._refresh$.next();\n })\n );\n }\n\n public createOrder<T, U>(value: U) {\n return this.httpClient.post<T>(endpoint.createOrder, value);\n }\n\n public closePositions(\n volume: { volume: number },\n uuid: string\n ): Observable<IClosePosition> {\n return this.httpClient\n .post<IClosePosition>(\n `/positions/trading-positions/${uuid}/close/`,\n volume\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public closeWithHedge(uuid: string): Observable<IPosition> {\n return this.httpClient\n .post<IPosition>( \n `${endpoint.closeOnHedge}${uuid}/close-on-hedge/`,\n null\n )\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n )\n }\n\n public setPosition(position: IPosition | null) {\n this.position.next(position);\n }\n\n public cancellOrder(uuid: string): Observable<IResponseOrder> {\n return this.httpClient.post<IResponseOrder>(\n endpoint.cancellOrder1 + uuid + endpoint.cancellOrder2,\n {}\n );\n }\n\n public patchPosition(\n form: { stopLoss?: number; takeProfit?: number; volume?: number },\n uuid: string\n ): Observable<IPosition> {\n return this.httpClient.patch<IPosition>(\n endpoint.patchPosition + uuid + '/',\n form\n );\n }\n\n public patchOrder(value: any, uuid: string): Observable<IResponseOrder> {\n return this.httpClient.patch<IResponseOrder>(\n endpoint.patchOrder + uuid + '/',\n value\n );\n }\n\n public getPositionsTradeSummary(\n data?: Map<string, any>\n ): Observable<ITradeSummary[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<ITradeSummary[]>(endpoint.tradeSummary, {\n params: params,\n });\n }\n\n public getPositionsSummaryDealing(\n data?: Map<string, any>\n ): Observable<IPositionSummaryDealing[]> {\n let params = new HttpParams();\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<IPositionSummaryDealing[]>(\n endpoint.positionSummaryDealing,\n {\n params: params,\n }\n );\n }\n\n public closeAllPositions(uuidAccountTrd: string) {\n return this.httpClient.get<Array<IResponseClose>>(\n `/accounts/trading-accounts/${uuidAccountTrd}/close-all-positions/`\n );\n }\n\n public get positionSelected() {\n return this.position.getValue();\n }\n\n public cancelAllOrders<T>(uuidAccountTrd: string) {\n return this.httpClient\n .get<T>(`/accounts/trading-accounts/${uuidAccountTrd}/cancel-all-orders/`)\n .pipe(\n tap(() => {\n this.refresh$.next();\n })\n );\n }\n\n public getTotalPositions<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.listOpen + 'totals/', { params })\n }\n\n public getClosedPositionsTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.closePosition + 'totals/', { params })\n }\n\n public getActiveOrdersTotals<T>(data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n return this.httpClient.get<T>(endpoint.orders + 'totals/', { params })\n }\n\n public setPendingOrders(orders: Array<IOrder>) {\n this.pendingOrders$.next(orders)\n }\n\n public setClosePositions(closePositions: Array<IClosePosition>) {\n this.closePositions$.next(closePositions)\n }\n\n public getListPositionsSlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.listOpen}${id}/slaves/`, { params })\n }\n\n public closeMultiplePositions<F,R>(payload: F) {\n return this.httpClient.post<R>(endpoint.closeMultiple, payload)\n }\n\n public getListPositionsHistorySlaves<T>(id: string, data?: Map<string,any>) {\n let params = new HttpParams()\n if (data) {\n for (let entry of data.entries()) {\n params = params.append(entry[0], entry[1]);\n }\n }\n\n return this.httpClient.get<T>(`${endpoint.closePosition}${id}/slaves/`, { params })\n }\n\n public getPositionHistoryByUUID<T>(uid: string) {\n return this.httpClient.get<T>(`${endpoint.closePosition}${uid}/`)\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'lib-excent-serv-positions',\n template: `\n <p>\n excent-serv-positions works!\n </p>\n `,\n styles: [\n ]\n})\nexport class ExcentServPositionsComponent {\n}\n","import { NgModule } from '@angular/core';\nimport { ExcentServPositionsComponent } from './excent-serv-positions.component';\n\n\n\n@NgModule({\n declarations: [\n ExcentServPositionsComponent\n ],\n imports: [\n ],\n exports: [\n ExcentServPositionsComponent\n ]\n})\nexport class ExcentServPositionsModule { }\n","/*\n * Public API Surface of excent-serv-positions\n */\n\nexport * from './lib/excent-serv-positions.service';\nexport * from './lib/excent-serv-positions.component';\nexport * from './lib/excent-serv-positions.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ export declare class ExcentServPositionsService {
|
|
|
49
49
|
setClosePositions(closePositions: Array<IClosePosition>): void;
|
|
50
50
|
getListPositionsSlaves<T>(id: string, data?: Map<string, any>): Observable<T>;
|
|
51
51
|
closeMultiplePositions<F, R>(payload: F): Observable<R>;
|
|
52
|
-
getListPositionsHistorySlaves<T>(id: string): Observable<T>;
|
|
52
|
+
getListPositionsHistorySlaves<T>(id: string, data?: Map<string, any>): Observable<T>;
|
|
53
53
|
getPositionHistoryByUUID<T>(uid: string): Observable<T>;
|
|
54
54
|
static ɵfac: i0.ɵɵFactoryDeclaration<ExcentServPositionsService, never>;
|
|
55
55
|
static ɵprov: i0.ɵɵInjectableDeclaration<ExcentServPositionsService>;
|