libey-ng-component-library 0.0.41 → 0.0.43

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.
@@ -21,4 +21,5 @@ export { NgSelectModule } from '@ng-select/ng-select';
21
21
  export { NgbModule } from '@ng-bootstrap/ng-bootstrap';
22
22
  export * from '@popperjs/core';
23
23
  export * from './utils/Cache/cache';
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbGliZXktbmctY29tcG9uZW50LWxpYnJhcnlcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbGliZXktbmctY29tcG9uZW50LWxpYnJhcnkubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvbGliZXktbmctdGFibGUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvbGliZXktbmctdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvZGlyZWN0aXZlcy9saWJleS1jb2x1bW4uZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlL2xpYmV5LW5nLXNpZ25hdHVyZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL1NpZ1dlYi9TaWdXZWInO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL0NwbUluZGljYXRvci9jcG0taW5kaWNhdG9yLXR5cGVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbnMvaWNvbnMubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbnMvbGliZXktbmctaWNvbnMvbGliZXktbmctaWNvbnMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY3BtLWluZGljYXRvci9saWJleS1uZy1jcG0taW5kaWNhdG9yLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NwbS1pbmRpY2F0b3IvbGliZXktbmctY3BtLWluZGljYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaWduYXR1cmVQYWRNb2R1bGUsIFNpZ25hdHVyZVBhZCB9IGZyb20gJ2FuZ3VsYXIyLXNpZ25hdHVyZXBhZCc7XHJcbmV4cG9ydCB7IFNpZ25hdHVyZVBhZE1vZHVsZSwgU2lnbmF0dXJlUGFkIH07XHJcbmV4cG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5leHBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmV4cG9ydCAqIGZyb20gJ0Bwb3BwZXJqcy9jb3JlJztcclxuZXhwb3J0ICogZnJvbSAnLi91dGlscy9DYWNoZS9jYWNoZSc7XHJcbiJdfQ==
24
+ export * from './utils/NavigationState/navigation-state';
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBsaWJleS1uZy1jb21wb25lbnQtbGlicmFyeVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9saWJleS1uZy1jb21wb25lbnQtbGlicmFyeS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS9saWJleS1uZy10YWJsZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS9saWJleS1uZy10YWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS9kaXJlY3RpdmVzL2xpYmV5LWNvbHVtbi5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NpZ25hdHVyZS9saWJleS1uZy1zaWduYXR1cmUvbGliZXktbmctc2lnbmF0dXJlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvU2lnV2ViL1NpZ1dlYic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvQ3BtSW5kaWNhdG9yL2NwbS1pbmRpY2F0b3ItdHlwZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29ucy9pY29ucy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pY29ucy9saWJleS1uZy1pY29ucy9saWJleS1uZy1pY29ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jcG0taW5kaWNhdG9yL2xpYmV5LW5nLWNwbS1pbmRpY2F0b3IubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY3BtLWluZGljYXRvci9saWJleS1uZy1jcG0taW5kaWNhdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNpZ25hdHVyZVBhZE1vZHVsZSwgU2lnbmF0dXJlUGFkIH0gZnJvbSAnYW5ndWxhcjItc2lnbmF0dXJlcGFkJztcclxuZXhwb3J0IHsgU2lnbmF0dXJlUGFkTW9kdWxlLCBTaWduYXR1cmVQYWQgfTtcclxuZXhwb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmV4cG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuZXhwb3J0ICogZnJvbSAnQHBvcHBlcmpzL2NvcmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL0NhY2hlL2NhY2hlJztcclxuZXhwb3J0ICogZnJvbSAnLi91dGlscy9OYXZpZ2F0aW9uU3RhdGUvbmF2aWdhdGlvbi1zdGF0ZSc7XHJcbiJdfQ==
@@ -0,0 +1,75 @@
1
+ const NAVIGATION_STATE_VERSION = 1;
2
+ const KEY_PREFIX = 'libey:nav:';
3
+ const DEFAULT_TTL_MS = 60 * 1000;
4
+ function buildKey(name) {
5
+ if (!name)
6
+ throw new Error('navigationState: el nombre no puede estar vacio');
7
+ return KEY_PREFIX + name;
8
+ }
9
+ function read(key) {
10
+ let raw;
11
+ try {
12
+ raw = sessionStorage.getItem(key);
13
+ }
14
+ catch (_a) {
15
+ return null;
16
+ }
17
+ if (!raw)
18
+ return null;
19
+ try {
20
+ const entry = JSON.parse(raw);
21
+ const isOldVersion = entry.version !== NAVIGATION_STATE_VERSION;
22
+ const isExpired = Date.now() > entry.expiresAt;
23
+ if (isOldVersion || isExpired) {
24
+ sessionStorage.removeItem(key);
25
+ return null;
26
+ }
27
+ return entry.data;
28
+ }
29
+ catch (_b) {
30
+ sessionStorage.removeItem(key);
31
+ return null;
32
+ }
33
+ }
34
+ function set(name, data, ttlMs = DEFAULT_TTL_MS) {
35
+ const entry = {
36
+ version: NAVIGATION_STATE_VERSION,
37
+ data,
38
+ expiresAt: Date.now() + ttlMs,
39
+ };
40
+ try {
41
+ sessionStorage.setItem(buildKey(name), JSON.stringify(entry));
42
+ }
43
+ catch (error) {
44
+ console.error(`navigationState: no se pudo guardar "${name}":`, error);
45
+ }
46
+ }
47
+ function consume(name) {
48
+ const key = buildKey(name);
49
+ const data = read(key);
50
+ try {
51
+ sessionStorage.removeItem(key);
52
+ }
53
+ catch (_a) {
54
+ // sessionStorage no disponible - no hay nada que borrar
55
+ }
56
+ return data;
57
+ }
58
+ function peek(name) {
59
+ return read(buildKey(name));
60
+ }
61
+ function remove(name) {
62
+ try {
63
+ sessionStorage.removeItem(buildKey(name));
64
+ }
65
+ catch (_a) {
66
+ // sessionStorage no disponible - no hay nada que borrar
67
+ }
68
+ }
69
+ export const navigationState = {
70
+ set,
71
+ consume,
72
+ peek,
73
+ remove,
74
+ };
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpYmV5LW5nLWNvbXBvbmVudC1saWJyYXJ5L3NyYy91dGlscy9OYXZpZ2F0aW9uU3RhdGUvbmF2aWdhdGlvbi1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLHdCQUF3QixHQUFHLENBQUMsQ0FBQztBQUNuQyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7QUFDaEMsTUFBTSxjQUFjLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUVqQyxTQUFTLFFBQVEsQ0FBQyxJQUFZO0lBQzVCLElBQUksQ0FBQyxJQUFJO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQzlFLE9BQU8sVUFBVSxHQUFHLElBQUksQ0FBQztBQUMzQixDQUFDO0FBRUQsU0FBUyxJQUFJLENBQUksR0FBVztJQUMxQixJQUFJLEdBQWtCLENBQUM7SUFDdkIsSUFBSTtRQUNGLEdBQUcsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ25DO0lBQUMsV0FBTTtRQUNOLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxJQUFJLENBQUMsR0FBRztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXRCLElBQUk7UUFDRixNQUFNLEtBQUssR0FBNEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV2RCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxLQUFLLHdCQUF3QixDQUFDO1FBQ2hFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBRS9DLElBQUksWUFBWSxJQUFJLFNBQVMsRUFBRTtZQUM3QixjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7S0FDbkI7SUFBQyxXQUFNO1FBQ04sY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQztBQUVELFNBQVMsR0FBRyxDQUFJLElBQVksRUFBRSxJQUFPLEVBQUUsUUFBZ0IsY0FBYztJQUNuRSxNQUFNLEtBQUssR0FBNEI7UUFDckMsT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxJQUFJO1FBQ0osU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLO0tBQzlCLENBQUM7SUFDRixJQUFJO1FBQ0YsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQy9EO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxJQUFJLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN4RTtBQUNILENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBSSxJQUFZO0lBQzlCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUksR0FBRyxDQUFDLENBQUM7SUFDMUIsSUFBSTtRQUNGLGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDaEM7SUFBQyxXQUFNO1FBQ04sd0RBQXdEO0tBQ3pEO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBUyxJQUFJLENBQUksSUFBWTtJQUMzQixPQUFPLElBQUksQ0FBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRUQsU0FBUyxNQUFNLENBQUMsSUFBWTtJQUMxQixJQUFJO1FBQ0YsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUMzQztJQUFDLFdBQU07UUFDTix3REFBd0Q7S0FDekQ7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLEdBQUc7SUFDSCxPQUFPO0lBQ1AsSUFBSTtJQUNKLE1BQU07Q0FDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsidHlwZSBOYXZpZ2F0aW9uU3RhdGVFbnRyeTxUPiA9IHtcbiAgdmVyc2lvbjogbnVtYmVyO1xuICBkYXRhOiBUO1xuICBleHBpcmVzQXQ6IG51bWJlcjtcbn07XG5cbmNvbnN0IE5BVklHQVRJT05fU1RBVEVfVkVSU0lPTiA9IDE7XG5jb25zdCBLRVlfUFJFRklYID0gJ2xpYmV5Om5hdjonO1xuY29uc3QgREVGQVVMVF9UVExfTVMgPSA2MCAqIDEwMDA7XG5cbmZ1bmN0aW9uIGJ1aWxkS2V5KG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghbmFtZSkgdGhyb3cgbmV3IEVycm9yKCduYXZpZ2F0aW9uU3RhdGU6IGVsIG5vbWJyZSBubyBwdWVkZSBlc3RhciB2YWNpbycpO1xuICByZXR1cm4gS0VZX1BSRUZJWCArIG5hbWU7XG59XG5cbmZ1bmN0aW9uIHJlYWQ8VD4oa2V5OiBzdHJpbmcpOiBUIHwgbnVsbCB7XG4gIGxldCByYXc6IHN0cmluZyB8IG51bGw7XG4gIHRyeSB7XG4gICAgcmF3ID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBpZiAoIXJhdykgcmV0dXJuIG51bGw7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBlbnRyeTogTmF2aWdhdGlvblN0YXRlRW50cnk8VD4gPSBKU09OLnBhcnNlKHJhdyk7XG5cbiAgICBjb25zdCBpc09sZFZlcnNpb24gPSBlbnRyeS52ZXJzaW9uICE9PSBOQVZJR0FUSU9OX1NUQVRFX1ZFUlNJT047XG4gICAgY29uc3QgaXNFeHBpcmVkID0gRGF0ZS5ub3coKSA+IGVudHJ5LmV4cGlyZXNBdDtcblxuICAgIGlmIChpc09sZFZlcnNpb24gfHwgaXNFeHBpcmVkKSB7XG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZW50cnkuZGF0YTtcbiAgfSBjYXRjaCB7XG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNldDxUPihuYW1lOiBzdHJpbmcsIGRhdGE6IFQsIHR0bE1zOiBudW1iZXIgPSBERUZBVUxUX1RUTF9NUyk6IHZvaWQge1xuICBjb25zdCBlbnRyeTogTmF2aWdhdGlvblN0YXRlRW50cnk8VD4gPSB7XG4gICAgdmVyc2lvbjogTkFWSUdBVElPTl9TVEFURV9WRVJTSU9OLFxuICAgIGRhdGEsXG4gICAgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgdHRsTXMsXG4gIH07XG4gIHRyeSB7XG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShidWlsZEtleShuYW1lKSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBuYXZpZ2F0aW9uU3RhdGU6IG5vIHNlIHB1ZG8gZ3VhcmRhciBcIiR7bmFtZX1cIjpgLCBlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29uc3VtZTxUPihuYW1lOiBzdHJpbmcpOiBUIHwgbnVsbCB7XG4gIGNvbnN0IGtleSA9IGJ1aWxkS2V5KG5hbWUpO1xuICBjb25zdCBkYXRhID0gcmVhZDxUPihrZXkpO1xuICB0cnkge1xuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgfSBjYXRjaCB7XG4gICAgLy8gc2Vzc2lvblN0b3JhZ2Ugbm8gZGlzcG9uaWJsZSAtIG5vIGhheSBuYWRhIHF1ZSBib3JyYXJcbiAgfVxuICByZXR1cm4gZGF0YTtcbn1cblxuZnVuY3Rpb24gcGVlazxUPihuYW1lOiBzdHJpbmcpOiBUIHwgbnVsbCB7XG4gIHJldHVybiByZWFkPFQ+KGJ1aWxkS2V5KG5hbWUpKTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICB0cnkge1xuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYnVpbGRLZXkobmFtZSkpO1xuICB9IGNhdGNoIHtcbiAgICAvLyBzZXNzaW9uU3RvcmFnZSBubyBkaXNwb25pYmxlIC0gbm8gaGF5IG5hZGEgcXVlIGJvcnJhclxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBuYXZpZ2F0aW9uU3RhdGUgPSB7XG4gIHNldCxcbiAgY29uc3VtZSxcbiAgcGVlayxcbiAgcmVtb3ZlLFxufTtcbiJdfQ==