monkey-front-core 0.0.303 → 0.0.305
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/core/directives/monkeyecx-security-directive.mjs +9 -7
- package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +11 -8
- package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +4 -4
- package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +88 -25
- package/esm2020/lib/store/actions/monkeyecx-storage.actions.mjs +3 -3
- package/esm2020/lib/store/reducers/monkeyecx-seeder.reducer.mjs +5 -5
- package/esm2020/lib/store/selectors/monkeyecx-storage.selector.mjs +2 -2
- package/fesm2015/monkey-front-core.mjs +366 -296
- package/fesm2015/monkey-front-core.mjs.map +1 -1
- package/fesm2020/monkey-front-core.mjs +282 -217
- package/fesm2020/monkey-front-core.mjs.map +1 -1
- package/lib/core/directives/monkeyecx-security-directive.d.ts +1 -0
- package/lib/core/services/commons/monkeyecx-commons.service.d.ts +6 -6
- package/lib/core/services/error/monkeyecx-http-error-handling.service.d.ts +4 -4
- package/lib/core/services/storage/monkeyecx-token-storage.service.d.ts +26 -4
- package/lib/store/actions/monkeyecx-storage.actions.d.ts +6 -6
- package/lib/store/selectors/monkeyecx-storage.selector.d.ts +1 -1
- package/monkey-front-core-0.0.305.tgz +0 -0
- package/package.json +1 -1
- package/monkey-front-core-0.0.303.tgz +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createAction, props } from '@ngrx/store';
|
|
2
2
|
const clear = createAction('[MECX Core Storage] Clear All');
|
|
3
3
|
const create = createAction('[MECX Core Storage] Create', props());
|
|
4
|
+
const deleteOne = createAction('[MECX Core Storage] Delete One', props());
|
|
4
5
|
const updateControl = createAction('[MECX Core Storage] Update Control', props());
|
|
5
6
|
const updateOne = createAction('[MECX Core Storage] Update One', props());
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXN0b3JhZ2UuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvc3RvcmUvYWN0aW9ucy9tb25rZXllY3gtc3RvcmFnZS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBQzVELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLEVBQWdDLENBQUMsQ0FBQztBQUNqRyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxFQUFpQixDQUFDLENBQUM7QUFDakcsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUM1QixnQ0FBZ0MsRUFDaEMsS0FBSyxFQUE4QixDQUNwQyxDQUFDO0FBQ0YsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUM1QixnQ0FBZ0MsRUFDaEMsS0FBSyxFQUE4QixDQUNwQyxDQUFDO0FBRUYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hTdG9yYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzJztcblxuY29uc3QgY2xlYXIgPSBjcmVhdGVBY3Rpb24oJ1tNRUNYIENvcmUgU3RvcmFnZV0gQ2xlYXIgQWxsJyk7XG5jb25zdCBjcmVhdGUgPSBjcmVhdGVBY3Rpb24oJ1tNRUNYIENvcmUgU3RvcmFnZV0gQ3JlYXRlJywgcHJvcHM8eyBkYXRhOiBNb25rZXlFY3hTdG9yYWdlW10gfT4oKSk7XG5jb25zdCB1cGRhdGVDb250cm9sID0gY3JlYXRlQWN0aW9uKCdbTUVDWCBDb3JlIFN0b3JhZ2VdIFVwZGF0ZSBDb250cm9sJywgcHJvcHM8eyBkYXRhOiBhbnkgfT4oKSk7XG5jb25zdCB1cGRhdGVPbmUgPSBjcmVhdGVBY3Rpb24oXG4gICdbTUVDWCBDb3JlIFN0b3JhZ2VdIFVwZGF0ZSBPbmUnLFxuICBwcm9wczx7IGRhdGE6IE1vbmtleUVjeFN0b3JhZ2UgfT4oKVxuKTtcbmNvbnN0IGRlbGV0ZU9uZSA9IGNyZWF0ZUFjdGlvbihcbiAgJ1tNRUNYIENvcmUgU3RvcmFnZV0gRGVsZXRlIE9uZScsXG4gIHByb3BzPHsgZGF0YTogTW9ua2V5RWN4U3RvcmFnZSB9PigpXG4pO1xuXG5leHBvcnQgeyBjbGVhciwgY3JlYXRlLCB1cGRhdGVDb250cm9sLCB1cGRhdGVPbmUsIGRlbGV0ZU9uZSB9O1xuIl19
|
|
7
|
+
export { clear, create, deleteOne, updateControl, updateOne };
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXN0b3JhZ2UuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvc3RvcmUvYWN0aW9ucy9tb25rZXllY3gtc3RvcmFnZS5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBQzVELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLEVBQWdDLENBQUMsQ0FBQztBQUNqRyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQzVCLGdDQUFnQyxFQUNoQyxLQUFLLEVBQThCLENBQ3BDLENBQUM7QUFDRixNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsb0NBQW9DLEVBQUUsS0FBSyxFQUFpQixDQUFDLENBQUM7QUFDakcsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUM1QixnQ0FBZ0MsRUFDaEMsS0FBSyxFQUE4QixDQUNwQyxDQUFDO0FBRUYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hTdG9yYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzJztcblxuY29uc3QgY2xlYXIgPSBjcmVhdGVBY3Rpb24oJ1tNRUNYIENvcmUgU3RvcmFnZV0gQ2xlYXIgQWxsJyk7XG5jb25zdCBjcmVhdGUgPSBjcmVhdGVBY3Rpb24oJ1tNRUNYIENvcmUgU3RvcmFnZV0gQ3JlYXRlJywgcHJvcHM8eyBkYXRhOiBNb25rZXlFY3hTdG9yYWdlW10gfT4oKSk7XG5jb25zdCBkZWxldGVPbmUgPSBjcmVhdGVBY3Rpb24oXG4gICdbTUVDWCBDb3JlIFN0b3JhZ2VdIERlbGV0ZSBPbmUnLFxuICBwcm9wczx7IGRhdGE6IE1vbmtleUVjeFN0b3JhZ2UgfT4oKVxuKTtcbmNvbnN0IHVwZGF0ZUNvbnRyb2wgPSBjcmVhdGVBY3Rpb24oJ1tNRUNYIENvcmUgU3RvcmFnZV0gVXBkYXRlIENvbnRyb2wnLCBwcm9wczx7IGRhdGE6IGFueSB9PigpKTtcbmNvbnN0IHVwZGF0ZU9uZSA9IGNyZWF0ZUFjdGlvbihcbiAgJ1tNRUNYIENvcmUgU3RvcmFnZV0gVXBkYXRlIE9uZScsXG4gIHByb3BzPHsgZGF0YTogTW9ua2V5RWN4U3RvcmFnZSB9PigpXG4pO1xuXG5leHBvcnQgeyBjbGVhciwgY3JlYXRlLCBkZWxldGVPbmUsIHVwZGF0ZUNvbnRyb2wsIHVwZGF0ZU9uZSB9O1xuIl19
|
|
@@ -4,7 +4,7 @@ export const seederReducer = (keys) => {
|
|
|
4
4
|
return (state, action) => {
|
|
5
5
|
const handledState = reducer(state, action);
|
|
6
6
|
if (action.type === INIT || action.type === UPDATE) {
|
|
7
|
-
const storageValue = localStorage.getItem('
|
|
7
|
+
const storageValue = localStorage.getItem('mecx-store');
|
|
8
8
|
if (storageValue) {
|
|
9
9
|
try {
|
|
10
10
|
const handled = {
|
|
@@ -14,7 +14,7 @@ export const seederReducer = (keys) => {
|
|
|
14
14
|
return handled;
|
|
15
15
|
}
|
|
16
16
|
catch {
|
|
17
|
-
localStorage.removeItem('
|
|
17
|
+
localStorage.removeItem('mecx-store');
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -26,13 +26,13 @@ export const seederReducer = (keys) => {
|
|
|
26
26
|
[key]: handledState[key]
|
|
27
27
|
};
|
|
28
28
|
});
|
|
29
|
-
localStorage.setItem('
|
|
29
|
+
localStorage.setItem('mecx-store', btoa(JSON.stringify(data)));
|
|
30
30
|
}
|
|
31
31
|
catch (e) {
|
|
32
|
-
localStorage.removeItem('
|
|
32
|
+
localStorage.removeItem('mecx-store');
|
|
33
33
|
}
|
|
34
34
|
return data || handledState;
|
|
35
35
|
};
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXNlZWRlci5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9tb25rZXllY3gtc2VlZGVyLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQWMsRUFBRSxFQUFFO0lBQzlDLE9BQU8sQ0FBQyxPQUEyQixFQUFzQixFQUFFO1FBQ3pELE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM1QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUNsRCxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN4RCxJQUFJLFlBQVksRUFBRTtvQkFDaEIsSUFBSTt3QkFDRixNQUFNLE9BQU8sR0FBRzs0QkFDZCxHQUFHLFlBQVk7NEJBQ2YsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzt5QkFDbEMsQ0FBQzt3QkFDRixPQUFPLE9BQU8sQ0FBQztxQkFDaEI7b0JBQUMsTUFBTTt3QkFDTixZQUFZLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO3FCQUN2QztpQkFDRjthQUNGO1lBRUQsSUFBSSxJQUFJLEdBQVEsWUFBWSxDQUFDO1lBQzdCLElBQUk7Z0JBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO29CQUMzQixJQUFJLEdBQUc7d0JBQ0wsR0FBRyxJQUFJO3dCQUNQLENBQUMsR0FBRyxDQUFDLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQztxQkFDekIsQ0FBQztnQkFDSixDQUFDLENBQUMsQ0FBQztnQkFDSCxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEU7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixZQUFZLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3ZDO1lBQ0QsT0FBTyxJQUFJLElBQUksWUFBWSxDQUFDO1FBQzlCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvblJlZHVjZXIsIElOSVQsIFVQREFURSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuZXhwb3J0IGNvbnN0IHNlZWRlclJlZHVjZXIgPSAoa2V5czogc3RyaW5nW10pID0+IHtcbiAgcmV0dXJuIChyZWR1Y2VyOiBBY3Rpb25SZWR1Y2VyPGFueT4pOiBBY3Rpb25SZWR1Y2VyPGFueT4gPT4ge1xuICAgIHJldHVybiAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlZFN0YXRlID0gcmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbiAgICAgIGlmIChhY3Rpb24udHlwZSA9PT0gSU5JVCB8fCBhY3Rpb24udHlwZSA9PT0gVVBEQVRFKSB7XG4gICAgICAgIGNvbnN0IHN0b3JhZ2VWYWx1ZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtZWN4LXN0b3JlJyk7XG4gICAgICAgIGlmIChzdG9yYWdlVmFsdWUpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlZCA9IHtcbiAgICAgICAgICAgICAgLi4uaGFuZGxlZFN0YXRlLFxuICAgICAgICAgICAgICAuLi5KU09OLnBhcnNlKGF0b2Ioc3RvcmFnZVZhbHVlKSlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlZDtcbiAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtZWN4LXN0b3JlJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxldCBkYXRhOiBhbnkgPSBoYW5kbGVkU3RhdGU7XG4gICAgICB0cnkge1xuICAgICAgICBrZXlzLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICBba2V5XTogaGFuZGxlZFN0YXRlW2tleV1cbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ21lY3gtc3RvcmUnLCBidG9hKEpTT04uc3RyaW5naWZ5KGRhdGEpKSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdtZWN4LXN0b3JlJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGF0YSB8fCBoYW5kbGVkU3RhdGU7XG4gICAgfTtcbiAgfTtcbn07XG4iXX0=
|
|
@@ -4,7 +4,7 @@ export const selectState = createFeatureSelector(reducers.fromMonkeyecxStorage.f
|
|
|
4
4
|
export const selectAll = createSelector(selectState, reducers.fromMonkeyecxStorage.selectAll);
|
|
5
5
|
export const select = (props) => {
|
|
6
6
|
return createSelector(selectAll, (entities) => {
|
|
7
|
-
return entities.
|
|
7
|
+
return entities.find((_) => {
|
|
8
8
|
return _.username === props.username;
|
|
9
9
|
});
|
|
10
10
|
});
|
|
@@ -14,4 +14,4 @@ export const selectControl = () => {
|
|
|
14
14
|
return state.control;
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXN0b3JhZ2Uuc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL3N0b3JlL3NlbGVjdG9ycy9tb25rZXllY3gtc3RvcmFnZS5zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBFLE9BQU8sS0FBSyxRQUFRLE1BQU0sYUFBYSxDQUFDO0FBSXhDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FDOUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FDekMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUU5RixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxLQUEyQixFQUFFLEVBQUU7SUFDcEQsT0FBTyxjQUFjLENBQ25CLFNBQVMsRUFDVCxDQUFDLFFBQTRCLEVBQWdDLEVBQUU7UUFDN0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBbUIsRUFBRSxFQUFFO1lBQzNDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQ2hDLE9BQU8sY0FBYyxDQUNuQixXQUFXLEVBQ1gsQ0FBQyxLQUFZLEVBQU8sRUFBRTtRQUNwQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQyxDQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U3RvcmFnZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0ICogYXMgcmVkdWNlcnMgZnJvbSAnLi4vcmVkdWNlcnMnO1xuXG5kZWNsYXJlIHR5cGUgU3RhdGUgPSByZWR1Y2Vycy5mcm9tTW9ua2V5ZWN4U3RvcmFnZS5TdGF0ZTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFN0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPHJlZHVjZXJzLmZyb21Nb25rZXllY3hTdG9yYWdlLlN0YXRlPihcbiAgcmVkdWNlcnMuZnJvbU1vbmtleWVjeFN0b3JhZ2UuZmVhdHVyZUtleVxuKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEFsbCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN0YXRlLCByZWR1Y2Vycy5mcm9tTW9ua2V5ZWN4U3RvcmFnZS5zZWxlY3RBbGwpO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ID0gKHByb3BzOiB7IHVzZXJuYW1lOiBzdHJpbmcgfSkgPT4ge1xuICByZXR1cm4gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0QWxsLFxuICAgIChlbnRpdGllczogTW9ua2V5RWN4U3RvcmFnZVtdKTogTW9ua2V5RWN4U3RvcmFnZSB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICByZXR1cm4gZW50aXRpZXMuZmluZCgoXzogTW9ua2V5RWN4U3RvcmFnZSkgPT4ge1xuICAgICAgICByZXR1cm4gXy51c2VybmFtZSA9PT0gcHJvcHMudXNlcm5hbWU7XG4gICAgICB9KTtcbiAgICB9XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0Q29udHJvbCA9ICgpID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdFN0YXRlLFxuICAgIChzdGF0ZTogU3RhdGUpOiBhbnkgPT4ge1xuICAgICAgcmV0dXJuIHN0YXRlLmNvbnRyb2w7XG4gICAgfVxuICApO1xufTtcbiJdfQ==
|