@plumile/router 0.1.21 → 0.1.23
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/README.md +92 -26
- package/lib/esm/routing/createRouter.d.ts.map +1 -1
- package/lib/esm/routing/createRouter.js +13 -32
- package/lib/esm/routing/useFilters.d.ts +2 -15
- package/lib/esm/routing/useFilters.d.ts.map +1 -1
- package/lib/esm/routing/useFilters.js +13 -34
- package/lib/esm/type-tests/useFilters-typed.test-d.d.ts +2 -0
- package/lib/esm/type-tests/useFilters-typed.test-d.d.ts.map +1 -0
- package/lib/esm/type-tests/useFilters-typed.test-d.js +33 -0
- package/lib/esm/types.d.ts +41 -17
- package/lib/esm/types.d.ts.map +1 -1
- package/lib/esm/types.js +1 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/routing/createRouter.d.ts.map +1 -1
- package/lib/types/routing/useFilters.d.ts +2 -15
- package/lib/types/routing/useFilters.d.ts.map +1 -1
- package/lib/types/type-tests/useFilters-typed.test-d.d.ts +2 -0
- package/lib/types/type-tests/useFilters-typed.test-d.d.ts.map +1 -0
- package/lib/types/types.d.ts +41 -17
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilters.d.ts","sourceRoot":"","sources":["../../../src/routing/useFilters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useFilters.d.ts","sourceRoot":"","sources":["../../../src/routing/useFilters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACb,MAAM,aAAa,CAAC;AA8BrB,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,YAAY,EACvD,MAAM,EAAE,CAAC,GACR,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAoD1C"}
|
|
@@ -20,64 +20,43 @@ function shallowEqual(a, b) {
|
|
|
20
20
|
return false;
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
|
-
export default function useFilters() {
|
|
23
|
+
export default function useFilters(schema) {
|
|
24
24
|
const ctx = useContext(RoutingContext);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const collected = [];
|
|
31
|
-
for (const r of route.route.routes) {
|
|
32
|
-
const maybe = r.querySchema;
|
|
33
|
-
if (maybe != null && typeof maybe === 'object') {
|
|
34
|
-
collected.push(maybe);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
if (collected.length === 0)
|
|
38
|
-
return undefined;
|
|
39
|
-
return collected.at(-1);
|
|
40
|
-
}, [route]);
|
|
25
|
+
if (ctx == null) {
|
|
26
|
+
throw new Error('useFilters must be used within a RoutingContext.Provider');
|
|
27
|
+
}
|
|
28
|
+
const entry = ctx.get();
|
|
29
|
+
const { query } = entry;
|
|
41
30
|
const currentFilters = useMemo(() => {
|
|
42
|
-
return entry
|
|
43
|
-
}, [entry
|
|
44
|
-
const
|
|
31
|
+
return (entry.filters ?? {});
|
|
32
|
+
}, [entry.filters]);
|
|
33
|
+
const baseCtx = ctx;
|
|
45
34
|
const actions = useMemo(() => {
|
|
46
35
|
function navigateWith(nextFilters, replace) {
|
|
47
|
-
if (ctx == null)
|
|
48
|
-
return;
|
|
49
36
|
if (shallowEqual(currentFilters, nextFilters))
|
|
50
37
|
return;
|
|
51
|
-
|
|
38
|
+
baseCtx.navigate({ query: query, filters: nextFilters, replace });
|
|
52
39
|
}
|
|
53
40
|
return {
|
|
54
41
|
set(field, operator, value, opts) {
|
|
55
|
-
|
|
56
|
-
return;
|
|
57
|
-
const next = setFilter(currentFilters, querySchema, field, operator, value);
|
|
42
|
+
const next = setFilter(currentFilters, schema, field, operator, value);
|
|
58
43
|
navigateWith(next, opts?.replace);
|
|
59
44
|
},
|
|
60
45
|
remove(field, operator, opts) {
|
|
61
|
-
if (querySchema == null)
|
|
62
|
-
return;
|
|
63
46
|
const next = removeFilterOp(currentFilters, field, operator);
|
|
64
47
|
navigateWith(next, opts?.replace);
|
|
65
48
|
},
|
|
66
49
|
merge(patch, opts) {
|
|
67
|
-
if (querySchema == null)
|
|
68
|
-
return;
|
|
69
50
|
const next = mergeFilters(currentFilters, patch);
|
|
70
51
|
navigateWith(next, opts?.replace);
|
|
71
52
|
},
|
|
72
53
|
clear(opts) {
|
|
73
|
-
if (querySchema == null)
|
|
74
|
-
return;
|
|
75
54
|
if (isEmpty(currentFilters))
|
|
76
55
|
return;
|
|
77
56
|
navigateWith({}, opts?.replace);
|
|
78
57
|
},
|
|
79
58
|
};
|
|
80
|
-
}, [
|
|
59
|
+
}, [baseCtx, currentFilters, schema, query]);
|
|
81
60
|
return [currentFilters, actions];
|
|
82
61
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yb3V0aW5nL3VzZUZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDNUMsT0FBTyxjQUFjLE1BQU0scUJBQXFCLENBQUM7QUFNakQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLElBQUksY0FBYyxFQUM5QixZQUFZLEVBQ1osT0FBTyxHQUNSLE1BQU0sdUJBQXVCLENBQUM7QUFHL0IsU0FBUyxZQUFZLENBQUMsQ0FBVSxFQUFFLENBQVU7SUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3pCLElBQ0UsT0FBTyxDQUFDLEtBQUssUUFBUTtRQUNyQixDQUFDLEtBQUssSUFBSTtRQUNWLE9BQU8sQ0FBQyxLQUFLLFFBQVE7UUFDckIsQ0FBQyxLQUFLLElBQUksRUFDVixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBNEIsQ0FBQztJQUMxQyxNQUFNLElBQUksR0FBRyxDQUE0QixDQUFDO0lBQzFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTTtRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzVELEtBQUssTUFBTSxDQUFDLElBQUksS0FBSztRQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztJQUM3RCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFLRCxNQUFNLENBQUMsT0FBTyxVQUFVLFVBQVUsQ0FDaEMsTUFBUztJQUVULE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN4QixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDbEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFvQixDQUFDO0lBQ2xELENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUVwQixNQUFNLE9BQU8sR0FBMEIsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUVsRCxTQUFTLFlBQVksQ0FBQyxXQUE0QixFQUFFLE9BQWlCO1lBQ25FLElBQUksWUFBWSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7Z0JBQUUsT0FBTztZQUN0RCxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQVksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUNELE9BQU87WUFDTCxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSTtnQkFDOUIsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUNwQixjQUFxQixFQUNyQixNQUFhLEVBQ2IsS0FBWSxFQUNaLFFBQWUsRUFDZixLQUFZLENBQ00sQ0FBQztnQkFDckIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUk7Z0JBQzFCLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FDekIsY0FBcUIsRUFDckIsS0FBWSxFQUNaLFFBQWUsQ0FDRyxDQUFDO2dCQUNyQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJO2dCQUNmLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FDdkIsY0FBcUIsRUFDckIsS0FBWSxDQUNNLENBQUM7Z0JBQ3JCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxLQUFLLENBQUMsSUFBSTtnQkFDUixJQUFJLE9BQU8sQ0FBQyxjQUFxQixDQUFDO29CQUFFLE9BQU87Z0JBQzNDLFlBQVksQ0FBQyxFQUFxQixFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNyRCxDQUFDO1NBQ3VCLENBQUM7SUFDN0IsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJvdXRpbmdDb250ZXh0IGZyb20gJy4vUm91dGluZ0NvbnRleHQuanMnO1xuaW1wb3J0IHR5cGUge1xuICBGaWx0ZXJTY2hlbWEsXG4gIFR5cGVkRmlsdGVyQWN0aW9ucyxcbiAgSW5mZXJGaWx0ZXJzLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQge1xuICBzZXRGaWx0ZXIsXG4gIHJlbW92ZUZpbHRlciBhcyByZW1vdmVGaWx0ZXJPcCxcbiAgbWVyZ2VGaWx0ZXJzLFxuICBpc0VtcHR5LFxufSBmcm9tICdAcGx1bWlsZS9maWx0ZXItcXVlcnknO1xuXG4vKiogSW50ZXJuYWwgaGVscGVyOiBzaGFsbG93IGVxdWFsaXR5ICovXG5mdW5jdGlvbiBzaGFsbG93RXF1YWwoYTogdW5rbm93biwgYjogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAoYSA9PT0gYikgcmV0dXJuIHRydWU7XG4gIGlmIChcbiAgICB0eXBlb2YgYSAhPT0gJ29iamVjdCcgfHxcbiAgICBhID09PSBudWxsIHx8XG4gICAgdHlwZW9mIGIgIT09ICdvYmplY3QnIHx8XG4gICAgYiA9PT0gbnVsbFxuICApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgYU9iaiA9IGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGNvbnN0IGJPYmogPSBiIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjb25zdCBhS2V5cyA9IE9iamVjdC5rZXlzKGFPYmopO1xuICBpZiAoYUtleXMubGVuZ3RoICE9PSBPYmplY3Qua2V5cyhiT2JqKS5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgZm9yIChjb25zdCBrIG9mIGFLZXlzKSBpZiAoYU9ialtrXSAhPT0gYk9ialtrXSkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqXG4gKiBTdHJvbmdseSB0eXBlZCBmaWx0ZXJzIGhvb2suIFNjaGVtYSBhcmd1bWVudCBpcyBtYW5kYXRvcnk7IGR5bmFtaWMgZGlzY292ZXJ5IHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUZpbHRlcnM8UyBleHRlbmRzIEZpbHRlclNjaGVtYT4oXG4gIHNjaGVtYTogUyxcbik6IFtJbmZlckZpbHRlcnM8Uz4sIFR5cGVkRmlsdGVyQWN0aW9uczxTPl0ge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KFJvdXRpbmdDb250ZXh0KTtcbiAgaWYgKGN0eCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VGaWx0ZXJzIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBSb3V0aW5nQ29udGV4dC5Qcm92aWRlcicpO1xuICB9XG4gIGNvbnN0IGVudHJ5ID0gY3R4LmdldCgpO1xuICBjb25zdCB7IHF1ZXJ5IH0gPSBlbnRyeTsgLy8gc3RpbGwgcGFzc2VkIGZvciBub3cgKGxlZ2FjeSBuYXZpZ2F0ZSBzaWduYXR1cmUpXG4gIGNvbnN0IGN1cnJlbnRGaWx0ZXJzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChlbnRyeS5maWx0ZXJzID8/IHt9KSBhcyBJbmZlckZpbHRlcnM8Uz47XG4gIH0sIFtlbnRyeS5maWx0ZXJzXSk7XG4gIGNvbnN0IGJhc2VDdHggPSBjdHg7IC8vIG5vbi1udWxsIGFsaWFzIGZvciBjbG9zdXJlc1xuXG4gIGNvbnN0IGFjdGlvbnM6IFR5cGVkRmlsdGVyQWN0aW9uczxTPiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIC8qKiBOYXZpZ2F0ZSBvbmx5IGlmIHN0cnVjdHVyYWwgY2hhbmdlICovXG4gICAgZnVuY3Rpb24gbmF2aWdhdGVXaXRoKG5leHRGaWx0ZXJzOiBJbmZlckZpbHRlcnM8Uz4sIHJlcGxhY2U/OiBib29sZWFuKSB7XG4gICAgICBpZiAoc2hhbGxvd0VxdWFsKGN1cnJlbnRGaWx0ZXJzLCBuZXh0RmlsdGVycykpIHJldHVybjtcbiAgICAgIGJhc2VDdHgubmF2aWdhdGUoeyBxdWVyeTogcXVlcnkgYXMgYW55LCBmaWx0ZXJzOiBuZXh0RmlsdGVycywgcmVwbGFjZSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHNldChmaWVsZCwgb3BlcmF0b3IsIHZhbHVlLCBvcHRzKSB7XG4gICAgICAgIGNvbnN0IG5leHQgPSBzZXRGaWx0ZXIoXG4gICAgICAgICAgY3VycmVudEZpbHRlcnMgYXMgYW55LFxuICAgICAgICAgIHNjaGVtYSBhcyBhbnksXG4gICAgICAgICAgZmllbGQgYXMgYW55LFxuICAgICAgICAgIG9wZXJhdG9yIGFzIGFueSxcbiAgICAgICAgICB2YWx1ZSBhcyBhbnksXG4gICAgICAgICkgYXMgSW5mZXJGaWx0ZXJzPFM+O1xuICAgICAgICBuYXZpZ2F0ZVdpdGgobmV4dCwgb3B0cz8ucmVwbGFjZSk7XG4gICAgICB9LFxuICAgICAgcmVtb3ZlKGZpZWxkLCBvcGVyYXRvciwgb3B0cykge1xuICAgICAgICBjb25zdCBuZXh0ID0gcmVtb3ZlRmlsdGVyT3AoXG4gICAgICAgICAgY3VycmVudEZpbHRlcnMgYXMgYW55LFxuICAgICAgICAgIGZpZWxkIGFzIGFueSxcbiAgICAgICAgICBvcGVyYXRvciBhcyBhbnksXG4gICAgICAgICkgYXMgSW5mZXJGaWx0ZXJzPFM+O1xuICAgICAgICBuYXZpZ2F0ZVdpdGgobmV4dCwgb3B0cz8ucmVwbGFjZSk7XG4gICAgICB9LFxuICAgICAgbWVyZ2UocGF0Y2gsIG9wdHMpIHtcbiAgICAgICAgY29uc3QgbmV4dCA9IG1lcmdlRmlsdGVycyhcbiAgICAgICAgICBjdXJyZW50RmlsdGVycyBhcyBhbnksXG4gICAgICAgICAgcGF0Y2ggYXMgYW55LFxuICAgICAgICApIGFzIEluZmVyRmlsdGVyczxTPjtcbiAgICAgICAgbmF2aWdhdGVXaXRoKG5leHQsIG9wdHM/LnJlcGxhY2UpO1xuICAgICAgfSxcbiAgICAgIGNsZWFyKG9wdHMpIHtcbiAgICAgICAgaWYgKGlzRW1wdHkoY3VycmVudEZpbHRlcnMgYXMgYW55KSkgcmV0dXJuO1xuICAgICAgICBuYXZpZ2F0ZVdpdGgoe30gYXMgSW5mZXJGaWx0ZXJzPFM+LCBvcHRzPy5yZXBsYWNlKTtcbiAgICAgIH0sXG4gICAgfSBhcyBUeXBlZEZpbHRlckFjdGlvbnM8Uz47XG4gIH0sIFtiYXNlQ3R4LCBjdXJyZW50RmlsdGVycywgc2NoZW1hLCBxdWVyeV0pO1xuXG4gIHJldHVybiBbY3VycmVudEZpbHRlcnMsIGFjdGlvbnNdO1xufVxuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFilters-typed.test-d.d.ts","sourceRoot":"","sources":["../../../src/type-tests/useFilters-typed.test-d.ts"],"names":[],"mappings":"AAyEA,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { defineSchema, numberField, stringField } from '@plumile/filter-query';
|
|
2
|
+
function expectType(_v) { }
|
|
3
|
+
const schema = defineSchema({
|
|
4
|
+
price: numberField(['gt', 'in', 'between', 'eq']),
|
|
5
|
+
title: stringField(['contains', 'in', 'eq']),
|
|
6
|
+
});
|
|
7
|
+
expectType(filters.price?.gt);
|
|
8
|
+
expectType(filters.price?.in);
|
|
9
|
+
expectType(filters.price?.between);
|
|
10
|
+
expectType(filters.title?.contains);
|
|
11
|
+
expectType(filters.title?.in);
|
|
12
|
+
expectType(filters.title?.eq);
|
|
13
|
+
actions.set('price', 'gt', 10);
|
|
14
|
+
actions.set('price', 'in', [1, 2]);
|
|
15
|
+
actions.set('price', 'between', [1, 5]);
|
|
16
|
+
actions.set('title', 'contains', 'foo');
|
|
17
|
+
actions.set('title', 'in', ['a', 'b']);
|
|
18
|
+
actions.set('title', 'eq', 'x');
|
|
19
|
+
actions.set('price', 'eq', 3);
|
|
20
|
+
actions.remove('price', 'gt');
|
|
21
|
+
actions.remove('title');
|
|
22
|
+
actions.merge({ price: { gt: 5 } });
|
|
23
|
+
actions.merge({ title: { in: ['a'] } });
|
|
24
|
+
actions.clear();
|
|
25
|
+
actions.set('price', 'contains', 'x');
|
|
26
|
+
actions.set('price', 'gt', 'x');
|
|
27
|
+
actions.set('title', 'in', [1, 2]);
|
|
28
|
+
actions.set('price', 'between', [1]);
|
|
29
|
+
actions.merge({ price: { gt: 'bad' } });
|
|
30
|
+
expectType(filters.price?.gt);
|
|
31
|
+
expectType;
|
|
32
|
+
schema;
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlRmlsdGVycy10eXBlZC50ZXN0LWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHlwZS10ZXN0cy91c2VGaWx0ZXJzLXR5cGVkLnRlc3QtZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU0vRSxTQUFTLFVBQVUsQ0FBSSxFQUFLLElBQVMsQ0FBQztBQUV0QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUM7SUFDMUIsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0NBQzdDLENBQUMsQ0FBQztBQU9ILFVBQVUsQ0FBcUIsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNsRCxVQUFVLENBQWdDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDN0QsVUFBVSxDQUF3QyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFFLFVBQVUsQ0FBcUIsT0FBTyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN4RCxVQUFVLENBQWdDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDN0QsVUFBVSxDQUFxQixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBR2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztBQUc5QixPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM5QixPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBR3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUd4QyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7QUFJaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBR3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztBQUdoQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUduQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBSXJDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBS3hDLFVBQVUsQ0FBUyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBSXRDLFVBQVUsQ0FBQztBQUVYLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmluZVNjaGVtYSwgbnVtYmVyRmllbGQsIHN0cmluZ0ZpZWxkIH0gZnJvbSAnQHBsdW1pbGUvZmlsdGVyLXF1ZXJ5JztcbmltcG9ydCB0eXBlIHsgVHlwZWRGaWx0ZXJBY3Rpb25zLCBJbmZlckZpbHRlcnMgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbi8qKiBIZWxwZXIgZm9yIGNvbXBpbGUtdGltZSBhc3NlcnRpb25zIChubyBydW50aW1lIHVzYWdlKSAqL1xuLy8gSW50ZW50aW9uYWxseSB1bnVzZWQgaGVscGVyIGZvciBjb21waWxlLXRpbWUgYXNzZXJ0aW9uXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5mdW5jdGlvbiBleHBlY3RUeXBlPFQ+KF92OiBUKTogdm9pZCB7fVxuXG5jb25zdCBzY2hlbWEgPSBkZWZpbmVTY2hlbWEoe1xuICBwcmljZTogbnVtYmVyRmllbGQoWydndCcsICdpbicsICdiZXR3ZWVuJywgJ2VxJ10pLFxuICB0aXRsZTogc3RyaW5nRmllbGQoWydjb250YWlucycsICdpbicsICdlcSddKSxcbn0pO1xuXG50eXBlIEZpbHRlcnMgPSBJbmZlckZpbHRlcnM8dHlwZW9mIHNjaGVtYT47XG5kZWNsYXJlIGNvbnN0IGZpbHRlcnM6IEZpbHRlcnM7IC8vIHZhbHVlIHByb3ZpZGVkIGJ5IHRlc3QgZW52aXJvbm1lbnQgdHlwaW5nIG9ubHlcbmRlY2xhcmUgY29uc3QgYWN0aW9uczogVHlwZWRGaWx0ZXJBY3Rpb25zPHR5cGVvZiBzY2hlbWE+O1xuXG4vLyBJbmZlcmVuY2UgY2hlY2tzXG5leHBlY3RUeXBlPG51bWJlciB8IHVuZGVmaW5lZD4oZmlsdGVycy5wcmljZT8uZ3QpO1xuZXhwZWN0VHlwZTxyZWFkb25seSBudW1iZXJbXSB8IHVuZGVmaW5lZD4oZmlsdGVycy5wcmljZT8uaW4pO1xuZXhwZWN0VHlwZTxyZWFkb25seSBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkPihmaWx0ZXJzLnByaWNlPy5iZXR3ZWVuKTtcbmV4cGVjdFR5cGU8c3RyaW5nIHwgdW5kZWZpbmVkPihmaWx0ZXJzLnRpdGxlPy5jb250YWlucyk7XG5leHBlY3RUeXBlPHJlYWRvbmx5IHN0cmluZ1tdIHwgdW5kZWZpbmVkPihmaWx0ZXJzLnRpdGxlPy5pbik7XG5leHBlY3RUeXBlPHN0cmluZyB8IHVuZGVmaW5lZD4oZmlsdGVycy50aXRsZT8uZXEpO1xuXG4vLyBWYWxpZCBzZXRzXG5hY3Rpb25zLnNldCgncHJpY2UnLCAnZ3QnLCAxMCk7XG5hY3Rpb25zLnNldCgncHJpY2UnLCAnaW4nLCBbMSwgMl0pO1xuYWN0aW9ucy5zZXQoJ3ByaWNlJywgJ2JldHdlZW4nLCBbMSwgNV0pO1xuYWN0aW9ucy5zZXQoJ3RpdGxlJywgJ2NvbnRhaW5zJywgJ2ZvbycpO1xuYWN0aW9ucy5zZXQoJ3RpdGxlJywgJ2luJywgWydhJywgJ2InXSk7XG5hY3Rpb25zLnNldCgndGl0bGUnLCAnZXEnLCAneCcpO1xuYWN0aW9ucy5zZXQoJ3ByaWNlJywgJ2VxJywgMyk7XG5cbi8vIFZhbGlkIHJlbW92ZVxuYWN0aW9ucy5yZW1vdmUoJ3ByaWNlJywgJ2d0Jyk7XG5hY3Rpb25zLnJlbW92ZSgndGl0bGUnKTsgLy8gcmVtb3ZlIGVudGlyZSBmaWVsZFxuXG4vLyBWYWxpZCBtZXJnZVxuYWN0aW9ucy5tZXJnZSh7IHByaWNlOiB7IGd0OiA1IH0gfSk7XG5hY3Rpb25zLm1lcmdlKHsgdGl0bGU6IHsgaW46IFsnYSddIH0gfSk7XG5cbi8vIFZhbGlkIGNsZWFyXG5hY3Rpb25zLmNsZWFyKCk7XG5cbi8vIEludmFsaWQgb3BlcmF0b3IgZm9yIGZpZWxkXG4vLyBAdHMtZXhwZWN0LWVycm9yIGNvbnRhaW5zIGlzIG5vdCBhIGRlY2xhcmVkIG51bWJlciBvcGVyYXRvclxuYWN0aW9ucy5zZXQoJ3ByaWNlJywgJ2NvbnRhaW5zJywgJ3gnKTtcbi8vIEludmFsaWQgdmFsdWUgdHlwZVxuLy8gQHRzLWV4cGVjdC1lcnJvciBndCBleHBlY3RzIG51bWJlclxuYWN0aW9ucy5zZXQoJ3ByaWNlJywgJ2d0JywgJ3gnKTtcbi8vIEludmFsaWQgbGlzdCBlbGVtZW50IHR5cGVcbi8vIEB0cy1leHBlY3QtZXJyb3IgdGl0bGUuaW4gZXhwZWN0cyBzdHJpbmdbXVxuYWN0aW9ucy5zZXQoJ3RpdGxlJywgJ2luJywgWzEsIDJdKTtcbi8vIEludmFsaWQgYmV0d2VlbiBhcml0eVxuLy8gQHRzLWV4cGVjdC1lcnJvciBiZXR3ZWVuIGV4cGVjdHMgdHVwbGUgbGVuZ3RoIDJcbmFjdGlvbnMuc2V0KCdwcmljZScsICdiZXR3ZWVuJywgWzFdKTtcbi8vIChJbnRlbnRpb25hbGx5IG9taXR0ZWQgZXhwZWN0ZWQtZXJyb3IgZm9yIG1pc3Npbmcgb3BlcmF0b3IgZHVlIHRvIGdlbmVyaWMgaW5mZXJlbmNlIGxpbWl0YXRpb25zKVxuLy8gSW52YWxpZCBtZXJnZSB2YWx1ZSB0eXBlXG4vLyBAdHMtZXhwZWN0LWVycm9yIHByaWNlLmd0IG11c3QgYmUgbnVtYmVyXG5hY3Rpb25zLm1lcmdlKHsgcHJpY2U6IHsgZ3Q6ICdiYWQnIH0gfSk7XG4vLyAoSW50ZW50aW9uYWxseSBvbWl0dGVkIHJlbW92ZSBvcGVyYXRvciBpbnZhbGlkIGNhc2UgZm9yIHNhbWUgcmVhc29uKVxuXG4vLyBFeHBlY3Qgd3JvbmcgdHlwZSBhc3NlcnRpb24gZXJyb3Jcbi8vIEB0cy1leHBlY3QtZXJyb3IgZmlsdGVycy5wcmljZS5ndCBpcyBudW1iZXIgfCB1bmRlZmluZWQsIG5vdCBzdHJpbmdcbmV4cGVjdFR5cGU8c3RyaW5nPihmaWx0ZXJzLnByaWNlPy5ndCk7XG5cbi8vIFRvdWNoIHZhbHVlcyAobm8tb3ApIHRvIHNhdGlzZnkgbm8tdW51c2VkLXZhcnMgd2l0aG91dCBhZmZlY3RpbmcgZW1pdHRlZCB0eXBlc1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcbmV4cGVjdFR5cGU7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1xuc2NoZW1hO1xuXG5leHBvcnQge307XG4iXX0=
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentType, ReactElement, ReactNode, JSX } from 'react';
|
|
2
|
-
import type { Schema as FilterSchema, InferFilters as InferFilterResult, Diagnostic as FilterDiagnostic } from '@plumile/filter-query';
|
|
2
|
+
import type { Schema as FilterSchema, InferFilters as InferFilterResult, InferField as InferFilterField, Diagnostic as FilterDiagnostic } from '@plumile/filter-query';
|
|
3
3
|
import type { Match, MatchFunction, ParamData } from 'path-to-regexp';
|
|
4
4
|
import type { FlatRoute } from './builder.js';
|
|
5
5
|
import type { ResourcePage } from './ResourcePage.js';
|
|
@@ -38,16 +38,16 @@ export type PreparedMatch<TVariables extends ParamData> = {
|
|
|
38
38
|
match: RouterMatchedRoute<TVariables> | null;
|
|
39
39
|
routes: PreparedMatchRoute[];
|
|
40
40
|
};
|
|
41
|
-
export type RouteEntry<TVariables extends ParamData> = {
|
|
41
|
+
export type RouteEntry<TVariables extends ParamData, S extends FilterSchema | undefined = FilterSchema | undefined> = {
|
|
42
42
|
preparedMatch: PreparedMatch<TVariables>;
|
|
43
43
|
location: Location;
|
|
44
44
|
route: RouterMatchedRoute<TVariables> | null;
|
|
45
45
|
forceRerender: boolean;
|
|
46
46
|
rawSearch?: string;
|
|
47
47
|
query: Record<string, string | string[]>;
|
|
48
|
-
filters?: Record<string, unknown>;
|
|
48
|
+
filters?: S extends FilterSchema ? InferFilterResult<S> : Record<string, unknown>;
|
|
49
49
|
filterDiagnostics?: FilterDiagnostic[];
|
|
50
|
-
activeQuerySchema?:
|
|
50
|
+
activeQuerySchema?: S;
|
|
51
51
|
};
|
|
52
52
|
export type RouterRedirectStatus = 301 | 302;
|
|
53
53
|
export type MatchedRoute<TVariables extends ParamData> = {
|
|
@@ -68,30 +68,30 @@ export type PrepareParams<TVariables extends ParamData, TQueryShape extends Reco
|
|
|
68
68
|
query: TQueryShape;
|
|
69
69
|
};
|
|
70
70
|
export type RoutePrepare<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = (params: PrepareParams<TVariables, TQueryShape>) => TPrepared;
|
|
71
|
-
export type Route<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown
|
|
71
|
+
export type Route<TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>, S extends FilterSchema | undefined = FilterSchema | undefined> = {
|
|
72
72
|
children?: (AnyRoute | Redirect)[];
|
|
73
73
|
resourcePage?: ResourcePage | null;
|
|
74
74
|
path?: string;
|
|
75
75
|
prepare?: RoutePrepare<TPrepared, TVariables, TQueryShape>;
|
|
76
76
|
render?: RouteRender<TPrepared, TVariables, TQueryShape>;
|
|
77
|
-
querySchema?:
|
|
77
|
+
querySchema?: S;
|
|
78
78
|
};
|
|
79
|
-
export type RouteComponentProps<TVariables extends ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = {
|
|
79
|
+
export type RouteComponentProps<TVariables extends ParamData, S extends FilterSchema | undefined = FilterSchema | undefined, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = {
|
|
80
80
|
children: ReactElement;
|
|
81
|
-
routerContext: RoutingContextType<TVariables, TQueryShape>;
|
|
82
|
-
route: Route<any, any>;
|
|
81
|
+
routerContext: RoutingContextType<TVariables, S, TQueryShape>;
|
|
82
|
+
route: Route<any, any, any, S>;
|
|
83
83
|
};
|
|
84
84
|
export type SubscribeCallback<TVariables extends ParamData> = (nextEntry: RouteEntry<TVariables>) => void;
|
|
85
|
-
export type RoutingContextType<TVariables extends ParamData, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = {
|
|
85
|
+
export type RoutingContextType<TVariables extends ParamData, S extends FilterSchema | undefined = FilterSchema | undefined, TQueryShape extends Record<string, unknown> = Record<string, unknown>> = {
|
|
86
86
|
history: BrowserHistory;
|
|
87
|
-
get: () => RouteEntry<TVariables>;
|
|
87
|
+
get: () => RouteEntry<TVariables, S>;
|
|
88
88
|
preloadCode: (pathname: string) => void;
|
|
89
89
|
preload: (pathname: string) => void;
|
|
90
90
|
subscribe: (callback: SubscribeCallback<TVariables>) => () => void;
|
|
91
91
|
navigate: (opts: {
|
|
92
92
|
pathname?: string;
|
|
93
93
|
query?: TQueryShape;
|
|
94
|
-
filters?: Record<string, unknown>;
|
|
94
|
+
filters?: S extends FilterSchema ? InferFilterResult<S> : Record<string, unknown>;
|
|
95
95
|
replace?: boolean;
|
|
96
96
|
}) => void;
|
|
97
97
|
};
|
|
@@ -101,10 +101,25 @@ export type ResourcePageReturn = {
|
|
|
101
101
|
export type ResourcePageLoader = () => Promise<ResourcePageReturn>;
|
|
102
102
|
export type InferFilters<S extends FilterSchema | undefined> = S extends FilterSchema ? InferFilterResult<S> : Record<string, never>;
|
|
103
103
|
export type { FilterSchema };
|
|
104
|
-
export type
|
|
105
|
-
export type
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
export type { InferFilterField as InferField };
|
|
105
|
+
export type TypedFilterActions<S extends FilterSchema> = {
|
|
106
|
+
set: <F extends keyof S & string, O extends keyof NonNullable<InferFilterResult<S>[F]> & string>(field: F, operator: O, value: NonNullable<InferFilterResult<S>[F]>[O] | undefined, opts?: {
|
|
107
|
+
replace?: boolean;
|
|
108
|
+
}) => void;
|
|
109
|
+
remove: <F extends keyof S & string, O extends keyof NonNullable<InferFilterResult<S>[F]> & string>(field: F, operator?: O, opts?: {
|
|
110
|
+
replace?: boolean;
|
|
111
|
+
}) => void;
|
|
112
|
+
merge: (patch: Partial<InferFilterResult<S>>, opts?: {
|
|
113
|
+
replace?: boolean;
|
|
114
|
+
}) => void;
|
|
115
|
+
clear: (opts?: {
|
|
116
|
+
replace?: boolean;
|
|
117
|
+
}) => void;
|
|
118
|
+
};
|
|
119
|
+
export type AnyRoute = Route<any, any, any, any>;
|
|
120
|
+
export type PreparedOf<R> = R extends Route<infer P, any, any, any> ? P : never;
|
|
121
|
+
export type VariablesOf<R> = R extends Route<any, infer V, any, any> ? V : never;
|
|
122
|
+
export type QueryShapeOf<R> = R extends Route<any, any, infer Q, any> ? Q : never;
|
|
108
123
|
export type PathOf<R> = R extends {
|
|
109
124
|
path?: infer P;
|
|
110
125
|
} ? P extends string ? P : never : never;
|
|
@@ -119,13 +134,22 @@ export type QueryShapeMap<Routes extends readonly AnyRoute[]> = {
|
|
|
119
134
|
path?: K;
|
|
120
135
|
}>>;
|
|
121
136
|
};
|
|
137
|
+
export type SchemaOf<R> = R extends {
|
|
138
|
+
querySchema?: infer S;
|
|
139
|
+
} ? S extends FilterSchema ? S : undefined : undefined;
|
|
140
|
+
export type FiltersOf<R> = SchemaOf<R> extends FilterSchema ? InferFilterResult<SchemaOf<R>> : Record<string, never>;
|
|
141
|
+
export type FiltersMap<Routes extends readonly AnyRoute[]> = {
|
|
142
|
+
[K in PathsOf<Routes>]: FiltersOf<Extract<Routes[number], {
|
|
143
|
+
path?: K;
|
|
144
|
+
}>>;
|
|
145
|
+
};
|
|
122
146
|
export interface PreparedAccess<Routes extends readonly AnyRoute[]> {
|
|
123
147
|
getPrepared: <P extends PathsOf<Routes>>(path: P) => PreparedMap<Routes>[P];
|
|
124
148
|
}
|
|
125
149
|
export type NavigateInputForPath<Routes extends readonly AnyRoute[], P extends PathsOf<Routes>> = {
|
|
126
150
|
pathname: P;
|
|
127
151
|
query?: QueryShapeMap<Routes>[P];
|
|
128
|
-
filters?:
|
|
152
|
+
filters?: FiltersMap<Routes>[P];
|
|
129
153
|
replace?: boolean;
|
|
130
154
|
};
|
|
131
155
|
export type NavigateInputUntyped = {
|
package/lib/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EACV,MAAM,IAAI,YAAY,EACtB,YAAY,IAAI,iBAAiB,EACjC,UAAU,IAAI,gBAAgB,EAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMzD,MAAM,MAAM,cAAc,CAAC,UAAU,SAAS,SAAS,IAAI;IAEzD,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,aAAa,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAEzC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;CAC3B,CAAC;AAMF,MAAM,MAAM,kBAAkB,CAAC,UAAU,SAAS,SAAS,IAAI;IAE7D,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAEzB,MAAM,EAAE,UAAU,CAAC;IAEnB,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;CAC9B,CAAC;AAMF,MAAM,MAAM,mBAAmB,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAClE,KAAK,EAAE,MAAM,KACV,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;AAOxB,MAAM,MAAM,eAAe,CACzB,SAAS,SAAS,aAAa,EAC/B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACnE;IAEF,QAAQ,EAAE,SAAS,CAAC;IAEpB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC;IAEhC,aAAa,EAAE,kBAAkB,CAAC;IAElC,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAEpC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAE5C,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAOF,MAAM,MAAM,WAAW,CACrB,SAAS,SAAS,aAAa,EAC/B,UAAU,SAAS,SAAS,GAAG,SAAS,EACxC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACnE,CACF,IAAI,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,KACtD,YAAY,GAAG,IAAI,CAAC;AAKzB,MAAM,MAAM,kBAAkB,GAAG;IAE/B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IAEpC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC,CAAC;AAMF,MAAM,MAAM,aAAa,CAAC,UAAU,SAAS,SAAS,IAAI;IAExD,KAAK,EAAE,kBAAkB,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAE7C,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B,CAAC;AAMF,MAAM,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSwgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUsIEpTWCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHtcbiAgU2NoZW1hIGFzIEZpbHRlclNjaGVtYSxcbiAgSW5mZXJGaWx0ZXJzIGFzIEluZmVyRmlsdGVyUmVzdWx0LFxuICBEaWFnbm9zdGljIGFzIEZpbHRlckRpYWdub3N0aWMsXG59IGZyb20gJ0BwbHVtaWxlL2ZpbHRlci1xdWVyeSc7XG5pbXBvcnQgdHlwZSB7IE1hdGNoLCBNYXRjaEZ1bmN0aW9uLCBQYXJhbURhdGEgfSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCB0eXBlIHsgRmxhdFJvdXRlIH0gZnJvbSAnLi9idWlsZGVyLmpzJztcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VQYWdlIH0gZnJvbSAnLi9SZXNvdXJjZVBhZ2UuanMnO1xuaW1wb3J0IHR5cGUgeyBCcm93c2VySGlzdG9yeSB9IGZyb20gJy4vaGlzdG9yeS9pbmRleC5qcyc7XG5cbi8qKlxuICogSW5wdXQgdHlwZSBmb3IgY3JlYXRpbmcgYSBGbGF0Um91dGUgaW5zdGFuY2UuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgRmxhdFJvdXRlSW5wdXQ8VFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YT4gPSB7XG4gIC8qKiBUaGUgVVJMIHBhdGggcGF0dGVybiBmb3IgdGhpcyByb3V0ZSAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCByZWRpcmVjdCBkZXN0aW5hdGlvbiBpZiB0aGlzIHJvdXRlIHNob3VsZCByZWRpcmVjdCAqL1xuICByZWRpcmVjdFRvPzogc3RyaW5nO1xuICAvKiogRnVuY3Rpb24gdG8gbWF0Y2ggVVJMIHBhdGhzIGFnYWluc3QgdGhpcyByb3V0ZSBwYXR0ZXJuICovXG4gIG1hdGNoRnVuY3Rpb246IE1hdGNoRnVuY3Rpb248VFZhcmlhYmxlcz47XG4gIC8qKiBOZXN0ZWQgcm91dGVzIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIHdpdGhpbiB0aGlzIHJvdXRlICovXG4gIHJvdXRlczogUm91dGU8YW55LCBhbnk+W107XG59O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBtYXRjaGVkIHJvdXRlIHdpdGggZXh0cmFjdGVkIHBhcmFtZXRlcnMgYW5kIG1ldGFkYXRhLlxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlck1hdGNoZWRSb3V0ZTxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IHtcbiAgLyoqIFRoZSBtYXRjaCByZXN1bHQgZnJvbSBwYXRoLXRvLXJlZ2V4cCAqL1xuICBtYXRjaDogTWF0Y2g8VFZhcmlhYmxlcz47XG4gIC8qKiBFeHRyYWN0ZWQgcGFyYW1ldGVycyBmcm9tIHRoZSBVUkwgcGF0aCAqL1xuICBwYXJhbXM6IFRWYXJpYWJsZXM7XG4gIC8qKiBUaGUgbWF0Y2hlZCBwYXRoIHN0cmluZyAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKiBUaGUgZmxhdCByb3V0ZSB0aGF0IHdhcyBtYXRjaGVkICovXG4gIHJvdXRlOiBGbGF0Um91dGU8VFZhcmlhYmxlcz47XG59O1xuXG4vKipcbiAqIEEgUmVhY3QgY29tcG9uZW50IHRoYXQgY2FuIGJlIHVzZWQgYXMgYSByb3V0ZSBjb21wb25lbnQuXG4gKiBAdGVtcGxhdGUgVFByb3BzIC0gVGhlIHByb3BzIHR5cGUgZm9yIHRoZSBjb21wb25lbnRcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVSZWFjdENvbXBvbmVudDxUUHJvcHMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gPSAoXG4gIHByb3BzOiBUUHJvcHMsXG4pID0+IEpTWC5FbGVtZW50IHwgbnVsbDtcblxuLyoqXG4gKiBPcHRpb25zIHBhc3NlZCB0byBhIHJvdXRlIHJlbmRlciBmdW5jdGlvbi5cbiAqIEB0ZW1wbGF0ZSBUUHJlcGFyZWQgLSBUaGUgdHlwZSBvZiBwcmVwYXJlZCBkYXRhIHJldHVybmVkIGJ5IHRoZSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb25cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZVJlbmRlck9wdHM8XG4gIFRQcmVwYXJlZCBleHRlbmRzIFByZXBhcmVSZXN1bHQsXG4gIFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGEgPSBQYXJhbURhdGEsXG4gIFRRdWVyeVNoYXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIC8qKiBDaGlsZCBjb21wb25lbnRzIHRvIHJlbmRlciB3aXRoaW4gdGhpcyByb3V0ZSAqL1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICAvKiogT3B0aW9uYWwgY29tcG9uZW50IHRvIHJlbmRlciAoZnJvbSBSZXNvdXJjZVBhZ2UpICovXG4gIENvbXBvbmVudD86IFJvdXRlUmVhY3RDb21wb25lbnQ7XG4gIC8qKiBEYXRhIHByZXBhcmVkIGJ5IHRoZSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb24gKi9cbiAgcHJlcGFyZWQ6IFRQcmVwYXJlZCB8IHVuZGVmaW5lZDtcbiAgLyoqIFRoZSBwcmVwYXJlZCByb3V0ZSB0aGF0IGlzIGJlaW5nIHJlbmRlcmVkICovXG4gIHByZXBhcmVkUm91dGU6IFByZXBhcmVkTWF0Y2hSb3V0ZTtcbiAgLyoqIFRoZSBtYXRjaGVkIHJvdXRlIG9yIG51bGwgaWYgbm8gbWF0Y2ggKi9cbiAgcm91dGU6IEZsYXRSb3V0ZTxUVmFyaWFibGVzPiB8IG51bGw7XG4gIC8qKiBSYXcgcXVlcnkgb2JqZWN0IChQaGFzZSAyIGdlbmVyaWMgcGFyc2luZykgKi9cbiAgcmF3UXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPjtcbiAgLyoqIFR5cGVkIHF1ZXJ5IG9iamVjdCAoUGhhc2UgMykuIEZhbGxzIGJhY2sgdG8gcmF3UXVlcnkgaWYgbm8gc2NoZW1hICovXG4gIHF1ZXJ5OiBUUXVlcnlTaGFwZTtcbn07XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gcmVuZGVyIGEgcm91dGUgd2l0aCBjdXN0b20gbG9naWMuXG4gKiBAdGVtcGxhdGUgVFByZXBhcmVkIC0gVGhlIHR5cGUgb2YgcHJlcGFyZWQgZGF0YSByZXR1cm5lZCBieSB0aGUgcm91dGUncyBwcmVwYXJlIGZ1bmN0aW9uXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVSZW5kZXI8XG4gIFRQcmVwYXJlZCBleHRlbmRzIFByZXBhcmVSZXN1bHQsXG4gIFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGEgPSBQYXJhbURhdGEsXG4gIFRRdWVyeVNoYXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSAoXG4gIG9wdHM6IFJvdXRlUmVuZGVyT3B0czxUUHJlcGFyZWQsIFRWYXJpYWJsZXMsIFRRdWVyeVNoYXBlPixcbikgPT4gUmVhY3RFbGVtZW50IHwgbnVsbDtcblxuLyoqXG4gKiBBIHJvdXRlIHRoYXQgaGFzIGJlZW4gcHJlcGFyZWQgZm9yIHJlbmRlcmluZyB3aXRoIGxvYWRlZCBkYXRhIGFuZCBjb21wb25lbnRzLlxuICovXG5leHBvcnQgdHlwZSBQcmVwYXJlZE1hdGNoUm91dGUgPSB7XG4gIC8qKiBUaGUgcGF0aCB0aGF0IHdhcyBtYXRjaGVkICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKiBEYXRhIHByZXBhcmVkIGJ5IHRoZSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb24gKi9cbiAgcHJlcGFyZWQ6IFByZXBhcmVSZXN1bHQgfCB1bmRlZmluZWQ7XG4gIC8qKiBDdXN0b20gcmVuZGVyIGZ1bmN0aW9uIGZvciB0aGlzIHJvdXRlICovXG4gIHJlbmRlcj86IFJvdXRlUmVuZGVyPGFueSwgYW55PjtcbiAgLyoqIFJlZGlyZWN0IGRlc3RpbmF0aW9uIGlmIHRoaXMgcm91dGUgc2hvdWxkIHJlZGlyZWN0ICovXG4gIHJlZGlyZWN0VG86IHN0cmluZyB8IG51bGw7XG4gIC8qKiBSZXNvdXJjZSBwYWdlIGZvciBsYXp5LWxvYWRlZCBjb21wb25lbnRzICovXG4gIHJlc291cmNlUGFnZT86IFJlc291cmNlUGFnZSB8IG51bGw7XG59O1xuXG4vKipcbiAqIFJlc3VsdCBvZiBwcmVwYXJpbmcgYSBtYXRjaGVkIHJvdXRlLCBpbmNsdWRpbmcgYWxsIG5lc3RlZCByb3V0ZXMuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUHJlcGFyZWRNYXRjaDxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IHtcbiAgLyoqIFRoZSBtYXRjaGVkIHJvdXRlIG9yIG51bGwgaWYgbm8gbWF0Y2ggKi9cbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUVmFyaWFibGVzPiB8IG51bGw7XG4gIC8qKiBBcnJheSBvZiBwcmVwYXJlZCByb3V0ZXMgZm9yIHJlbmRlcmluZyAqL1xuICByb3V0ZXM6IFByZXBhcmVkTWF0Y2hSb3V0ZVtdO1xufTtcblxuLyoqXG4gKiBDb21wbGV0ZSByb3V0ZSBlbnRyeSByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgcm91dGVyIHN0YXRlLlxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlRW50cnk8VFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YT4gPSB7XG4gIC8qKiBUaGUgcHJlcGFyZWQgbWF0Y2ggd2l0aCBsb2FkZWQgZGF0YSBhbmQgY29tcG9uZW50cyAqL1xuICBwcmVwYXJlZE1hdGNoOiBQcmVwYXJlZE1hdGNoPFRWYXJpYWJsZXM+O1xuICAvKiogQ3VycmVudCBicm93c2VyIGxvY2F0aW9uICovXG4gIGxvY2F0aW9uOiBMb2NhdGlvbjtcbiAgLyoqIFRoZSBtYXRjaGVkIHJvdXRlIG9yIG51bGwgaWYgbm8gbWF0Y2ggKi9cbiAgcm91dGU6IFJvdXRlck1hdGNoZWRSb3V0ZTxUVmFyaWFibGVzPiB8IG51bGw7XG4gIC8qKiBXaGV0aGVyIHRvIGZvcmNlIGEgcmUtcmVuZGVyIGV2ZW4gaWYgdGhlIHBhdGggaGFzbid0IGNoYW5nZWQgKi9cbiAgZm9yY2VSZXJlbmRlcjogYm9vbGVhbjtcbiAgLyoqIFJhdyBzZWFyY2ggc3RyaW5nIChxdWVyeSBwYXJ0KSBvZiB0aGUgbG9jYXRpb24gZm9yIGNoYW5nZSBkZXRlY3Rpb24gKi9cbiAgcmF3U2VhcmNoPzogc3RyaW5nO1xuICAvKiogUGFyc2VkIHJhdyBxdWVyeSBwYXJhbWV0ZXJzICh2YWx1ZXMgYWdncmVnYXRlZDsgZHVwbGljYXRlcyA9PiBhcnJheSkgKi9cbiAgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPjtcbiAgLyoqIExlZ2FjeSB0eXBlZFF1ZXJ5IHJlbW92ZWQg4oCTIHVuaWZpZWQgZmlsdGVycyBoYW5kbGUgdHlwZWQgYWNjZXNzICovXG4gIC8vIHR5cGVkUXVlcnk/OiBuZXZlcjtcbiAgLyoqIFBhcnNlZCBmaWx0ZXJzIG9iamVjdCBkZXJpdmVkIGZyb20gdGhlIGRlZXBlc3QgYWN0aXZlIHF1ZXJ5U2NoZW1hIChpZiBhbnkpICovXG4gIGZpbHRlcnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgLyoqIERpYWdub3N0aWNzIGZyb20gZmlsdGVyIHBhcnNpbmcgKGlmIGFueSkgKi9cbiAgZmlsdGVyRGlhZ25vc3RpY3M/OiBGaWx0ZXJEaWFnbm9zdGljW107XG4gIC8qKiBEZWVwZXN0IGFjdGl2ZSBxdWVyeSBzY2hlbWEgKEZpbHRlclNjaGVtYSBmcm9tIEBwbHVtaWxlL2ZpbHRlci1xdWVyeSkgZm9yIGN1cnJlbnQgbWF0Y2hlZCByb3V0ZSAqL1xuICBhY3RpdmVRdWVyeVNjaGVtYT86IEZpbHRlclNjaGVtYTtcbn07XG5cbi8vIFF1ZXJ5U2NoZW1hICYgZGVzY3JpcHRvcnMgcmVtb3ZlZCAoUGhhc2UgMiB1bmlmaWVkIG1vZGVsKSDigJMgaGlzdG9yaWNhbCB0eXBlcyBpbnRlbnRpb25hbGx5IG9taXR0ZWQuXG5cbi8qKlxuICogSFRUUCBzdGF0dXMgY29kZXMgZm9yIHJlZGlyZWN0cy5cbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyUmVkaXJlY3RTdGF0dXMgPSAzMDEgfCAzMDI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1hdGNoZWQgcm91dGUgd2l0aCByZWdleCBtYXRjaCByZXN1bHQuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogVGhlIHJlZ2V4IG1hdGNoIHJlc3VsdCAqL1xuICBtYXRjaDogUmVnRXhwRXhlY0FycmF5O1xuICAvKiogVGhlIGZsYXQgcm91dGUgdGhhdCB3YXMgbWF0Y2hlZCAqL1xuICByb3V0ZTogRmxhdFJvdXRlPFRWYXJpYWJsZXM+O1xufTtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIHJvdXRlIHJlZGlyZWN0LlxuICovXG5leHBvcnQgdHlwZSBSZWRpcmVjdCA9IHtcbiAgLyoqIE9wdGlvbmFsIHNvdXJjZSBwYXRoIHBhdHRlcm4gKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqIERlc3RpbmF0aW9uIHBhdGggZm9yIHRoZSByZWRpcmVjdCAqL1xuICB0bzogc3RyaW5nO1xuICAvKiogSFRUUCBzdGF0dXMgY29kZSBmb3IgdGhlIHJlZGlyZWN0ICovXG4gIHN0YXR1cz86IFJvdXRlclJlZGlyZWN0U3RhdHVzO1xufTtcblxuLyoqXG4gKiBCYXNlIHR5cGUgZm9yIGRhdGEgcHJlcGFyZWQgYnkgcm91dGUgcHJlcGFyZSBmdW5jdGlvbnMuXG4gKi9cbi8vIFByZXBhcmVkIGRhdGEgY2FuIGJlIGFueSByZWNvcmQ7IHJldGFpbiBhbnkgdG8gYXZvaWQgb3Zlci1jb25zdHJhaW5pbmcgdXNlciBjb2RlLlxuZXhwb3J0IHR5cGUgUHJlcGFyZVJlc3VsdCA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbi8qKlxuICogUGFyYW1ldGVycyBwYXNzZWQgdG8gYSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb24uXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUHJlcGFyZVBhcmFtczxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSxcbiAgVFF1ZXJ5U2hhcGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAgLyoqIFRoZSBtYXRjaGVkIHJvdXRlIHdpdGggZXh0cmFjdGVkIHBhcmFtZXRlcnMgKi9cbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUVmFyaWFibGVzPjtcbiAgLyoqIFRoZSBmbGF0IHJvdXRlIHRoYXQgd2FzIG1hdGNoZWQgKi9cbiAgbWF0Y2hlZFJvdXRlOiBGbGF0Um91dGU8VFZhcmlhYmxlcz47XG4gIC8qKiBSZXNvdXJjZSBwYWdlIGZvciBsYXp5LWxvYWRlZCBjb21wb25lbnRzICovXG4gIHJlc291cmNlUGFnZT86IFJlc291cmNlUGFnZSB8IG51bGw7XG4gIC8qKiBFeHRyYWN0ZWQgVVJMIHBhcmFtZXRlcnMgKi9cbiAgdmFyaWFibGVzOiBUVmFyaWFibGVzO1xuICAvKiogVHlwZWQgcXVlcnkgb2JqZWN0ICovXG4gIHF1ZXJ5OiBUUXVlcnlTaGFwZTtcbn07XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gcHJlcGFyZSBkYXRhIGZvciBhIHJvdXRlIGJlZm9yZSByZW5kZXJpbmcuXG4gKiBAdGVtcGxhdGUgVFByZXBhcmVkIC0gVGhlIHR5cGUgb2YgZGF0YSB0aGlzIGZ1bmN0aW9uIHJldHVybnNcbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZVByZXBhcmU8XG4gIFRQcmVwYXJlZCBleHRlbmRzIFByZXBhcmVSZXN1bHQsXG4gIFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGEgPSBQYXJhbURhdGEsXG4gIFRRdWVyeVNoYXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSAocGFyYW1zOiBQcmVwYXJlUGFyYW1zPFRWYXJpYWJsZXMsIFRRdWVyeVNoYXBlPikgPT4gVFByZXBhcmVkO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGEgc2luZ2xlIHJvdXRlIGluIHRoZSByb3V0ZXIuXG4gKiBAdGVtcGxhdGUgVFByZXBhcmVkIC0gVGhlIHR5cGUgb2YgcHJlcGFyZWQgZGF0YSByZXR1cm5lZCBieSB0aGUgcm91dGUncyBwcmVwYXJlIGZ1bmN0aW9uXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGU8XG4gIFRQcmVwYXJlZCBleHRlbmRzIFByZXBhcmVSZXN1bHQsXG4gIFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGEgPSBQYXJhbURhdGEsXG4gIFRRdWVyeVNoYXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIC8qKlxuICAgKiBOZXN0ZWQgY2hpbGQgcm91dGVzIG9yIHJlZGlyZWN0cy5cbiAgICpcbiAgICogSU1QT1JUQU5UOiBUaGlzIHVzZWQgdG8gYmUgdHlwZWQgYXMgYChSb3V0ZTxQcmVwYXJlUmVzdWx0PiB8IFJlZGlyZWN0KVtdYCB3aGljaFxuICAgKiB3aWRlbmVkIChlcmFzZWQpIHRoZSBnZW5lcmljIHBhcmFtZXRlciB0eXBlcyAobm90YWJseSB0aGUgYFRWYXJpYWJsZXNgIG9mIGVhY2hcbiAgICogY2hpbGQpLiBUaGF0IGNhdXNlZCBUeXBlU2NyaXB0IHRvIHRyZWF0IGV2ZXJ5IGNoaWxkIHJvdXRlJ3MgYHByZXBhcmVgIGNhbGxiYWNrXG4gICAqIGFzIGFjY2VwdGluZyB0aGUgZGVmYXVsdCBgUGFyYW1EYXRhYCBzaGFwZSAoZWZmZWN0aXZlbHkgYFBhcnRpYWw8UmVjb3JkPHN0cmluZyxzdHJpbmd8c3RyaW5nW10+PmApLlxuICAgKiBXaGVuIHVzZXIgY29kZSBzcGVjaWZpZWQgYSBtb3JlIHNwZWNpZmljIHBhcmFtZXRlciBvYmplY3QgKGUuZy4gYHsgc2x1Zzogc3RyaW5nIH1gKVxuICAgKiBmb3IgYSBwYXRoIGxpa2UgYDpzbHVnYCwgdGhlIGZ1bmN0aW9uIHR5cGUgYmVjYW1lIG5vbuKAkWFzc2lnbmFibGUgYmVjYXVzZSBpdHNcbiAgICogcGFyYW1ldGVyIHdhcyBzdHJpY3RlciB0aGFuIHRoZSB3aWRlbmVkIHZlcnNpb24uIEJ5IHN3aXRjaGluZyB0byBgQW55Um91dGVgIHdlXG4gICAqIHJldGFpbiBgYW55YCBpbiB0aGUgZXJhc2VkIHBvc2l0aW9uIGluc3RlYWQgb2YgYSBjb25jcmV0ZSBgUGFyYW1EYXRhYCwgd2hpY2hcbiAgICogYWxsb3dzIHN0cmljdGVyIGNoaWxkIGB2YXJpYWJsZXNgIHNoYXBlcyB3aXRob3V0IGNvbmZsaWN0LlxuICAgKlxuICAgKiBVc2luZyBgQW55Um91dGVgIHB1cnBvc2VseSBwcmVzZXJ2ZXMgaW5kZXBlbmRlbmNlIG9mIGVhY2ggcm91dGUncyBnZW5lcmljXG4gICAqIHBhcmFtZXRlcnMgd2hpbGUgc3RpbGwga2VlcGluZyBydW50aW1lIHJlcHJlc2VudGF0aW9uIGlkZW50aWNhbC5cbiAgICovXG4gIGNoaWxkcmVuPzogKEFueVJvdXRlIHwgUmVkaXJlY3QpW107XG4gIC8qKiBSZXNvdXJjZSBwYWdlIGZvciBsYXp5LWxvYWRlZCBjb21wb25lbnRzICovXG4gIHJlc291cmNlUGFnZT86IFJlc291cmNlUGFnZSB8IG51bGw7XG4gIC8qKiBVUkwgcGF0aCBwYXR0ZXJuIGZvciB0aGlzIHJvdXRlICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKiBGdW5jdGlvbiB0byBwcmVwYXJlIGRhdGEgYmVmb3JlIHJlbmRlcmluZyAqL1xuICBwcmVwYXJlPzogUm91dGVQcmVwYXJlPFRQcmVwYXJlZCwgVFZhcmlhYmxlcywgVFF1ZXJ5U2hhcGU+O1xuICAvKiogQ3VzdG9tIHJlbmRlciBmdW5jdGlvbiBmb3IgdGhpcyByb3V0ZSAqL1xuICByZW5kZXI/OiBSb3V0ZVJlbmRlcjxUUHJlcGFyZWQsIFRWYXJpYWJsZXMsIFRRdWVyeVNoYXBlPjtcbiAgLyoqIFVuaWZpZWQgc2NoZW1hIChmaWx0ZXIgLyBxdWVyeSkgKi9cbiAgcXVlcnlTY2hlbWE/OiBGaWx0ZXJTY2hlbWE7XG59O1xuXG4vKipcbiAqIFByb3BzIHBhc3NlZCB0byBSb3V0ZUNvbXBvbmVudCBpbnN0YW5jZXMuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVDb21wb25lbnRQcm9wczxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSxcbiAgVFF1ZXJ5U2hhcGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAgLyoqIENoaWxkIGNvbXBvbmVudHMgdG8gcmVuZGVyICovXG4gIGNoaWxkcmVuOiBSZWFjdEVsZW1lbnQ7XG4gIC8qKiBSb3V0ZXIgY29udGV4dCBjb250YWluaW5nIG5hdmlnYXRpb24gYW5kIHN0YXRlICovXG4gIHJvdXRlckNvbnRleHQ6IFJvdXRpbmdDb250ZXh0VHlwZTxUVmFyaWFibGVzLCBUUXVlcnlTaGFwZT47XG4gIC8qKiBUaGUgcm91dGUgY29uZmlndXJhdGlvbiAqL1xuICByb3V0ZTogUm91dGU8YW55LCBhbnk+O1xufTtcblxuLyoqXG4gKiBDYWxsYmFjayBmdW5jdGlvbiBmb3Igcm91dGUgY2hhbmdlcy5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBTdWJzY3JpYmVDYWxsYmFjazxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IChcbiAgbmV4dEVudHJ5OiBSb3V0ZUVudHJ5PFRWYXJpYWJsZXM+LFxuKSA9PiB2b2lkO1xuXG4vKipcbiAqIFJvdXRlciBjb250ZXh0IHR5cGUgdGhhdCBwcm92aWRlcyBuYXZpZ2F0aW9uIGFuZCBzdGF0ZSBtYW5hZ2VtZW50LlxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRpbmdDb250ZXh0VHlwZTxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSxcbiAgVFF1ZXJ5U2hhcGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAgLyoqIEJyb3dzZXIgaGlzdG9yeSBpbnN0YW5jZSBmb3IgbmF2aWdhdGlvbiAqL1xuICBoaXN0b3J5OiBCcm93c2VySGlzdG9yeTtcbiAgLyoqIEdldCB0aGUgY3VycmVudCByb3V0ZSBlbnRyeSAqL1xuICBnZXQ6ICgpID0+IFJvdXRlRW50cnk8VFZhcmlhYmxlcz47XG4gIC8qKiBQcmVsb2FkIGNvZGUgZm9yIGEgcm91dGUgd2l0aG91dCBzdG9yaW5nIHRoZSByZXN1bHQgKi9cbiAgcHJlbG9hZENvZGU6IChwYXRobmFtZTogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogUHJlbG9hZCBjb2RlIGFuZCBkYXRhIGZvciBhIHJvdXRlIHdpdGhvdXQgc3RvcmluZyB0aGUgcmVzdWx0ICovXG4gIHByZWxvYWQ6IChwYXRobmFtZTogc3RyaW5nKSA9PiB2b2lkO1xuICAvKiogU3Vic2NyaWJlIHRvIHJvdXRlIGNoYW5nZXMgKi9cbiAgc3Vic2NyaWJlOiAoY2FsbGJhY2s6IFN1YnNjcmliZUNhbGxiYWNrPFRWYXJpYWJsZXM+KSA9PiAoKSA9PiB2b2lkO1xuICAvKiogTmF2aWdhdGUgd2l0aCBvcHRpb25hbCBwYXRobmFtZSBhbmQgdHlwZWQvcmF3IHF1ZXJ5IG9iamVjdCAqL1xuICBuYXZpZ2F0ZTogKG9wdHM6IHtcbiAgICBwYXRobmFtZT86IHN0cmluZztcbiAgICBxdWVyeT86IFRRdWVyeVNoYXBlO1xuICAgIC8qKiBPcHRpb25hbCBmaWx0ZXJzIG9iamVjdCB0byBzZXJpYWxpemUgdXNpbmcgdGhlIGFjdGl2ZSBxdWVyeVNjaGVtYSAqL1xuICAgIGZpbHRlcnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICByZXBsYWNlPzogYm9vbGVhbjtcbiAgfSkgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogUmV0dXJuIHR5cGUgZm9yIHJlc291cmNlIHBhZ2UgbG9hZGVycy5cbiAqL1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VQYWdlUmV0dXJuID1cbiAgfCB7IGRlZmF1bHQ6IENvbXBvbmVudFR5cGU8YW55PiB9XG4gIHwgQ29tcG9uZW50VHlwZTxhbnk+O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgbG9hZHMgYSByZXNvdXJjZSBwYWdlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VQYWdlTG9hZGVyID0gKCkgPT4gUHJvbWlzZTxSZXNvdXJjZVBhZ2VSZXR1cm4+O1xuXG4vKiogVXRpbGl0eTogaW5mZXIgZmlsdGVycyB0eXBlIGZvciBhIGdpdmVuIHF1ZXJ5IHNjaGVtYSAqL1xuZXhwb3J0IHR5cGUgSW5mZXJGaWx0ZXJzPFMgZXh0ZW5kcyBGaWx0ZXJTY2hlbWEgfCB1bmRlZmluZWQ+ID1cbiAgUyBleHRlbmRzIEZpbHRlclNjaGVtYSA/IEluZmVyRmlsdGVyUmVzdWx0PFM+IDogUmVjb3JkPHN0cmluZywgbmV2ZXI+O1xuXG5leHBvcnQgdHlwZSB7IEZpbHRlclNjaGVtYSB9O1xuXG4vKipcbiAqIENvbnZlbmllbmNlIHVtYnJlbGxhIHJvdXRlIHR5cGUuXG4gKiBVc2VkIHdoZXJlIHdlIGp1c3Qgd2FudCB0byBjYXJyeSBhcmJpdHJhcnkgcm91dGUgZ2VuZXJpY3MgZm9yd2FyZCB3aXRob3V0IGVyYXN1cmUuXG4gKi9cbmV4cG9ydCB0eXBlIEFueVJvdXRlID0gUm91dGU8YW55LCBhbnksIGFueT47XG5cbi8qKiBFeHRyYWN0IHRoZSBwcmVwYXJlZCB0eXBlIGZyb20gYSBSb3V0ZSAqL1xuZXhwb3J0IHR5cGUgUHJlcGFyZWRPZjxSPiA9IFIgZXh0ZW5kcyBSb3V0ZTxpbmZlciBQLCBhbnksIGFueT4gPyBQIDogbmV2ZXI7XG4vKiogRXh0cmFjdCB0aGUgdmFyaWFibGVzIHR5cGUgZnJvbSBhIFJvdXRlICovXG5leHBvcnQgdHlwZSBWYXJpYWJsZXNPZjxSPiA9IFIgZXh0ZW5kcyBSb3V0ZTxhbnksIGluZmVyIFYsIGFueT4gPyBWIDogbmV2ZXI7XG4vKiogRXh0cmFjdCB0aGUgcXVlcnkgc2hhcGUgdHlwZSBmcm9tIGEgUm91dGUgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5U2hhcGVPZjxSPiA9IFIgZXh0ZW5kcyBSb3V0ZTxhbnksIGFueSwgaW5mZXIgUT4gPyBRIDogbmV2ZXI7XG5cbi8qKiBQYXRoIGxpdGVyYWwgdHlwZSBpZiBwcmVzZW50ICovXG5leHBvcnQgdHlwZSBQYXRoT2Y8Uj4gPSBSIGV4dGVuZHMgeyBwYXRoPzogaW5mZXIgUCB9XG4gID8gUCBleHRlbmRzIHN0cmluZ1xuICAgID8gUFxuICAgIDogbmV2ZXJcbiAgOiBuZXZlcjtcblxuLyoqIFVuaW9uIG9mIGFsbCBjb25jcmV0ZSBwYXRoIHN0cmluZ3MgZnJvbSBhIHR1cGxlL2FycmF5IG9mIHJvdXRlcyAobm9uLXJlY3Vyc2l2ZSkgKi9cbmV4cG9ydCB0eXBlIFBhdGhzT2Y8Um91dGVzIGV4dGVuZHMgcmVhZG9ubHkgQW55Um91dGVbXT4gPSBQYXRoT2Y8XG4gIFJvdXRlc1tudW1iZXJdXG4+O1xuXG4vKiogTWFwIHBhdGggLT4gcHJlcGFyZWQgdHlwZSAodW5kZWZpbmVkIGlmIHJvdXRlIGxhY2tzIHByZXBhcmUpICovXG5leHBvcnQgdHlwZSBQcmVwYXJlZE1hcDxSb3V0ZXMgZXh0ZW5kcyByZWFkb25seSBBbnlSb3V0ZVtdPiA9IHtcbiAgW0sgaW4gUGF0aHNPZjxSb3V0ZXM+XTpcbiAgICB8IFByZXBhcmVkT2Y8RXh0cmFjdDxSb3V0ZXNbbnVtYmVyXSwgeyBwYXRoPzogSyB9Pj5cbiAgICB8IHVuZGVmaW5lZDtcbn07XG5cbi8qKiBNYXAgcGF0aCAtPiBxdWVyeSBzaGFwZSAqL1xuZXhwb3J0IHR5cGUgUXVlcnlTaGFwZU1hcDxSb3V0ZXMgZXh0ZW5kcyByZWFkb25seSBBbnlSb3V0ZVtdPiA9IHtcbiAgW0sgaW4gUGF0aHNPZjxSb3V0ZXM+XTogUXVlcnlTaGFwZU9mPEV4dHJhY3Q8Um91dGVzW251bWJlcl0sIHsgcGF0aD86IEsgfT4+O1xufTtcblxuLyoqIFJ1bnRpbWUgaGVscGVyIGludGVyZmFjZSBhdWdtZW50YXRpb24gZm9yIHJvdXRlciBjb250ZXh0IChhZGRlZCBpbiBjcmVhdGVSb3V0ZXIpICovXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVkQWNjZXNzPFJvdXRlcyBleHRlbmRzIHJlYWRvbmx5IEFueVJvdXRlW10+IHtcbiAgLyoqIFJldHJpZXZlIHRoZSBwcmVwYXJlZCBvYmplY3QgZm9yIGEgY29uY3JldGUgcGF0aCAoaWYgY3VycmVudCBtYXRjaCBpbmNsdWRlcyBpdCkgKi9cbiAgZ2V0UHJlcGFyZWQ6IDxQIGV4dGVuZHMgUGF0aHNPZjxSb3V0ZXM+PihwYXRoOiBQKSA9PiBQcmVwYXJlZE1hcDxSb3V0ZXM+W1BdO1xuICAvLyBnZXRUeXBlZFF1ZXJ5IHJlbW92ZWQg4oCTIHVzZSBmaWx0ZXJzL3F1ZXJ5IGRpcmVjdGx5XG59XG5cbi8qKiBJbnB1dCBzaGFwZSBmb3IgYSBuYXZpZ2F0aW9uIHRvIGEgc3BlY2lmaWMgcGF0aCAodHlwZWQgcXVlcnkpICovXG5leHBvcnQgdHlwZSBOYXZpZ2F0ZUlucHV0Rm9yUGF0aDxcbiAgUm91dGVzIGV4dGVuZHMgcmVhZG9ubHkgQW55Um91dGVbXSxcbiAgUCBleHRlbmRzIFBhdGhzT2Y8Um91dGVzPixcbj4gPSB7XG4gIHBhdGhuYW1lOiBQO1xuICBxdWVyeT86IFF1ZXJ5U2hhcGVNYXA8Um91dGVzPltQXTtcbiAgZmlsdGVycz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICByZXBsYWNlPzogYm9vbGVhbjtcbn07XG5cbi8qKiBGYWxsYmFjayB1bnR5cGVkIG5hdmlnYXRlIGlucHV0ICovXG5leHBvcnQgdHlwZSBOYXZpZ2F0ZUlucHV0VW50eXBlZCA9IHtcbiAgcGF0aG5hbWU/OiBzdHJpbmc7XG4gIHF1ZXJ5PzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgZmlsdGVycz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHJlcGxhY2U/OiBib29sZWFuO1xufTtcblxuLyoqIE92ZXJsb2FkZWQgbmF2aWdhdGUgZnVuY3Rpb24gdHlwZSAoY29tcGlsZS10aW1lIG9ubHk7IHJ1bnRpbWUgc2luZ2xlIGltcGwpICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRlT3ZlcmxvYWRzPFJvdXRlcyBleHRlbmRzIHJlYWRvbmx5IEFueVJvdXRlW10+IHtcbiAgPFAgZXh0ZW5kcyBQYXRoc09mPFJvdXRlcz4+KG9wdHM6IE5hdmlnYXRlSW5wdXRGb3JQYXRoPFJvdXRlcywgUD4pOiB2b2lkO1xuICAob3B0czogTmF2aWdhdGVJbnB1dFVudHlwZWQpOiB2b2lkO1xufVxuIl19
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSwgUmVhY3RFbGVtZW50LCBSZWFjdE5vZGUsIEpTWCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHtcbiAgU2NoZW1hIGFzIEZpbHRlclNjaGVtYSxcbiAgSW5mZXJGaWx0ZXJzIGFzIEluZmVyRmlsdGVyUmVzdWx0LFxuICBJbmZlckZpZWxkIGFzIEluZmVyRmlsdGVyRmllbGQsXG4gIERpYWdub3N0aWMgYXMgRmlsdGVyRGlhZ25vc3RpYyxcbn0gZnJvbSAnQHBsdW1pbGUvZmlsdGVyLXF1ZXJ5JztcbmltcG9ydCB0eXBlIHsgTWF0Y2gsIE1hdGNoRnVuY3Rpb24sIFBhcmFtRGF0YSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IHR5cGUgeyBGbGF0Um91dGUgfSBmcm9tICcuL2J1aWxkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZVBhZ2UgfSBmcm9tICcuL1Jlc291cmNlUGFnZS5qcyc7XG5pbXBvcnQgdHlwZSB7IEJyb3dzZXJIaXN0b3J5IH0gZnJvbSAnLi9oaXN0b3J5L2luZGV4LmpzJztcblxuLyoqXG4gKiBJbnB1dCB0eXBlIGZvciBjcmVhdGluZyBhIEZsYXRSb3V0ZSBpbnN0YW5jZS5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBGbGF0Um91dGVJbnB1dDxUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhPiA9IHtcbiAgLyoqIFRoZSBVUkwgcGF0aCBwYXR0ZXJuIGZvciB0aGlzIHJvdXRlICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIHJlZGlyZWN0IGRlc3RpbmF0aW9uIGlmIHRoaXMgcm91dGUgc2hvdWxkIHJlZGlyZWN0ICovXG4gIHJlZGlyZWN0VG8/OiBzdHJpbmc7XG4gIC8qKiBGdW5jdGlvbiB0byBtYXRjaCBVUkwgcGF0aHMgYWdhaW5zdCB0aGlzIHJvdXRlIHBhdHRlcm4gKi9cbiAgbWF0Y2hGdW5jdGlvbjogTWF0Y2hGdW5jdGlvbjxUVmFyaWFibGVzPjtcbiAgLyoqIE5lc3RlZCByb3V0ZXMgdGhhdCBzaG91bGQgYmUgcmVuZGVyZWQgd2l0aGluIHRoaXMgcm91dGUgKi9cbiAgcm91dGVzOiBSb3V0ZTxhbnksIGFueT5bXTtcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1hdGNoZWQgcm91dGUgd2l0aCBleHRyYWN0ZWQgcGFyYW1ldGVycyBhbmQgbWV0YWRhdGEuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogVGhlIG1hdGNoIHJlc3VsdCBmcm9tIHBhdGgtdG8tcmVnZXhwICovXG4gIG1hdGNoOiBNYXRjaDxUVmFyaWFibGVzPjtcbiAgLyoqIEV4dHJhY3RlZCBwYXJhbWV0ZXJzIGZyb20gdGhlIFVSTCBwYXRoICovXG4gIHBhcmFtczogVFZhcmlhYmxlcztcbiAgLyoqIFRoZSBtYXRjaGVkIHBhdGggc3RyaW5nICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFRoZSBmbGF0IHJvdXRlIHRoYXQgd2FzIG1hdGNoZWQgKi9cbiAgcm91dGU6IEZsYXRSb3V0ZTxUVmFyaWFibGVzPjtcbn07XG5cbi8qKlxuICogQSBSZWFjdCBjb21wb25lbnQgdGhhdCBjYW4gYmUgdXNlZCBhcyBhIHJvdXRlIGNvbXBvbmVudC5cbiAqIEB0ZW1wbGF0ZSBUUHJvcHMgLSBUaGUgcHJvcHMgdHlwZSBmb3IgdGhlIGNvbXBvbmVudFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZVJlYWN0Q29tcG9uZW50PFRQcm9wcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9IChcbiAgcHJvcHM6IFRQcm9wcyxcbikgPT4gSlNYLkVsZW1lbnQgfCBudWxsO1xuXG4vKipcbiAqIE9wdGlvbnMgcGFzc2VkIHRvIGEgcm91dGUgcmVuZGVyIGZ1bmN0aW9uLlxuICogQHRlbXBsYXRlIFRQcmVwYXJlZCAtIFRoZSB0eXBlIG9mIHByZXBhcmVkIGRhdGEgcmV0dXJuZWQgYnkgdGhlIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvblxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlUmVuZGVyT3B0czxcbiAgVFByZXBhcmVkIGV4dGVuZHMgUHJlcGFyZVJlc3VsdCxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YSxcbiAgVFF1ZXJ5U2hhcGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAgLyoqIENoaWxkIGNvbXBvbmVudHMgdG8gcmVuZGVyIHdpdGhpbiB0aGlzIHJvdXRlICovXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIC8qKiBPcHRpb25hbCBjb21wb25lbnQgdG8gcmVuZGVyIChmcm9tIFJlc291cmNlUGFnZSkgKi9cbiAgQ29tcG9uZW50PzogUm91dGVSZWFjdENvbXBvbmVudDtcbiAgLyoqIERhdGEgcHJlcGFyZWQgYnkgdGhlIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvbiAqL1xuICBwcmVwYXJlZDogVFByZXBhcmVkIHwgdW5kZWZpbmVkO1xuICAvKiogVGhlIHByZXBhcmVkIHJvdXRlIHRoYXQgaXMgYmVpbmcgcmVuZGVyZWQgKi9cbiAgcHJlcGFyZWRSb3V0ZTogUHJlcGFyZWRNYXRjaFJvdXRlO1xuICAvKiogVGhlIG1hdGNoZWQgcm91dGUgb3IgbnVsbCBpZiBubyBtYXRjaCAqL1xuICByb3V0ZTogRmxhdFJvdXRlPFRWYXJpYWJsZXM+IHwgbnVsbDtcbiAgLyoqIFJhdyBxdWVyeSBvYmplY3QgKFBoYXNlIDIgZ2VuZXJpYyBwYXJzaW5nKSAqL1xuICByYXdRdWVyeTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+O1xuICAvKiogVHlwZWQgcXVlcnkgb2JqZWN0IChQaGFzZSAzKS4gRmFsbHMgYmFjayB0byByYXdRdWVyeSBpZiBubyBzY2hlbWEgKi9cbiAgcXVlcnk6IFRRdWVyeVNoYXBlO1xufTtcblxuLyoqXG4gKiBGdW5jdGlvbiB0byByZW5kZXIgYSByb3V0ZSB3aXRoIGN1c3RvbSBsb2dpYy5cbiAqIEB0ZW1wbGF0ZSBUUHJlcGFyZWQgLSBUaGUgdHlwZSBvZiBwcmVwYXJlZCBkYXRhIHJldHVybmVkIGJ5IHRoZSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb25cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZVJlbmRlcjxcbiAgVFByZXBhcmVkIGV4dGVuZHMgUHJlcGFyZVJlc3VsdCxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YSxcbiAgVFF1ZXJ5U2hhcGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IChcbiAgb3B0czogUm91dGVSZW5kZXJPcHRzPFRQcmVwYXJlZCwgVFZhcmlhYmxlcywgVFF1ZXJ5U2hhcGU+LFxuKSA9PiBSZWFjdEVsZW1lbnQgfCBudWxsO1xuXG4vKipcbiAqIEEgcm91dGUgdGhhdCBoYXMgYmVlbiBwcmVwYXJlZCBmb3IgcmVuZGVyaW5nIHdpdGggbG9hZGVkIGRhdGEgYW5kIGNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCB0eXBlIFByZXBhcmVkTWF0Y2hSb3V0ZSA9IHtcbiAgLyoqIFRoZSBwYXRoIHRoYXQgd2FzIG1hdGNoZWQgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqIERhdGEgcHJlcGFyZWQgYnkgdGhlIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvbiAqL1xuICBwcmVwYXJlZDogUHJlcGFyZVJlc3VsdCB8IHVuZGVmaW5lZDtcbiAgLyoqIEN1c3RvbSByZW5kZXIgZnVuY3Rpb24gZm9yIHRoaXMgcm91dGUgKi9cbiAgcmVuZGVyPzogUm91dGVSZW5kZXI8YW55LCBhbnk+O1xuICAvKiogUmVkaXJlY3QgZGVzdGluYXRpb24gaWYgdGhpcyByb3V0ZSBzaG91bGQgcmVkaXJlY3QgKi9cbiAgcmVkaXJlY3RUbzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIFJlc291cmNlIHBhZ2UgZm9yIGxhenktbG9hZGVkIGNvbXBvbmVudHMgKi9cbiAgcmVzb3VyY2VQYWdlPzogUmVzb3VyY2VQYWdlIHwgbnVsbDtcbn07XG5cbi8qKlxuICogUmVzdWx0IG9mIHByZXBhcmluZyBhIG1hdGNoZWQgcm91dGUsIGluY2x1ZGluZyBhbGwgbmVzdGVkIHJvdXRlcy5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBQcmVwYXJlZE1hdGNoPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0ge1xuICAvKiogVGhlIG1hdGNoZWQgcm91dGUgb3IgbnVsbCBpZiBubyBtYXRjaCAqL1xuICBtYXRjaDogUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXM+IHwgbnVsbDtcbiAgLyoqIEFycmF5IG9mIHByZXBhcmVkIHJvdXRlcyBmb3IgcmVuZGVyaW5nICovXG4gIHJvdXRlczogUHJlcGFyZWRNYXRjaFJvdXRlW107XG59O1xuXG4vKipcbiAqIENvbXBsZXRlIHJvdXRlIGVudHJ5IHJlcHJlc2VudGluZyB0aGUgY3VycmVudCByb3V0ZXIgc3RhdGUuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVFbnRyeTxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSxcbiAgUyBleHRlbmRzIEZpbHRlclNjaGVtYSB8IHVuZGVmaW5lZCA9IEZpbHRlclNjaGVtYSB8IHVuZGVmaW5lZCxcbj4gPSB7XG4gIC8qKiBUaGUgcHJlcGFyZWQgbWF0Y2ggd2l0aCBsb2FkZWQgZGF0YSBhbmQgY29tcG9uZW50cyAqL1xuICBwcmVwYXJlZE1hdGNoOiBQcmVwYXJlZE1hdGNoPFRWYXJpYWJsZXM+O1xuICAvKiogQ3VycmVudCBicm93c2VyIGxvY2F0aW9uICovXG4gIGxvY2F0aW9uOiBMb2NhdGlvbjtcbiAgLyoqIFRoZSBtYXRjaGVkIHJvdXRlIG9yIG51bGwgaWYgbm8gbWF0Y2ggKi9cbiAgcm91dGU6IFJvdXRlck1hdGNoZWRSb3V0ZTxUVmFyaWFibGVzPiB8IG51bGw7XG4gIC8qKiBXaGV0aGVyIHRvIGZvcmNlIGEgcmUtcmVuZGVyIGV2ZW4gaWYgdGhlIHBhdGggaGFzbid0IGNoYW5nZWQgKi9cbiAgZm9yY2VSZXJlbmRlcjogYm9vbGVhbjtcbiAgLyoqIFJhdyBzZWFyY2ggc3RyaW5nIChxdWVyeSBwYXJ0KSBvZiB0aGUgbG9jYXRpb24gZm9yIGNoYW5nZSBkZXRlY3Rpb24gKi9cbiAgcmF3U2VhcmNoPzogc3RyaW5nO1xuICAvKiogUGFyc2VkIHJhdyBxdWVyeSBwYXJhbWV0ZXJzICh2YWx1ZXMgYWdncmVnYXRlZDsgZHVwbGljYXRlcyA9PiBhcnJheSkgKi9cbiAgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZ1tdPjtcbiAgLyoqIExlZ2FjeSB0eXBlZFF1ZXJ5IHJlbW92ZWQg4oCTIHVuaWZpZWQgZmlsdGVycyBoYW5kbGUgdHlwZWQgYWNjZXNzICovXG4gIC8vIHR5cGVkUXVlcnk/OiBuZXZlcjtcbiAgLyoqIFBhcnNlZCBmaWx0ZXJzIG9iamVjdCBkZXJpdmVkIGZyb20gdGhlIGRlZXBlc3QgYWN0aXZlIHF1ZXJ5U2NoZW1hIChpZiBhbnkpICovXG4gIGZpbHRlcnM/OiBTIGV4dGVuZHMgRmlsdGVyU2NoZW1hXG4gICAgPyBJbmZlckZpbHRlclJlc3VsdDxTPlxuICAgIDogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBEaWFnbm9zdGljcyBmcm9tIGZpbHRlciBwYXJzaW5nIChpZiBhbnkpICovXG4gIGZpbHRlckRpYWdub3N0aWNzPzogRmlsdGVyRGlhZ25vc3RpY1tdO1xuICAvKiogRGVlcGVzdCBhY3RpdmUgcXVlcnkgc2NoZW1hIChGaWx0ZXJTY2hlbWEgZnJvbSBAcGx1bWlsZS9maWx0ZXItcXVlcnkpIGZvciBjdXJyZW50IG1hdGNoZWQgcm91dGUgKi9cbiAgYWN0aXZlUXVlcnlTY2hlbWE/OiBTO1xufTtcblxuLy8gUXVlcnlTY2hlbWEgJiBkZXNjcmlwdG9ycyByZW1vdmVkIChQaGFzZSAyIHVuaWZpZWQgbW9kZWwpIOKAkyBoaXN0b3JpY2FsIHR5cGVzIGludGVudGlvbmFsbHkgb21pdHRlZC5cblxuLyoqXG4gKiBIVFRQIHN0YXR1cyBjb2RlcyBmb3IgcmVkaXJlY3RzLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZXJSZWRpcmVjdFN0YXR1cyA9IDMwMSB8IDMwMjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbWF0Y2hlZCByb3V0ZSB3aXRoIHJlZ2V4IG1hdGNoIHJlc3VsdC5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBNYXRjaGVkUm91dGU8VFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YT4gPSB7XG4gIC8qKiBUaGUgcmVnZXggbWF0Y2ggcmVzdWx0ICovXG4gIG1hdGNoOiBSZWdFeHBFeGVjQXJyYXk7XG4gIC8qKiBUaGUgZmxhdCByb3V0ZSB0aGF0IHdhcyBtYXRjaGVkICovXG4gIHJvdXRlOiBGbGF0Um91dGU8VFZhcmlhYmxlcz47XG59O1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGEgcm91dGUgcmVkaXJlY3QuXG4gKi9cbmV4cG9ydCB0eXBlIFJlZGlyZWN0ID0ge1xuICAvKiogT3B0aW9uYWwgc291cmNlIHBhdGggcGF0dGVybiAqL1xuICBwYXRoPzogc3RyaW5nO1xuICAvKiogRGVzdGluYXRpb24gcGF0aCBmb3IgdGhlIHJlZGlyZWN0ICovXG4gIHRvOiBzdHJpbmc7XG4gIC8qKiBIVFRQIHN0YXR1cyBjb2RlIGZvciB0aGUgcmVkaXJlY3QgKi9cbiAgc3RhdHVzPzogUm91dGVyUmVkaXJlY3RTdGF0dXM7XG59O1xuXG4vKipcbiAqIEJhc2UgdHlwZSBmb3IgZGF0YSBwcmVwYXJlZCBieSByb3V0ZSBwcmVwYXJlIGZ1bmN0aW9ucy5cbiAqL1xuLy8gUHJlcGFyZWQgZGF0YSBjYW4gYmUgYW55IHJlY29yZDsgcmV0YWluIGFueSB0byBhdm9pZCBvdmVyLWNvbnN0cmFpbmluZyB1c2VyIGNvZGUuXG5leHBvcnQgdHlwZSBQcmVwYXJlUmVzdWx0ID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIHBhc3NlZCB0byBhIHJvdXRlJ3MgcHJlcGFyZSBmdW5jdGlvbi5cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBQcmVwYXJlUGFyYW1zPFxuICBUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhLFxuICBUUXVlcnlTaGFwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0ge1xuICAvKiogVGhlIG1hdGNoZWQgcm91dGUgd2l0aCBleHRyYWN0ZWQgcGFyYW1ldGVycyAqL1xuICBtYXRjaDogUm91dGVyTWF0Y2hlZFJvdXRlPFRWYXJpYWJsZXM+O1xuICAvKiogVGhlIGZsYXQgcm91dGUgdGhhdCB3YXMgbWF0Y2hlZCAqL1xuICBtYXRjaGVkUm91dGU6IEZsYXRSb3V0ZTxUVmFyaWFibGVzPjtcbiAgLyoqIFJlc291cmNlIHBhZ2UgZm9yIGxhenktbG9hZGVkIGNvbXBvbmVudHMgKi9cbiAgcmVzb3VyY2VQYWdlPzogUmVzb3VyY2VQYWdlIHwgbnVsbDtcbiAgLyoqIEV4dHJhY3RlZCBVUkwgcGFyYW1ldGVycyAqL1xuICB2YXJpYWJsZXM6IFRWYXJpYWJsZXM7XG4gIC8qKiBUeXBlZCBxdWVyeSBvYmplY3QgKi9cbiAgcXVlcnk6IFRRdWVyeVNoYXBlO1xufTtcblxuLyoqXG4gKiBGdW5jdGlvbiB0byBwcmVwYXJlIGRhdGEgZm9yIGEgcm91dGUgYmVmb3JlIHJlbmRlcmluZy5cbiAqIEB0ZW1wbGF0ZSBUUHJlcGFyZWQgLSBUaGUgdHlwZSBvZiBkYXRhIHRoaXMgZnVuY3Rpb24gcmV0dXJuc1xuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlUHJlcGFyZTxcbiAgVFByZXBhcmVkIGV4dGVuZHMgUHJlcGFyZVJlc3VsdCxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YSxcbiAgVFF1ZXJ5U2hhcGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IChwYXJhbXM6IFByZXBhcmVQYXJhbXM8VFZhcmlhYmxlcywgVFF1ZXJ5U2hhcGU+KSA9PiBUUHJlcGFyZWQ7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYSBzaW5nbGUgcm91dGUgaW4gdGhlIHJvdXRlci5cbiAqIEB0ZW1wbGF0ZSBUUHJlcGFyZWQgLSBUaGUgdHlwZSBvZiBwcmVwYXJlZCBkYXRhIHJldHVybmVkIGJ5IHRoZSByb3V0ZSdzIHByZXBhcmUgZnVuY3Rpb25cbiAqIEB0ZW1wbGF0ZSBUVmFyaWFibGVzIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgdHlwZSBSb3V0ZTxcbiAgVFByZXBhcmVkIGV4dGVuZHMgUHJlcGFyZVJlc3VsdCxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSA9IFBhcmFtRGF0YSxcbiAgVFF1ZXJ5U2hhcGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTIGV4dGVuZHMgRmlsdGVyU2NoZW1hIHwgdW5kZWZpbmVkID0gRmlsdGVyU2NoZW1hIHwgdW5kZWZpbmVkLFxuPiA9IHtcbiAgLyoqXG4gICAqIE5lc3RlZCBjaGlsZCByb3V0ZXMgb3IgcmVkaXJlY3RzLlxuICAgKlxuICAgKiBJTVBPUlRBTlQ6IFRoaXMgdXNlZCB0byBiZSB0eXBlZCBhcyBgKFJvdXRlPFByZXBhcmVSZXN1bHQ+IHwgUmVkaXJlY3QpW11gIHdoaWNoXG4gICAqIHdpZGVuZWQgKGVyYXNlZCkgdGhlIGdlbmVyaWMgcGFyYW1ldGVyIHR5cGVzIChub3RhYmx5IHRoZSBgVFZhcmlhYmxlc2Agb2YgZWFjaFxuICAgKiBjaGlsZCkuIFRoYXQgY2F1c2VkIFR5cGVTY3JpcHQgdG8gdHJlYXQgZXZlcnkgY2hpbGQgcm91dGUncyBgcHJlcGFyZWAgY2FsbGJhY2tcbiAgICogYXMgYWNjZXB0aW5nIHRoZSBkZWZhdWx0IGBQYXJhbURhdGFgIHNoYXBlIChlZmZlY3RpdmVseSBgUGFydGlhbDxSZWNvcmQ8c3RyaW5nLHN0cmluZ3xzdHJpbmdbXT4+YCkuXG4gICAqIFdoZW4gdXNlciBjb2RlIHNwZWNpZmllZCBhIG1vcmUgc3BlY2lmaWMgcGFyYW1ldGVyIG9iamVjdCAoZS5nLiBgeyBzbHVnOiBzdHJpbmcgfWApXG4gICAqIGZvciBhIHBhdGggbGlrZSBgOnNsdWdgLCB0aGUgZnVuY3Rpb24gdHlwZSBiZWNhbWUgbm9u4oCRYXNzaWduYWJsZSBiZWNhdXNlIGl0c1xuICAgKiBwYXJhbWV0ZXIgd2FzIHN0cmljdGVyIHRoYW4gdGhlIHdpZGVuZWQgdmVyc2lvbi4gQnkgc3dpdGNoaW5nIHRvIGBBbnlSb3V0ZWAgd2VcbiAgICogcmV0YWluIGBhbnlgIGluIHRoZSBlcmFzZWQgcG9zaXRpb24gaW5zdGVhZCBvZiBhIGNvbmNyZXRlIGBQYXJhbURhdGFgLCB3aGljaFxuICAgKiBhbGxvd3Mgc3RyaWN0ZXIgY2hpbGQgYHZhcmlhYmxlc2Agc2hhcGVzIHdpdGhvdXQgY29uZmxpY3QuXG4gICAqXG4gICAqIFVzaW5nIGBBbnlSb3V0ZWAgcHVycG9zZWx5IHByZXNlcnZlcyBpbmRlcGVuZGVuY2Ugb2YgZWFjaCByb3V0ZSdzIGdlbmVyaWNcbiAgICogcGFyYW1ldGVycyB3aGlsZSBzdGlsbCBrZWVwaW5nIHJ1bnRpbWUgcmVwcmVzZW50YXRpb24gaWRlbnRpY2FsLlxuICAgKi9cbiAgY2hpbGRyZW4/OiAoQW55Um91dGUgfCBSZWRpcmVjdClbXTtcbiAgLyoqIFJlc291cmNlIHBhZ2UgZm9yIGxhenktbG9hZGVkIGNvbXBvbmVudHMgKi9cbiAgcmVzb3VyY2VQYWdlPzogUmVzb3VyY2VQYWdlIHwgbnVsbDtcbiAgLyoqIFVSTCBwYXRoIHBhdHRlcm4gZm9yIHRoaXMgcm91dGUgKi9cbiAgcGF0aD86IHN0cmluZztcbiAgLyoqIEZ1bmN0aW9uIHRvIHByZXBhcmUgZGF0YSBiZWZvcmUgcmVuZGVyaW5nICovXG4gIHByZXBhcmU/OiBSb3V0ZVByZXBhcmU8VFByZXBhcmVkLCBUVmFyaWFibGVzLCBUUXVlcnlTaGFwZT47XG4gIC8qKiBDdXN0b20gcmVuZGVyIGZ1bmN0aW9uIGZvciB0aGlzIHJvdXRlICovXG4gIHJlbmRlcj86IFJvdXRlUmVuZGVyPFRQcmVwYXJlZCwgVFZhcmlhYmxlcywgVFF1ZXJ5U2hhcGU+O1xuICAvKiogVW5pZmllZCBzY2hlbWEgKGZpbHRlciAvIHF1ZXJ5KSAqL1xuICBxdWVyeVNjaGVtYT86IFM7XG59O1xuXG4vKipcbiAqIFByb3BzIHBhc3NlZCB0byBSb3V0ZUNvbXBvbmVudCBpbnN0YW5jZXMuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVDb21wb25lbnRQcm9wczxcbiAgVFZhcmlhYmxlcyBleHRlbmRzIFBhcmFtRGF0YSxcbiAgUyBleHRlbmRzIEZpbHRlclNjaGVtYSB8IHVuZGVmaW5lZCA9IEZpbHRlclNjaGVtYSB8IHVuZGVmaW5lZCxcbiAgVFF1ZXJ5U2hhcGUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAgLyoqIENoaWxkIGNvbXBvbmVudHMgdG8gcmVuZGVyICovXG4gIGNoaWxkcmVuOiBSZWFjdEVsZW1lbnQ7XG4gIC8qKiBSb3V0ZXIgY29udGV4dCBjb250YWluaW5nIG5hdmlnYXRpb24gYW5kIHN0YXRlICovXG4gIHJvdXRlckNvbnRleHQ6IFJvdXRpbmdDb250ZXh0VHlwZTxUVmFyaWFibGVzLCBTLCBUUXVlcnlTaGFwZT47XG4gIC8qKiBUaGUgcm91dGUgY29uZmlndXJhdGlvbiAqL1xuICByb3V0ZTogUm91dGU8YW55LCBhbnksIGFueSwgUz47XG59O1xuXG4vKipcbiAqIENhbGxiYWNrIGZ1bmN0aW9uIGZvciByb3V0ZSBjaGFuZ2VzLlxuICogQHRlbXBsYXRlIFRWYXJpYWJsZXMgLSBSb3V0ZSBwYXJhbWV0ZXIgdHlwZXMgZXh0cmFjdGVkIGZyb20gdGhlIFVSTCBwYXRoXG4gKi9cbmV4cG9ydCB0eXBlIFN1YnNjcmliZUNhbGxiYWNrPFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGE+ID0gKFxuICBuZXh0RW50cnk6IFJvdXRlRW50cnk8VFZhcmlhYmxlcz4sXG4pID0+IHZvaWQ7XG5cbi8qKlxuICogUm91dGVyIGNvbnRleHQgdHlwZSB0aGF0IHByb3ZpZGVzIG5hdmlnYXRpb24gYW5kIHN0YXRlIG1hbmFnZW1lbnQuXG4gKiBAdGVtcGxhdGUgVFZhcmlhYmxlcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IHR5cGUgUm91dGluZ0NvbnRleHRUeXBlPFxuICBUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhLFxuICBTIGV4dGVuZHMgRmlsdGVyU2NoZW1hIHwgdW5kZWZpbmVkID0gRmlsdGVyU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBUUXVlcnlTaGFwZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0ge1xuICAvKiogQnJvd3NlciBoaXN0b3J5IGluc3RhbmNlIGZvciBuYXZpZ2F0aW9uICovXG4gIGhpc3Rvcnk6IEJyb3dzZXJIaXN0b3J5O1xuICAvKiogR2V0IHRoZSBjdXJyZW50IHJvdXRlIGVudHJ5ICovXG4gIGdldDogKCkgPT4gUm91dGVFbnRyeTxUVmFyaWFibGVzLCBTPjtcbiAgLyoqIFByZWxvYWQgY29kZSBmb3IgYSByb3V0ZSB3aXRob3V0IHN0b3JpbmcgdGhlIHJlc3VsdCAqL1xuICBwcmVsb2FkQ29kZTogKHBhdGhuYW1lOiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKiBQcmVsb2FkIGNvZGUgYW5kIGRhdGEgZm9yIGEgcm91dGUgd2l0aG91dCBzdG9yaW5nIHRoZSByZXN1bHQgKi9cbiAgcHJlbG9hZDogKHBhdGhuYW1lOiBzdHJpbmcpID0+IHZvaWQ7XG4gIC8qKiBTdWJzY3JpYmUgdG8gcm91dGUgY2hhbmdlcyAoc2NoZW1hIGRlcml2YWJsZSwgbm90IG5lZWRlZCBpbiBzaWduYXR1cmUpICovXG4gIHN1YnNjcmliZTogKGNhbGxiYWNrOiBTdWJzY3JpYmVDYWxsYmFjazxUVmFyaWFibGVzPikgPT4gKCkgPT4gdm9pZDtcbiAgLyoqIE5hdmlnYXRlIHdpdGggb3B0aW9uYWwgcGF0aG5hbWUgYW5kIHR5cGVkL3JhdyBxdWVyeSBvYmplY3QgKi9cbiAgbmF2aWdhdGU6IChvcHRzOiB7XG4gICAgcGF0aG5hbWU/OiBzdHJpbmc7XG4gICAgcXVlcnk/OiBUUXVlcnlTaGFwZTtcbiAgICAvKiogT3B0aW9uYWwgZmlsdGVycyBvYmplY3QgdG8gc2VyaWFsaXplIHVzaW5nIHRoZSBhY3RpdmUgcXVlcnlTY2hlbWEgKi9cbiAgICBmaWx0ZXJzPzogUyBleHRlbmRzIEZpbHRlclNjaGVtYVxuICAgICAgPyBJbmZlckZpbHRlclJlc3VsdDxTPlxuICAgICAgOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICByZXBsYWNlPzogYm9vbGVhbjtcbiAgfSkgPT4gdm9pZDtcbn07XG5cbi8qKlxuICogUmV0dXJuIHR5cGUgZm9yIHJlc291cmNlIHBhZ2UgbG9hZGVycy5cbiAqL1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VQYWdlUmV0dXJuID1cbiAgfCB7IGRlZmF1bHQ6IENvbXBvbmVudFR5cGU8YW55PiB9XG4gIHwgQ29tcG9uZW50VHlwZTxhbnk+O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgbG9hZHMgYSByZXNvdXJjZSBwYWdlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VQYWdlTG9hZGVyID0gKCkgPT4gUHJvbWlzZTxSZXNvdXJjZVBhZ2VSZXR1cm4+O1xuXG4vKiogVXRpbGl0eTogaW5mZXIgZmlsdGVycyB0eXBlIGZvciBhIGdpdmVuIHF1ZXJ5IHNjaGVtYSAqL1xuZXhwb3J0IHR5cGUgSW5mZXJGaWx0ZXJzPFMgZXh0ZW5kcyBGaWx0ZXJTY2hlbWEgfCB1bmRlZmluZWQ+ID1cbiAgUyBleHRlbmRzIEZpbHRlclNjaGVtYSA/IEluZmVyRmlsdGVyUmVzdWx0PFM+IDogUmVjb3JkPHN0cmluZywgbmV2ZXI+O1xuXG5leHBvcnQgdHlwZSB7IEZpbHRlclNjaGVtYSB9O1xuXG4vKiogUmUtZXhwb3J0IGhlbHBlciBmaWx0ZXItcXVlcnkgdHlwZSBmb3IgdXNlciBjb252ZW5pZW5jZSAqL1xuZXhwb3J0IHR5cGUgeyBJbmZlckZpbHRlckZpZWxkIGFzIEluZmVyRmllbGQgfTtcblxuLyoqXG4gKiBTdHJvbmdseSB0eXBlZCBmaWx0ZXIgYWN0aW9ucyAoUGhhc2UgMSBiYXNlIHR5cGVzKS4gSW1wbGVtZW50YXRpb24gd2lsbCBiZSB3aXJlZFxuICogaW4gYSBsYXRlciBwaGFzZSB3aGVuIGB1c2VGaWx0ZXJzYCBiZWNvbWVzIGdlbmVyaWMuXG4gKlxuICogUzogU2NoZW1hIHR5cGUgcGFzc2VkIHRvIHRoZSBob29rL3JvdXRlLlxuICovXG5leHBvcnQgdHlwZSBUeXBlZEZpbHRlckFjdGlvbnM8UyBleHRlbmRzIEZpbHRlclNjaGVtYT4gPSB7XG4gIC8qKiBTZXQgb3IgdW5zZXQgKHZhbHVlID0gdW5kZWZpbmVkKSBhIHNwZWNpZmljIG9wZXJhdG9yIHZhbHVlIGZvciBhIGZpZWxkICovXG4gIHNldDogPFxuICAgIEYgZXh0ZW5kcyBrZXlvZiBTICYgc3RyaW5nLFxuICAgIE8gZXh0ZW5kcyBrZXlvZiBOb25OdWxsYWJsZTxJbmZlckZpbHRlclJlc3VsdDxTPltGXT4gJiBzdHJpbmcsXG4gID4oXG4gICAgZmllbGQ6IEYsXG4gICAgb3BlcmF0b3I6IE8sXG4gICAgdmFsdWU6IE5vbk51bGxhYmxlPEluZmVyRmlsdGVyUmVzdWx0PFM+W0ZdPltPXSB8IHVuZGVmaW5lZCxcbiAgICBvcHRzPzogeyByZXBsYWNlPzogYm9vbGVhbiB9LFxuICApID0+IHZvaWQ7XG4gIC8qKiBSZW1vdmUgYSB3aG9sZSBmaWVsZCBvciBhIHNwZWNpZmljIG9wZXJhdG9yICovXG4gIHJlbW92ZTogPFxuICAgIEYgZXh0ZW5kcyBrZXlvZiBTICYgc3RyaW5nLFxuICAgIE8gZXh0ZW5kcyBrZXlvZiBOb25OdWxsYWJsZTxJbmZlckZpbHRlclJlc3VsdDxTPltGXT4gJiBzdHJpbmcsXG4gID4oXG4gICAgZmllbGQ6IEYsXG4gICAgb3BlcmF0b3I/OiBPLFxuICAgIG9wdHM/OiB7IHJlcGxhY2U/OiBib29sZWFuIH0sXG4gICkgPT4gdm9pZDtcbiAgLyoqIE1lcmdlIGEgcGFydGlhbCBmaWx0ZXJzIG9iamVjdCAqL1xuICBtZXJnZTogKFxuICAgIHBhdGNoOiBQYXJ0aWFsPEluZmVyRmlsdGVyUmVzdWx0PFM+PixcbiAgICBvcHRzPzogeyByZXBsYWNlPzogYm9vbGVhbiB9LFxuICApID0+IHZvaWQ7XG4gIC8qKiBDbGVhciBhbGwgZmlsdGVycyAqL1xuICBjbGVhcjogKG9wdHM/OiB7IHJlcGxhY2U/OiBib29sZWFuIH0pID0+IHZvaWQ7XG59O1xuXG4vKipcbiAqIENvbnZlbmllbmNlIHVtYnJlbGxhIHJvdXRlIHR5cGUuXG4gKiBVc2VkIHdoZXJlIHdlIGp1c3Qgd2FudCB0byBjYXJyeSBhcmJpdHJhcnkgcm91dGUgZ2VuZXJpY3MgZm9yd2FyZCB3aXRob3V0IGVyYXN1cmUuXG4gKi9cbmV4cG9ydCB0eXBlIEFueVJvdXRlID0gUm91dGU8YW55LCBhbnksIGFueSwgYW55PjtcblxuLyoqIEV4dHJhY3QgdGhlIHByZXBhcmVkIHR5cGUgZnJvbSBhIFJvdXRlICovXG5leHBvcnQgdHlwZSBQcmVwYXJlZE9mPFI+ID0gUiBleHRlbmRzIFJvdXRlPGluZmVyIFAsIGFueSwgYW55LCBhbnk+ID8gUCA6IG5ldmVyO1xuLyoqIEV4dHJhY3QgdGhlIHZhcmlhYmxlcyB0eXBlIGZyb20gYSBSb3V0ZSAqL1xuZXhwb3J0IHR5cGUgVmFyaWFibGVzT2Y8Uj4gPVxuICBSIGV4dGVuZHMgUm91dGU8YW55LCBpbmZlciBWLCBhbnksIGFueT4gPyBWIDogbmV2ZXI7XG4vKiogRXh0cmFjdCB0aGUgcXVlcnkgc2hhcGUgdHlwZSBmcm9tIGEgUm91dGUgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5U2hhcGVPZjxSPiA9XG4gIFIgZXh0ZW5kcyBSb3V0ZTxhbnksIGFueSwgaW5mZXIgUSwgYW55PiA/IFEgOiBuZXZlcjtcblxuLyoqIFBhdGggbGl0ZXJhbCB0eXBlIGlmIHByZXNlbnQgKi9cbmV4cG9ydCB0eXBlIFBhdGhPZjxSPiA9IFIgZXh0ZW5kcyB7IHBhdGg/OiBpbmZlciBQIH1cbiAgPyBQIGV4dGVuZHMgc3RyaW5nXG4gICAgPyBQXG4gICAgOiBuZXZlclxuICA6IG5ldmVyO1xuXG4vKiogVW5pb24gb2YgYWxsIGNvbmNyZXRlIHBhdGggc3RyaW5ncyBmcm9tIGEgdHVwbGUvYXJyYXkgb2Ygcm91dGVzIChub24tcmVjdXJzaXZlKSAqL1xuZXhwb3J0IHR5cGUgUGF0aHNPZjxSb3V0ZXMgZXh0ZW5kcyByZWFkb25seSBBbnlSb3V0ZVtdPiA9IFBhdGhPZjxcbiAgUm91dGVzW251bWJlcl1cbj47XG5cbi8qKiBNYXAgcGF0aCAtPiBwcmVwYXJlZCB0eXBlICh1bmRlZmluZWQgaWYgcm91dGUgbGFja3MgcHJlcGFyZSkgKi9cbmV4cG9ydCB0eXBlIFByZXBhcmVkTWFwPFJvdXRlcyBleHRlbmRzIHJlYWRvbmx5IEFueVJvdXRlW10+ID0ge1xuICBbSyBpbiBQYXRoc09mPFJvdXRlcz5dOlxuICAgIHwgUHJlcGFyZWRPZjxFeHRyYWN0PFJvdXRlc1tudW1iZXJdLCB7IHBhdGg/OiBLIH0+PlxuICAgIHwgdW5kZWZpbmVkO1xufTtcblxuLyoqIE1hcCBwYXRoIC0+IHF1ZXJ5IHNoYXBlICovXG5leHBvcnQgdHlwZSBRdWVyeVNoYXBlTWFwPFJvdXRlcyBleHRlbmRzIHJlYWRvbmx5IEFueVJvdXRlW10+ID0ge1xuICBbSyBpbiBQYXRoc09mPFJvdXRlcz5dOiBRdWVyeVNoYXBlT2Y8RXh0cmFjdDxSb3V0ZXNbbnVtYmVyXSwgeyBwYXRoPzogSyB9Pj47XG59O1xuXG4vKiogRXh0cmFjdCBzY2hlbWEgZnJvbSBhIHJvdXRlICh1bmRlZmluZWQgaWYgYWJzZW50KSAqL1xuZXhwb3J0IHR5cGUgU2NoZW1hT2Y8Uj4gPSBSIGV4dGVuZHMgeyBxdWVyeVNjaGVtYT86IGluZmVyIFMgfVxuICA/IFMgZXh0ZW5kcyBGaWx0ZXJTY2hlbWFcbiAgICA/IFNcbiAgICA6IHVuZGVmaW5lZFxuICA6IHVuZGVmaW5lZDtcblxuLyoqIEZpbHRlcnMgaW5mZXJyZWQgZnJvbSB0aGUgcm91dGUncyBzY2hlbWEgKi9cbmV4cG9ydCB0eXBlIEZpbHRlcnNPZjxSPiA9XG4gIFNjaGVtYU9mPFI+IGV4dGVuZHMgRmlsdGVyU2NoZW1hXG4gICAgPyBJbmZlckZpbHRlclJlc3VsdDxTY2hlbWFPZjxSPj5cbiAgICA6IFJlY29yZDxzdHJpbmcsIG5ldmVyPjtcblxuLyoqIE1hcCBwYXRoIC0+IGluZmVycmVkIGZpbHRlcnMgdHlwZSAqL1xuZXhwb3J0IHR5cGUgRmlsdGVyc01hcDxSb3V0ZXMgZXh0ZW5kcyByZWFkb25seSBBbnlSb3V0ZVtdPiA9IHtcbiAgW0sgaW4gUGF0aHNPZjxSb3V0ZXM+XTogRmlsdGVyc09mPEV4dHJhY3Q8Um91dGVzW251bWJlcl0sIHsgcGF0aD86IEsgfT4+O1xufTtcblxuLyoqIFJ1bnRpbWUgaGVscGVyIGludGVyZmFjZSBhdWdtZW50YXRpb24gZm9yIHJvdXRlciBjb250ZXh0IChhZGRlZCBpbiBjcmVhdGVSb3V0ZXIpICovXG5leHBvcnQgaW50ZXJmYWNlIFByZXBhcmVkQWNjZXNzPFJvdXRlcyBleHRlbmRzIHJlYWRvbmx5IEFueVJvdXRlW10+IHtcbiAgLyoqIFJldHJpZXZlIHRoZSBwcmVwYXJlZCBvYmplY3QgZm9yIGEgY29uY3JldGUgcGF0aCAoaWYgY3VycmVudCBtYXRjaCBpbmNsdWRlcyBpdCkgKi9cbiAgZ2V0UHJlcGFyZWQ6IDxQIGV4dGVuZHMgUGF0aHNPZjxSb3V0ZXM+PihwYXRoOiBQKSA9PiBQcmVwYXJlZE1hcDxSb3V0ZXM+W1BdO1xuICAvLyBnZXRUeXBlZFF1ZXJ5IHJlbW92ZWQg4oCTIHVzZSBmaWx0ZXJzL3F1ZXJ5IGRpcmVjdGx5XG59XG5cbi8qKiBJbnB1dCBzaGFwZSBmb3IgYSBuYXZpZ2F0aW9uIHRvIGEgc3BlY2lmaWMgcGF0aCAodHlwZWQgcXVlcnkpICovXG5leHBvcnQgdHlwZSBOYXZpZ2F0ZUlucHV0Rm9yUGF0aDxcbiAgUm91dGVzIGV4dGVuZHMgcmVhZG9ubHkgQW55Um91dGVbXSxcbiAgUCBleHRlbmRzIFBhdGhzT2Y8Um91dGVzPixcbj4gPSB7XG4gIHBhdGhuYW1lOiBQO1xuICBxdWVyeT86IFF1ZXJ5U2hhcGVNYXA8Um91dGVzPltQXTtcbiAgZmlsdGVycz86IEZpbHRlcnNNYXA8Um91dGVzPltQXTtcbiAgcmVwbGFjZT86IGJvb2xlYW47XG59O1xuXG4vKiogRmFsbGJhY2sgdW50eXBlZCBuYXZpZ2F0ZSBpbnB1dCAqL1xuZXhwb3J0IHR5cGUgTmF2aWdhdGVJbnB1dFVudHlwZWQgPSB7XG4gIHBhdGhuYW1lPzogc3RyaW5nO1xuICBxdWVyeT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGZpbHRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICByZXBsYWNlPzogYm9vbGVhbjtcbn07XG5cbi8qKiBPdmVybG9hZGVkIG5hdmlnYXRlIGZ1bmN0aW9uIHR5cGUgKGNvbXBpbGUtdGltZSBvbmx5OyBydW50aW1lIHNpbmdsZSBpbXBsKSAqL1xuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0ZU92ZXJsb2FkczxSb3V0ZXMgZXh0ZW5kcyByZWFkb25seSBBbnlSb3V0ZVtdPiB7XG4gIDxQIGV4dGVuZHMgUGF0aHNPZjxSb3V0ZXM+PihvcHRzOiBOYXZpZ2F0ZUlucHV0Rm9yUGF0aDxSb3V0ZXMsIFA+KTogdm9pZDtcbiAgKG9wdHM6IE5hdmlnYXRlSW5wdXRVbnR5cGVkKTogdm9pZDtcbn1cbiJdfQ==
|