@recursyve/nice-data-filter-kit 13.1.8 → 13.3.0
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/api/filter.api.mjs +46 -39
- package/esm2020/lib/components/base-list/base-list.component.mjs +8 -3
- package/esm2020/lib/components/base-list/directives/base-list-directives.module.mjs +10 -5
- package/esm2020/lib/components/base-list/directives/base-list-empty-search-result-state.directive.mjs +14 -0
- package/esm2020/lib/components/base-list/models/icons.model.mjs +1 -1
- package/esm2020/lib/components/base-list/public-api.mjs +2 -1
- package/esm2020/lib/components/base-list/store/base-list.query.mjs +8 -1
- package/esm2020/lib/components/multi-state-list/multi-state-list.component.mjs +3 -3
- package/esm2020/lib/components/query-builder/filter-selection/filter-selection.component.mjs +8 -7
- package/esm2020/lib/components/query-builder/pipes/filter-group-icon.pipe.mjs +8 -2
- package/esm2020/lib/components/query-builder/providers/filter-group.service.mjs +1 -1
- package/fesm2015/recursyve-nice-data-filter-kit.mjs +99 -63
- package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/fesm2020/recursyve-nice-data-filter-kit.mjs +102 -63
- package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/lib/api/filter.api.d.ts +2 -1
- package/lib/components/base-list/base-list.component.d.ts +3 -1
- package/lib/components/base-list/directives/base-list-directives.module.d.ts +2 -1
- package/lib/components/base-list/directives/base-list-empty-search-result-state.directive.d.ts +8 -0
- package/lib/components/base-list/models/icons.model.d.ts +4 -0
- package/lib/components/base-list/public-api.d.ts +1 -0
- package/lib/components/base-list/store/base-list.query.d.ts +1 -0
- package/lib/components/query-builder/pipes/filter-group-icon.pipe.d.ts +2 -1
- package/lib/components/query-builder/providers/filter-group.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { plainToInstance } from "class-transformer";
|
|
2
|
+
import { map } from "rxjs/operators";
|
|
1
3
|
import { QueryParamsUtils } from "../utils/query-params.utils";
|
|
2
4
|
export class NiceFilterApi {
|
|
3
5
|
constructor(filterApiUrl, path, http) {
|
|
@@ -48,45 +50,50 @@ export class NiceFilterApi {
|
|
|
48
50
|
return [routeOfQueryParams ?? "", query];
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
|
-
export
|
|
52
|
-
return
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
downloadData(type, queryModel) {
|
|
60
|
-
return this.post(`download/${type}`, queryModel, { responseType: "blob" });
|
|
61
|
-
}
|
|
62
|
-
getPrintableHtml(queryModel) {
|
|
63
|
-
return this.post(`download/html`, queryModel, { responseType: "text" });
|
|
64
|
-
}
|
|
65
|
-
getFilterConfig(option = {}) {
|
|
66
|
-
return this.get("filter/config", option);
|
|
67
|
-
}
|
|
68
|
-
searchFilterValue(id, value) {
|
|
69
|
-
if (value === undefined) {
|
|
70
|
-
value = "";
|
|
53
|
+
export const mixinNiceFilterApi = (model) => {
|
|
54
|
+
return (base) => {
|
|
55
|
+
return class extends base {
|
|
56
|
+
filter(queryModel, option = {}) {
|
|
57
|
+
return this.post("filter", queryModel, option).pipe(map(x => model ? ({
|
|
58
|
+
...x,
|
|
59
|
+
values: plainToInstance(model, x.values)
|
|
60
|
+
}) : x));
|
|
71
61
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
62
|
+
filterCount(queryModel) {
|
|
63
|
+
return this.post("filter-count", queryModel);
|
|
64
|
+
}
|
|
65
|
+
downloadData(type, queryModel) {
|
|
66
|
+
return this.post(`download/${type}`, queryModel, { responseType: "blob" });
|
|
67
|
+
}
|
|
68
|
+
getPrintableHtml(queryModel) {
|
|
69
|
+
return this.post(`download/html`, queryModel, { responseType: "text" });
|
|
70
|
+
}
|
|
71
|
+
getFilterConfig(option = {}) {
|
|
72
|
+
return this.get("filter/config", option);
|
|
73
|
+
}
|
|
74
|
+
searchFilterValue(id, value) {
|
|
75
|
+
if (value === undefined) {
|
|
76
|
+
value = "";
|
|
84
77
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
78
|
+
return this.get("filter/config/value", {
|
|
79
|
+
params: {
|
|
80
|
+
id,
|
|
81
|
+
value
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
searchFilterResourceValue(id, resourceId) {
|
|
86
|
+
return this.get("filter/config/id", {
|
|
87
|
+
params: {
|
|
88
|
+
id,
|
|
89
|
+
resourceId
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
constructor(...args) {
|
|
94
|
+
super(...args);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
90
97
|
};
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvYXBpL2ZpbHRlci5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUE0Qi9ELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQW9CLFlBQW9CLEVBQVUsSUFBWSxFQUFZLElBQWdCO1FBQXRFLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFZLFNBQUksR0FBSixJQUFJLENBQVk7SUFDMUYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUE0QixFQUFFLFNBQTBCLEVBQUU7UUFDcEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBdUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVNLFdBQVcsQ0FBQyxVQUE0QjtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLFlBQVksQ0FBQyxJQUFZLEVBQUUsVUFBNEI7UUFDMUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsVUFBNEI7UUFDaEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLFVB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QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQTZCLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBRU0saUJBQWlCLENBQUMsRUFBVSxFQUFFLEtBQWE7WUFDOUMsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO2dCQUNyQixLQUFLLEdBQUcsRUFBRSxDQUFDO2FBQ2Q7WUFFRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQXNCLHFCQUFxQixFQUFFO2dCQUN4RCxNQUFNLEVBQUU7b0JBQ0osRUFBRTtvQkFDRixLQUFLO2lCQUNSO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVNLHlCQUF5QixDQUFDLEVBQVUsRUFBRSxVQUFrQjtZQUMzRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQW9CLGtCQUFrQixFQUFFO2dCQUNuRCxNQUFNLEVBQUU7b0JBQ0osRUFBRTtvQkFDRixVQUFVO2lCQUNiO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELFlBQVksR0FBRyxJQUFXO1lBQ3RCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBDb250ZXh0LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSHR0cE9wdGlvbnMsIE5pY2VIdHRwRXhjZXB0aW9uRmFjdG9yeSB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnN0cnVjdG9yLCBDb25zdHJ1Y3RvciB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyL2xpYi90eXBlcy9jb25zdHJ1Y3RvclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1xuICAgIEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCxcbiAgICBGaWx0ZXJRdWVyeU1vZGVsLFxuICAgIEZpbHRlclJlc3VsdE1vZGVsLFxuICAgIFNlbGVjdEZpbHRlclZhbHVlXG59IGZyb20gXCIuLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBRdWVyeVBhcmFtc1V0aWxzIH0gZnJvbSBcIi4uL3V0aWxzL3F1ZXJ5LXBhcmFtcy51dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VIdHRwT3B0aW9ucyB7XG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzIHwge1xuICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGNvbnRleHQ/OiBIdHRwQ29udGV4dDtcbiAgICBwYXJhbXM/OiBIdHRwUGFyYW1zIHwge1xuICAgICAgICBbcGFyYW06IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBSZWFkb25seUFycmF5PHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+O1xuICAgIH07XG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xuICAgIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlQYXJhbXMge1xuICAgIFtwYXJhbTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VGaWx0ZXJBcGlEZWZpbml0aW9uIHtcbiAgICBmaWx0ZXIocXVlcnlNb2RlbDogRmlsdGVyUXVlcnlNb2RlbCwgb3B0aW9uPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPEZpbHRlclJlc3VsdE1vZGVsPjtcbiAgICBmaWx0ZXJDb3VudChxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAgIGRvd25sb2FkRGF0YSh0eXBlOiBzdHJpbmcsIHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPEJsb2I+O1xuICAgIGdldFByaW50YWJsZUh0bWwocXVlcnlNb2RlbDogRmlsdGVyUXVlcnlNb2RlbCk6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBnZXRGaWx0ZXJDb25maWcob3B0aW9uPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbFtdPjtcbiAgICBzZWFyY2hGaWx0ZXJWYWx1ZShpZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTZWxlY3RGaWx0ZXJWYWx1ZVtdPjtcbiAgICBzZWFyY2hGaWx0ZXJSZXNvdXJjZVZhbHVlKGlkOiBzdHJpbmcsIHJlc291cmNlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWU+O1xufVxuXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlckFwaTxUPiBpbXBsZW1lbnRzIE5pY2VGaWx0ZXJBcGlEZWZpbml0aW9uIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbHRlckFwaVVybDogc3RyaW5nLCBwcml2YXRlIHBhdGg6IHN0cmluZywgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwsIG9wdGlvbjogTmljZUh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEZpbHRlclJlc3VsdE1vZGVsPFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxGaWx0ZXJSZXN1bHRNb2RlbDxUPj4odGhpcy51cmwoXCJmaWx0ZXJcIiksIHF1ZXJ5TW9kZWwsIG9wdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlckNvdW50KHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVtYmVyPih0aGlzLnVybChcImZpbHRlci1jb3VudFwiKSwgcXVlcnlNb2RlbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRvd25sb2FkRGF0YSh0eXBlOiBzdHJpbmcsIHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMudXJsKGBkb3dubG9hZC8ke3R5cGV9YCksIHF1ZXJ5TW9kZWwsIHsgcmVzcG9uc2VUeXBlOiBcImJsb2JcIiB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UHJpbnRhYmxlSHRtbChxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMudXJsKGBkb3dubG9hZC9odG1sYCksIHF1ZXJ5TW9kZWwsIHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmlsdGVyQ29uZmlnKG9wdGlvbjogTmljZUh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbFtdPih0aGlzLnVybChcImZpbHRlci9jb25maWdcIiksIG9wdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaEZpbHRlclZhbHVlKGlkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlW10+IHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHZhbHVlID0gXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNlbGVjdEZpbHRlclZhbHVlW10+KHRoaXMudXJsKGBmaWx0ZXIvY29uZmlnL3ZhbHVlP2lkPSR7aWR9JnZhbHVlPSR7dmFsdWV9YCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2hGaWx0ZXJSZXNvdXJjZVZhbHVlKGlkOiBzdHJpbmcsIHJlc291cmNlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2VsZWN0RmlsdGVyVmFsdWU+KHRoaXMudXJsKGBmaWx0ZXIvY29uZmlnL2lkP2lkPSR7aWR9JnJlc291cmNlSWQ9JHtyZXNvdXJjZUlkfWApKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXJsKHJvdXRlPzogc3RyaW5nLCBxdWVyeVBhcmFtcz86IG9iamVjdCk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgdXJsKHF1ZXJ5UGFyYW1zOiBvYmplY3QpOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHVybCguLi5hcmdzOiBbc3RyaW5nIHwgb2JqZWN0LCBvYmplY3Q/XSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IFtyb3V0ZSwgcXVlcnlQYXJhbXNdID0gdGhpcy50cmFuc2Zvcm1VcmxBcmdzKGFyZ3MpO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBxdWVyeVBhcmFtcyA/IGA/JHtRdWVyeVBhcmFtc1V0aWxzLmZyb21PYmplY3QocXVlcnlQYXJhbXMpfWAgOiBcIlwiO1xuICAgICAgICBpZiAocm91dGUpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLmZpbHRlckFwaVVybH0vJHt0aGlzLnBhdGh9LyR7cm91dGV9JHtwYXJhbXN9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmZpbHRlckFwaVVybH0vJHt0aGlzLnBhdGh9JHtwYXJhbXN9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyYW5zZm9ybVVybEFyZ3MoYXJnczogW3N0cmluZyB8IG9iamVjdCwgb2JqZWN0P10pOiBbcm91dGU6IHN0cmluZywgcXVlcnlQYXJhbXM/OiBvYmplY3RdIHtcbiAgICAgICAgY29uc3QgW3JvdXRlT2ZRdWVyeVBhcmFtcywgcXVlcnldID0gYXJncztcbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJvdXRlT2ZRdWVyeVBhcmFtcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBbcm91dGVPZlF1ZXJ5UGFyYW1zXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIFtcIlwiLCByb3V0ZU9mUXVlcnlQYXJhbXNdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFsocm91dGVPZlF1ZXJ5UGFyYW1zIGFzIHN0cmluZykgPz8gXCJcIiwgcXVlcnldO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBIYXNOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbiB7XG4gICAgZXhjZXB0aW9uRmFjdG9yeTogTmljZUh0dHBFeGNlcHRpb25GYWN0b3J5O1xuICAgIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQ7XG4gICAgYXBpVXJsOiBzdHJpbmc7XG4gICAgcGF0aDogc3RyaW5nO1xuXG4gICAgdXJsKHJvdXRlPzogc3RyaW5nKTogc3RyaW5nO1xuICAgIGRlbGV0ZTxUPihyb3V0ZT86IHN0cmluZywgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxUPjtcbiAgICBnZXQ8VD4ocm91dGU/OiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8VD47XG4gICAgcGF0Y2g8VD4ocm91dGU/OiBzdHJpbmcsIGJvZHk/OiBhbnksIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8VD47XG4gICAgcG9zdDxUPihyb3V0ZT86IHN0cmluZywgYm9keT86IGFueSwgb3B0aW9ucz86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxUPjtcbiAgICBwdXQ8VD4ocm91dGU/OiBzdHJpbmcsIGJvZHk/OiBhbnksIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8VD47XG59XG5cbmV4cG9ydCB0eXBlIE5pY2VGaWx0ZXJBcGlEZWZpbml0aW9uQ3RvciA9IENvbnN0cnVjdG9yPE5pY2VGaWx0ZXJBcGlEZWZpbml0aW9uPiAmIEFic3RyYWN0Q29uc3RydWN0b3I8TmljZUZpbHRlckFwaURlZmluaXRpb24+O1xuXG5leHBvcnQgZnVuY3Rpb24gbWl4aW5OaWNlRmlsdGVyQXBpPEMgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPEhhc05pY2VGaWx0ZXJBcGlEZWZpbml0aW9uPj4oXG4gICAgYmFzZTogQyxcbik6IE5pY2VGaWx0ZXJBcGlEZWZpbml0aW9uQ3RvciAmIEM7XG5leHBvcnQgZnVuY3Rpb24gbWl4aW5OaWNlRmlsdGVyQXBpPEMgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxIYXNOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbj4+KFxuICAgIGJhc2U6IEMsXG4pOiBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbkN0b3IgJiBDIHtcbiAgICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBiYXNlIHtcbiAgICAgICAgcHVibGljIGZpbHRlcihxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsLCBvcHRpb246IE5pY2VIdHRwT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxGaWx0ZXJSZXN1bHRNb2RlbD4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9zdDxGaWx0ZXJSZXN1bHRNb2RlbD4oXCJmaWx0ZXJcIiwgcXVlcnlNb2RlbCwgb3B0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBmaWx0ZXJDb3VudChxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBvc3Q8bnVtYmVyPihcImZpbHRlci1jb3VudFwiLCBxdWVyeU1vZGVsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBkb3dubG9hZERhdGEodHlwZTogc3RyaW5nLCBxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wb3N0KGBkb3dubG9hZC8ke3R5cGV9YCwgcXVlcnlNb2RlbCwgeyByZXNwb25zZVR5cGU6IFwiYmxvYlwiIH0gYXMgYW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBnZXRQcmludGFibGVIdG1sKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9zdChgZG93bmxvYWQvaHRtbGAsIHF1ZXJ5TW9kZWwsIHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiB9IGFzIGFueSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgZ2V0RmlsdGVyQ29uZmlnKG9wdGlvbjogTmljZUh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbFtdPiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQ8RmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW10+KFwiZmlsdGVyL2NvbmZpZ1wiLCBvcHRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHNlYXJjaEZpbHRlclZhbHVlKGlkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlW10+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBcIlwiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQ8U2VsZWN0RmlsdGVyVmFsdWVbXT4oXCJmaWx0ZXIvY29uZmlnL3ZhbHVlXCIsIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBwdWJsaWMgc2VhcmNoRmlsdGVyUmVzb3VyY2VWYWx1ZShpZDogc3RyaW5nLCByZXNvdXJjZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlPiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQ8U2VsZWN0RmlsdGVyVmFsdWU+KFwiZmlsdGVyL2NvbmZpZy9pZFwiLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgICByZXNvdXJjZUlkXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuIl19
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvYXBpL2ZpbHRlci5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9yQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQTRCL0QsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBb0IsWUFBb0IsRUFBVSxJQUFZLEVBQVksSUFBZ0I7UUFBdEUsaUJBQVksR0FBWixZQUFZLENBQVE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVksU0FBSSxHQUFKLElBQUksQ0FBWTtJQUMxRixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQTRCLEVBQUUsU0FBMEIsRUFBRTtRQUNwRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF1QixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sV0FBVyxDQUFDLFVBQTRCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVksRUFBRSxVQUE0QjtRQUMxRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSxnQkFBZ0IsQ0FB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LCBIdHRwQ29udGV4dCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSHR0cE9wdGlvbnMsIE5pY2VIdHRwRXhjZXB0aW9uRmFjdG9yeSB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnN0cnVjdG9yLCBDb25zdHJ1Y3RvciB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyL2xpYi90eXBlcy9jb25zdHJ1Y3RvclwiO1xuaW1wb3J0IHsgcGxhaW5Ub0luc3RhbmNlIH0gZnJvbSBcImNsYXNzLXRyYW5zZm9ybWVyXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtcbiAgICBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwsXG4gICAgRmlsdGVyUXVlcnlNb2RlbCxcbiAgICBGaWx0ZXJSZXN1bHRNb2RlbCxcbiAgICBTZWxlY3RGaWx0ZXJWYWx1ZVxufSBmcm9tIFwiLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgUXVlcnlQYXJhbXNVdGlscyB9IGZyb20gXCIuLi91dGlscy9xdWVyeS1wYXJhbXMudXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOaWNlSHR0cE9wdGlvbnMge1xuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyB8IHtcbiAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgfTtcbiAgICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG4gICAgcGFyYW1zPzogSHR0cFBhcmFtcyB8IHtcbiAgICAgICAgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgUmVhZG9ubHlBcnJheTxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPjtcbiAgICB9O1xuICAgIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbjtcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UGFyYW1zIHtcbiAgICBbcGFyYW06IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbiB7XG4gICAgZmlsdGVyKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwsIG9wdGlvbj86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxGaWx0ZXJSZXN1bHRNb2RlbD47XG4gICAgZmlsdGVyQ291bnQocXVlcnlNb2RlbDogRmlsdGVyUXVlcnlNb2RlbCk6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBkb3dubG9hZERhdGEodHlwZTogc3RyaW5nLCBxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxCbG9iPjtcbiAgICBnZXRQcmludGFibGVIdG1sKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgZ2V0RmlsdGVyQ29uZmlnKG9wdGlvbj86IEh0dHBPcHRpb25zKTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT47XG4gICAgc2VhcmNoRmlsdGVyVmFsdWUoaWQ6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWVbXT47XG4gICAgc2VhcmNoRmlsdGVyUmVzb3VyY2VWYWx1ZShpZDogc3RyaW5nLCByZXNvdXJjZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlPjtcbn1cblxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJBcGk8VD4gaW1wbGVtZW50cyBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbiB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmaWx0ZXJBcGlVcmw6IHN0cmluZywgcHJpdmF0ZSBwYXRoOiBzdHJpbmcsIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlcihxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsLCBvcHRpb246IE5pY2VIdHRwT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxGaWx0ZXJSZXN1bHRNb2RlbDxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RmlsdGVyUmVzdWx0TW9kZWw8VD4+KHRoaXMudXJsKFwiZmlsdGVyXCIpLCBxdWVyeU1vZGVsLCBvcHRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWx0ZXJDb3VudChxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bWJlcj4odGhpcy51cmwoXCJmaWx0ZXItY291bnRcIiksIHF1ZXJ5TW9kZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkb3dubG9hZERhdGEodHlwZTogc3RyaW5nLCBxdWVyeU1vZGVsOiBGaWx0ZXJRdWVyeU1vZGVsKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnVybChgZG93bmxvYWQvJHt0eXBlfWApLCBxdWVyeU1vZGVsLCB7IHJlc3BvbnNlVHlwZTogXCJibG9iXCIgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByaW50YWJsZUh0bWwocXVlcnlNb2RlbDogRmlsdGVyUXVlcnlNb2RlbCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLnVybChgZG93bmxvYWQvaHRtbGApLCBxdWVyeU1vZGVsLCB7IHJlc3BvbnNlVHlwZTogXCJ0ZXh0XCIgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpbHRlckNvbmZpZyhvcHRpb246IE5pY2VIdHRwT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4odGhpcy51cmwoXCJmaWx0ZXIvY29uZmlnXCIpLCBvcHRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2hGaWx0ZXJWYWx1ZShpZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTZWxlY3RGaWx0ZXJWYWx1ZVtdPiB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTZWxlY3RGaWx0ZXJWYWx1ZVtdPih0aGlzLnVybChgZmlsdGVyL2NvbmZpZy92YWx1ZT9pZD0ke2lkfSZ2YWx1ZT0ke3ZhbHVlfWApKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoRmlsdGVyUmVzb3VyY2VWYWx1ZShpZDogc3RyaW5nLCByZXNvdXJjZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNlbGVjdEZpbHRlclZhbHVlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNlbGVjdEZpbHRlclZhbHVlPih0aGlzLnVybChgZmlsdGVyL2NvbmZpZy9pZD9pZD0ke2lkfSZyZXNvdXJjZUlkPSR7cmVzb3VyY2VJZH1gKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVybChyb3V0ZT86IHN0cmluZywgcXVlcnlQYXJhbXM/OiBvYmplY3QpOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHVybChxdWVyeVBhcmFtczogb2JqZWN0KTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCB1cmwoLi4uYXJnczogW3N0cmluZyB8IG9iamVjdCwgb2JqZWN0P10pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBbcm91dGUsIHF1ZXJ5UGFyYW1zXSA9IHRoaXMudHJhbnNmb3JtVXJsQXJncyhhcmdzKTtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gcXVlcnlQYXJhbXMgPyBgPyR7UXVlcnlQYXJhbXNVdGlscy5mcm9tT2JqZWN0KHF1ZXJ5UGFyYW1zKX1gIDogXCJcIjtcbiAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5maWx0ZXJBcGlVcmx9LyR7dGhpcy5wYXRofS8ke3JvdXRlfSR7cGFyYW1zfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dGhpcy5maWx0ZXJBcGlVcmx9LyR7dGhpcy5wYXRofSR7cGFyYW1zfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0cmFuc2Zvcm1VcmxBcmdzKGFyZ3M6IFtzdHJpbmcgfCBvYmplY3QsIG9iamVjdD9dKTogW3JvdXRlOiBzdHJpbmcsIHF1ZXJ5UGFyYW1zPzogb2JqZWN0XSB7XG4gICAgICAgIGNvbnN0IFtyb3V0ZU9mUXVlcnlQYXJhbXMsIHF1ZXJ5XSA9IGFyZ3M7XG4gICAgICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3V0ZU9mUXVlcnlQYXJhbXMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW3JvdXRlT2ZRdWVyeVBhcmFtc107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBbXCJcIiwgcm91dGVPZlF1ZXJ5UGFyYW1zXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbKHJvdXRlT2ZRdWVyeVBhcmFtcyBhcyBzdHJpbmcpID8/IFwiXCIsIHF1ZXJ5XTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzTmljZUZpbHRlckFwaURlZmluaXRpb24ge1xuICAgIGV4Y2VwdGlvbkZhY3Rvcnk6IE5pY2VIdHRwRXhjZXB0aW9uRmFjdG9yeTtcbiAgICBodHRwQ2xpZW50OiBIdHRwQ2xpZW50O1xuICAgIGFwaVVybDogc3RyaW5nO1xuICAgIHBhdGg6IHN0cmluZztcblxuICAgIHVybChyb3V0ZT86IHN0cmluZyk6IHN0cmluZztcbiAgICBkZWxldGU8VD4ocm91dGU/OiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8VD47XG4gICAgZ2V0PFQ+KHJvdXRlPzogc3RyaW5nLCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+O1xuICAgIHBhdGNoPFQ+KHJvdXRlPzogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+O1xuICAgIHBvc3Q8VD4ocm91dGU/OiBzdHJpbmcsIGJvZHk/OiBhbnksIG9wdGlvbnM/OiBIdHRwT3B0aW9ucyk6IE9ic2VydmFibGU8VD47XG4gICAgcHV0PFQ+KHJvdXRlPzogc3RyaW5nLCBib2R5PzogYW55LCBvcHRpb25zPzogSHR0cE9wdGlvbnMpOiBPYnNlcnZhYmxlPFQ+O1xufVxuXG5leHBvcnQgdHlwZSBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbkN0b3IgPSBDb25zdHJ1Y3RvcjxOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbj4gJiBBYnN0cmFjdENvbnN0cnVjdG9yPE5pY2VGaWx0ZXJBcGlEZWZpbml0aW9uPjtcblxuZXhwb3J0IGNvbnN0IG1peGluTmljZUZpbHRlckFwaSA9IDxUPihtb2RlbD86IFR5cGU8VD4pID0+IHtcbiAgICByZXR1cm4gPEMgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxIYXNOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbj4+KGJhc2U6IEMpOiBOaWNlRmlsdGVyQXBpRGVmaW5pdGlvbkN0b3IgJiBDID0+IHtcbiAgICAgICAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgYmFzZSB7XG4gICAgICAgICAgICBwdWJsaWMgZmlsdGVyKHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwsIG9wdGlvbjogTmljZUh0dHBPcHRpb25zID0ge30pOiBPYnNlcnZhYmxlPEZpbHRlclJlc3VsdE1vZGVsPFQ+PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9zdDxGaWx0ZXJSZXN1bHRNb2RlbD4oXCJmaWx0ZXJcIiwgcXVlcnlNb2RlbCwgb3B0aW9uKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAoeCA9PiBtb2RlbCA/ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi54LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBwbGFpblRvSW5zdGFuY2UobW9kZWwsIHgudmFsdWVzKVxuICAgICAgICAgICAgICAgICAgICB9KSA6IHgpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIGZpbHRlckNvdW50KHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnBvc3Q8bnVtYmVyPihcImZpbHRlci1jb3VudFwiLCBxdWVyeU1vZGVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIGRvd25sb2FkRGF0YSh0eXBlOiBzdHJpbmcsIHF1ZXJ5TW9kZWw6IEZpbHRlclF1ZXJ5TW9kZWwpOiBPYnNlcnZhYmxlPEJsb2I+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wb3N0KGBkb3dubG9hZC8ke3R5cGV9YCwgcXVlcnlNb2RlbCwgeyByZXNwb25zZVR5cGU6IFwiYmxvYlwiIH0gYXMgYW55KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIGdldFByaW50YWJsZUh0bWwocXVlcnlNb2RlbDogRmlsdGVyUXVlcnlNb2RlbCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9zdChgZG93bmxvYWQvaHRtbGAsIHF1ZXJ5TW9kZWwsIHsgcmVzcG9uc2VUeXBlOiBcInRleHRcIiB9IGFzIGFueSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHB1YmxpYyBnZXRGaWx0ZXJDb25maWcob3B0aW9uOiBOaWNlSHR0cE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8RmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW10+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQ8RmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW10+KFwiZmlsdGVyL2NvbmZpZ1wiLCBvcHRpb24pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwdWJsaWMgc2VhcmNoRmlsdGVyVmFsdWUoaWQ6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IE9ic2VydmFibGU8U2VsZWN0RmlsdGVyVmFsdWVbXT4ge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gXCJcIjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXQ8U2VsZWN0RmlsdGVyVmFsdWVbXT4oXCJmaWx0ZXIvY29uZmlnL3ZhbHVlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVibGljIHNlYXJjaEZpbHRlclJlc291cmNlVmFsdWUoaWQ6IHN0cmluZywgcmVzb3VyY2VJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTZWxlY3RGaWx0ZXJWYWx1ZT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldDxTZWxlY3RGaWx0ZXJWYWx1ZT4oXCJmaWx0ZXIvY29uZmlnL2lkXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlSWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICAgICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG59O1xuIl19
|