dmencu 2.2.9 → 2.2.10
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/dist/client/unlogged/bypass-formulario.d.ts +1 -0
- package/dist/client/unlogged/bypass-formulario.js +37 -13
- package/dist/client/unlogged/render-formulario.tsx +7 -5
- package/dist/client/unlogged/render-general.tsx +102 -0
- package/dist/unlogged/unlogged/bypass-formulario.d.ts +1 -0
- package/dist/unlogged/unlogged/bypass-formulario.js +37 -13
- package/dist/unlogged/unlogged/render-formulario.js +5 -3
- package/dist/unlogged/unlogged/render-formulario.tsx +7 -5
- package/dist/unlogged/unlogged/render-general.d.ts +6 -0
- package/dist/unlogged/unlogged/render-general.js +63 -2
- package/dist/unlogged/unlogged/render-general.tsx +102 -0
- package/package.json +1 -1
|
@@ -6,7 +6,8 @@ import {
|
|
|
6
6
|
ICON,
|
|
7
7
|
scrollToTop,
|
|
8
8
|
materialIoIconsSvgPath,
|
|
9
|
-
useOnlineStatus
|
|
9
|
+
useOnlineStatus,
|
|
10
|
+
RenderizadorJSON
|
|
10
11
|
} from "./render-general";
|
|
11
12
|
import {
|
|
12
13
|
Bloque, BotonFormulario,
|
|
@@ -1144,6 +1145,7 @@ var botonFormularioConResumen = (
|
|
|
1144
1145
|
className: "boton-borrar-ua-vacia",
|
|
1145
1146
|
color: "default",
|
|
1146
1147
|
variant: "outlined",
|
|
1148
|
+
style: { marginLeft: '8px' },
|
|
1147
1149
|
children:
|
|
1148
1150
|
html.svg({ focusable: false, viewbox: "0 0 24 24", "aria-hidden": "true", style: styleToCss({ fill: "currentColor" }) }, [
|
|
1149
1151
|
html.path({ d: materialIoIconsSvgPath.DeleteForever, style: styleToCss({ fill: 'currentColor' }) })
|
|
@@ -1444,7 +1446,7 @@ function BotonFormularioDespliegue(props: { casillero: BotonFormulario, formular
|
|
|
1444
1446
|
<DialogTitle>Advertencia: Se perderán datos</DialogTitle>
|
|
1445
1447
|
<DialogContent>
|
|
1446
1448
|
<DialogContentText>
|
|
1447
|
-
Está por borrar un formulario
|
|
1449
|
+
Está por borrar un formulario. Los datos del mismo y todos sus registros asociados se perderán. ¿Desea continuar?
|
|
1448
1450
|
</DialogContentText>
|
|
1449
1451
|
|
|
1450
1452
|
<div style={{ marginTop: '20px', marginBottom: '20px' }}>
|
|
@@ -1467,9 +1469,9 @@ function BotonFormularioDespliegue(props: { casillero: BotonFormulario, formular
|
|
|
1467
1469
|
</div>
|
|
1468
1470
|
|
|
1469
1471
|
<Typography variant="h6" style={{ marginTop: '10px', fontWeight: 'bold' }}>Datos que se perderán:</Typography>
|
|
1470
|
-
<
|
|
1471
|
-
{
|
|
1472
|
-
</
|
|
1472
|
+
<div style={{ maxWidth: '600px', margin: '0 auto', fontFamily: 'sans-serif' }}>
|
|
1473
|
+
<RenderizadorJSON datos={confirmacionBorrado.datos} />
|
|
1474
|
+
</div>
|
|
1473
1475
|
</DialogContent>
|
|
1474
1476
|
<DialogActions>
|
|
1475
1477
|
<Button
|
|
@@ -102,6 +102,11 @@ export declare function focusToId(id: string, opts: FocusOpts, cb?: (e: HTMLElem
|
|
|
102
102
|
export type IDispatchers = {
|
|
103
103
|
RESET_OPCIONES: Function;
|
|
104
104
|
};
|
|
105
|
+
interface RenderizadorJSONProps {
|
|
106
|
+
datos: Record<string, any>;
|
|
107
|
+
nivel?: number;
|
|
108
|
+
}
|
|
109
|
+
export declare const RenderizadorJSON: React.FC<RenderizadorJSONProps>;
|
|
105
110
|
export declare function ReseterForm(props: {
|
|
106
111
|
onTryAgain: () => void;
|
|
107
112
|
dispatchers: IDispatchers;
|
|
@@ -129,3 +134,4 @@ export declare function RenderPrincipal<T, T2 extends Action>(props: {
|
|
|
129
134
|
mensajeRetorno: string;
|
|
130
135
|
children: React.ReactNode;
|
|
131
136
|
}): React.JSX.Element;
|
|
137
|
+
export {};
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.RenderAndCaptureError = exports.scrollToBottom = exports.scrollToTop = exports.ICON = exports.materialIoIconsSvgPath = void 0;
|
|
12
|
+
exports.RenderAndCaptureError = exports.RenderizadorJSON = exports.scrollToBottom = exports.scrollToTop = exports.ICON = exports.materialIoIconsSvgPath = void 0;
|
|
13
13
|
exports.adaptarTipoVarCasillero = adaptarTipoVarCasillero;
|
|
14
14
|
exports.ScrollTop = ScrollTop;
|
|
15
15
|
exports.focusToId = focusToId;
|
|
@@ -121,6 +121,67 @@
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
|
+
function getBadgeStyle(estado) {
|
|
125
|
+
const base = {
|
|
126
|
+
padding: '2px 6px',
|
|
127
|
+
borderRadius: '4px',
|
|
128
|
+
fontSize: '11px',
|
|
129
|
+
fontWeight: 'bold',
|
|
130
|
+
display: 'inline-block',
|
|
131
|
+
textTransform: 'uppercase'
|
|
132
|
+
};
|
|
133
|
+
if (estado === 'ok')
|
|
134
|
+
return Object.assign(Object.assign({}, base), { backgroundColor: '#c6f6d5', color: '#22543d' });
|
|
135
|
+
if (estado === 'incompleto' || estado === 'con problemas')
|
|
136
|
+
return Object.assign(Object.assign({}, base), { backgroundColor: '#feebc8', color: '#744210' });
|
|
137
|
+
return Object.assign(Object.assign({}, base), { backgroundColor: '#edf2f7', color: '#4a5568' });
|
|
138
|
+
}
|
|
139
|
+
const RenderizadorJSON = ({ datos, nivel = 0 }) => {
|
|
140
|
+
const clavesFiltradas = Object.keys(datos).filter(clave => !clave.startsWith('$') && clave !== 'timestampEstructura');
|
|
141
|
+
return (React.createElement("div", { style: { paddingLeft: nivel > 0 ? '16px' : '0px' } }, clavesFiltradas.map(clave => {
|
|
142
|
+
const valor = datos[clave];
|
|
143
|
+
// DETECCIÓN DE SUB-UNIDADES DE ANÁLISIS (hogares, personas, etc.)
|
|
144
|
+
if (Array.isArray(valor) && valor.length > 0 && typeof valor[0] === 'object') {
|
|
145
|
+
return (React.createElement("div", { key: clave, style: {
|
|
146
|
+
margin: '12px 0',
|
|
147
|
+
borderLeft: '4px solid #3182ce',
|
|
148
|
+
backgroundColor: '#f7fafc',
|
|
149
|
+
borderRadius: '0 6px 6px 0',
|
|
150
|
+
padding: '8px 12px'
|
|
151
|
+
} },
|
|
152
|
+
React.createElement("div", { style: { fontWeight: 'bold', color: '#2b6cb0', fontSize: '13px', textTransform: 'uppercase', marginBottom: '6px' } },
|
|
153
|
+
"Unidad de An\u00E1lisis: ",
|
|
154
|
+
clave,
|
|
155
|
+
" (",
|
|
156
|
+
valor.length,
|
|
157
|
+
")"),
|
|
158
|
+
valor.map((registro, filaIndex) => (React.createElement("div", { key: filaIndex, style: {
|
|
159
|
+
marginBottom: filaIndex < valor.length - 1 ? '10px' : '0',
|
|
160
|
+
paddingTop: filaIndex > 0 ? '6px' : '0',
|
|
161
|
+
borderTop: filaIndex > 0 ? '1px dashed #e2e8f0' : 'none'
|
|
162
|
+
} },
|
|
163
|
+
React.createElement(exports.RenderizadorJSON, { datos: registro, nivel: nivel + 1 }))))));
|
|
164
|
+
}
|
|
165
|
+
// Si por las dudas es un objeto directo que no es array, lo salteamos
|
|
166
|
+
if (typeof valor === 'object' && valor !== null)
|
|
167
|
+
return null;
|
|
168
|
+
// VARIABLES ESTÁNDAR (Clave y valor juntos)
|
|
169
|
+
return (React.createElement("div", { key: clave, style: {
|
|
170
|
+
display: 'flex',
|
|
171
|
+
flexDirection: 'row',
|
|
172
|
+
flexWrap: 'wrap', // Por si el valor es muy largo, que baje limpio
|
|
173
|
+
padding: '4px 0',
|
|
174
|
+
fontSize: '13px',
|
|
175
|
+
alignItems: 'center',
|
|
176
|
+
lineHeight: '1.4'
|
|
177
|
+
} },
|
|
178
|
+
React.createElement("div", { style: { color: '#4a5568', fontWeight: 500, marginRight: '6px' } },
|
|
179
|
+
clave,
|
|
180
|
+
":"),
|
|
181
|
+
React.createElement("div", { style: { color: '#1a202c', fontWeight: 600 } }, clave.startsWith('resumenEstado') ? (React.createElement("span", { style: getBadgeStyle(String(valor)) }, String(valor))) : (String(valor !== null && valor !== void 0 ? valor : '')))));
|
|
182
|
+
})));
|
|
183
|
+
};
|
|
184
|
+
exports.RenderizadorJSON = RenderizadorJSON;
|
|
124
185
|
function ReseterForm(props) {
|
|
125
186
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
126
187
|
return React.createElement(React.Fragment, null,
|
|
@@ -186,4 +247,4 @@
|
|
|
186
247
|
props.children))));
|
|
187
248
|
}
|
|
188
249
|
});
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWdlbmVyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvcmVuZGVyLWdlbmVyYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQW9FQSwwREFXQztJQVdELDhCQWlCQztJQU9ELDhCQWdCQztJQUlELGtDQVVDO0lBOENELDBDQWNDO0lBRUQsMENBV0M7SUF6TkQsK0JBQStCO0lBQy9CLGlDQUE0QztJQUM1Qyw2Q0FBb0Q7SUFDcEQsa0NBQWtDO0lBRWxDLHlEQUFvRDtJQUNwRCwyQ0FBc0M7SUFFdEMsNENBRXVCO0lBSXZCLHFEQUFxRDtJQUN4QyxRQUFBLHNCQUFzQixHQUFHO1FBQ2xDLEdBQUcsRUFBRSxxQ0FBcUM7UUFDMUMsU0FBUyxFQUFFLDhEQUE4RDtRQUN6RSxVQUFVLEVBQUUsZ09BQWdPO1FBQzVPLEtBQUssRUFBRSxtREFBbUQ7UUFDMUQsNEJBQTRCLEVBQUUsNEZBQTRGO1FBQzFILGdCQUFnQixFQUFFLHVKQUF1SjtRQUN6SyxXQUFXLEVBQUUsd0tBQXdLO1FBQ3JMLFlBQVksRUFBRSwwS0FBMEs7UUFDeEwsS0FBSyxFQUFFLHVHQUF1RztRQUM5RyxLQUFLLEVBQUUsdUdBQXVHO1FBQzlHLElBQUksRUFBRSw0RkFBNEY7UUFDbEcsTUFBTSxFQUFFLHFKQUFxSjtRQUM3SixNQUFNLEVBQUUsK0VBQStFO1FBQ3ZGLGFBQWEsRUFBRSw2TUFBNk07UUFDNU4sYUFBYSxFQUFFLHlGQUF5RjtRQUN4RyxXQUFXLEVBQUUsZ0lBQWdJO1FBQzdJLFlBQVksRUFBRSxtV0FBbVc7UUFDalgsU0FBUyxFQUFFLHNLQUFzSztRQUNqTCxVQUFVLEVBQUUsZ0RBQWdEO1FBQzVELFVBQVUsRUFBRSw4Q0FBOEM7UUFDMUQsaUJBQWlCLEVBQUUsa0dBQWtHO1FBQ3JILE9BQU8sRUFBRSx5QkFBeUI7UUFDbEMsZUFBZSxFQUFFLG1FQUFtRTtRQUNwRixJQUFJLEVBQUUsa0dBQWtH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QUNkLEtBQUssQ0FBQyxRQUFRLENBQ0ssQ0FDWixDQUNULENBQ0ksQ0FBQTtJQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgUHJvdmlkZXIsIHVzZURpc3BhdGNoIH0gZnJvbSBcInJlYWN0LXJlZHV4XCI7XHJcbmltcG9ydCAqIGFzIGxpa2VBciBmcm9tIFwibGlrZS1hclwiO1xyXG5cclxuaW1wb3J0IHsgZ290b1NpbmNyb25pemFyIH0gZnJvbSBcIi4vcmVkdXgtZm9ybXVsYXJpb1wiXHJcbmltcG9ydCB7IGV4cGVjdGVkIH0gZnJvbSBcImNhc3QtZXJyb3JcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgICBCdXR0b24sIENzc0Jhc2VsaW5lLCBTdmdJY29uLCBUaGVtZVByb3ZpZGVyLCBUeXBvZ3JhcGh5LCBab29tLCB1c2VTY3JvbGxUcmlnZ2VyLCBjcmVhdGVUaGVtZVxyXG59IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XHJcbmltcG9ydCB7IFN0b3JlLCBBY3Rpb24gfSBmcm9tIFwicmVkdXhcIjtcclxuaW1wb3J0IHsgVGlwb1ZhcmlhYmxlcyB9IGZyb20gXCIuL3RpcG9zXCI7XHJcblxyXG4vLyBodHRwczovL21hdGVyaWFsLXVpLmNvbS9jb21wb25lbnRzL21hdGVyaWFsLWljb25zL1xyXG5leHBvcnQgY29uc3QgbWF0ZXJpYWxJb0ljb25zU3ZnUGF0aCA9IHtcclxuICAgIEFkZDogXCJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyelwiLFxyXG4gICAgQXJyb3dCYWNrOiBcIk0yMCAxMUg3LjgzbDUuNTktNS41OUwxMiA0bC04IDggOCA4IDEuNDEtMS40MUw3LjgzIDEzSDIwdi0yelwiLFxyXG4gICAgQXNzaWdubWVudDogXCJNMTkgM2gtNC4xOEMxNC40IDEuODQgMTMuMyAxIDEyIDFjLTEuMyAwLTIuNC44NC0yLjgyIDJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0tNyAwYy41NSAwIDEgLjQ1IDEgMXMtLjQ1IDEtMSAxLTEtLjQ1LTEtMSAuNDUtMSAxLTF6bTIgMTRIN3YtMmg3djJ6bTMtNEg3di0yaDEwdjJ6bTAtNEg3VjdoMTB2MnpcIixcclxuICAgIENoZWNrOiBcIk05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXpcIixcclxuICAgIENoZWNrQm94T3V0bGluZUJsYW5rT3V0bGluZWQ6IFwiTTE5IDV2MTRINVY1aDE0bTAtMkg1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6XCIsXHJcbiAgICBDaGVja0JveE91dGxpbmVkOiBcIk0xOSAzSDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptMCAxNkg1VjVoMTR2MTR6TTE3Ljk5IDlsLTEuNDEtMS40Mi02LjU5IDYuNTktMi41OC0yLjU3LTEuNDIgMS40MSA0IDMuOTl6XCIsXHJcbiAgICBDaGV2cm9uTGVmdDogXCJNMTQuNzEgNi43MWEuOTk1OS45OTU5IDAgMDAtMS40MSAwTDguNzEgMTEuM2MtLjM5LjM5LS4zOSAxLjAyIDAgMS40MWw0LjU5IDQuNTljLjM5LjM5IDEuMDIuMzkgMS40MSAwIC4zOS0uMzkuMzktMS4wMiAwLTEuNDFMMTAuODMgMTJsMy44OC0zLjg4Yy4zOS0uMzkuMzgtMS4wMyAwLTEuNDF6XCIsXHJcbiAgICBDaGV2cm9uUmlnaHQ6IFwiTTkuMjkgNi43MWMtLjM5LjM5LS4zOSAxLjAyIDAgMS40MUwxMy4xNyAxMmwtMy44OCAzLjg4Yy0uMzkuMzktLjM5IDEuMDIgMCAxLjQxLjM5LjM5IDEuMDIuMzkgMS40MSAwbDQuNTktNC41OWMuMzktLjM5LjM5LTEuMDIgMC0xLjQxTDEwLjcgNi43Yy0uMzgtLjM4LTEuMDItLjM4LTEuNDEuMDF6XCIsXHJcbiAgICBDbGVhcjogXCJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyelwiLFxyXG4gICAgQ2xvc2U6IFwiTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnpcIixcclxuICAgIENvZGU6IFwiTTkuNCAxNi42TDQuOCAxMmw0LjYtNC42TDggNmwtNiA2IDYgNiAxLjQtMS40em01LjIgMGw0LjYtNC42LTQuNi00LjZMMTYgNmw2IDYtNiA2LTEuNC0xLjR6XCIsXHJcbiAgICBDcmVhdGU6IFwiTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRhLjk5NTkuOTk1OSAwIDAwLTEuNDEgMGwtMS44MyAxLjgzIDMuNzUgMy43NSAxLjgzLTEuODN6XCIsXHJcbiAgICBEZWxldGU6IFwiTTYgMTljMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjdINnYxMnpNMTkgNGgtMy41bC0xLTFoLTVsLTEgMUg1djJoMTRWNHpcIixcclxuICAgIERlbGV0ZUZvcmV2ZXI6IFwiTTYgMTljMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjdINnYxMnptMi40Ni03LjEybDEuNDEtMS40MUwxMiAxMi41OWwyLjEyLTIuMTIgMS40MSAxLjQxTDEzLjQxIDE0bDIuMTIgMi4xMi0xLjQxIDEuNDFMMTIgMTUuNDFsLTIuMTIgMi4xMi0xLjQxLTEuNDFMMTAuNTkgMTRsLTIuMTMtMi4xMnpNMTUuNSA0bC0xLTFoLTVsLTEgMUg1djJoMTRWNHpcIixcclxuICAgIERlbGV0ZU91dGxpbmU6IFwiTTYgMTljMCAxLjEuOSAyIDIgMmg4YzEuMSAwIDItLjkgMi0yVjdINnYxMnpNOCA5aDh2MTBIOFY5em03LjUtNWwtMS0xaC01bC0xIDFINXYyaDE0VjR6XCIsXHJcbiAgICBEZXNjcmlwdGlvbjogXCJNMTQgMkg2Yy0xLjEgMC0xLjk5LjktMS45OSAyTDQgMjBjMCAxLjEuODkgMiAxLjk5IDJIMThjMS4xIDAgMi0uOSAyLTJWOGwtNi02em0yIDE2SDh2LTJoOHYyem0wLTRIOHYtMmg4djJ6bS0zLTVWMy41TDE4LjUgOUgxM3pcIixcclxuICAgIEVtb2ppT2JqZWN0czogXCJNMTIgM2MtLjQ2IDAtLjkzLjA0LTEuNC4xNC0yLjc2LjUzLTQuOTYgMi43Ni01LjQ4IDUuNTItLjQ4IDIuNjEuNDggNS4wMSAyLjIyIDYuNTYuNDMuMzguNjYuOTEuNjYgMS40N1YxOWMwIDEuMS45IDIgMiAyaC4yOGMuMzUuNi45OCAxIDEuNzIgMXMxLjM4LS40IDEuNzItMUgxNGMxLjEgMCAyLS45IDItMnYtMi4zMWMwLS41NS4yMi0xLjA5LjY0LTEuNDZDMTguMDkgMTMuOTUgMTkgMTIuMDggMTkgMTBjMC0zLjg3LTMuMTMtNy03LTd6bTIgMTZoLTR2LTFoNHYxem0wLTJoLTR2LTFoNHYxem0tMS41LTUuNTlWMTRoLTF2LTIuNTlMOS42NyA5LjU5bC43MS0uNzFMMTIgMTAuNWwxLjYyLTEuNjIuNzEuNzEtMS44MyAxLjgyelwiLFxyXG4gICAgRXhpdFRvQXBwOiBcIk0xMC4wOSAxNS41OUwxMS41IDE3bDUtNS01LTUtMS40MSAxLjQxTDEyLjY3IDExSDN2Mmg5LjY3bC0yLjU4IDIuNTl6TTE5IDNINWMtMS4xMSAwLTIgLjktMiAydjRoMlY1aDE0djE0SDV2LTRIM3Y0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6XCIsXHJcbiAgICBFeHBhbmRMZXNzOiBcIk0xMiA4bC02IDYgMS40MSAxLjQxTDEyIDEwLjgzbDQuNTkgNC41OEwxOCAxNHpcIixcclxuICAgIEV4cGFuZE1vcmU6IFwiTTE2LjU5IDguNTlMMTIgMTMuMTcgNy40MSA4LjU5IDYgMTBsNiA2IDYtNnpcIixcclxuICAgIEZvcm1hdExpbmVTcGFjaW5nOiBcIk02IDdoMi41TDUgMy41IDEuNSA3SDR2MTBIMS41TDUgMjAuNSA4LjUgMTdINlY3em00LTJ2MmgxMlY1SDEwem0wIDE0aDEydi0ySDEwdjJ6bTAtNmgxMnYtMkgxMHYyelwiLFxyXG4gICAgRm9yd2FyZDogXCJNMTIgOFY0bDggOC04IDh2LTRINFY4elwiLFxyXG4gICAgRm9yd2FyZE91dGxpbmVkOiBcIk0xNCA4LjgzTDE3LjE3IDEyIDE0IDE1LjE3VjE0SDZ2LTRoOFY4LjgzTTEyIDR2NEg0djhoOHY0bDgtOC04LTh6XCIsXHJcbiAgICBJbmZvOiBcIk0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0xIDE1aC0ydi02aDJ2NnptMC04aC0yVjdoMnYyelwiLFxyXG4gICAgS2V5Ym9hcmRBcnJvd1VwOiBcIk03LjQxIDE1LjQxTDEyIDEwLjgzbDQuNTkgNC41OEwxOCAxNGwtNi02LTYgNnpcIixcclxuICAgIEtleWJvYXJkQXJyb3dEb3duOiBcIk03LjQxIDguNTlMMTIgMTMuMTdsNC41OS00LjU4TDE4IDEwbC02IDYtNi02IDEuNDEtMS40MXpcIixcclxuICAgIExhYmVsOiBcIk0xNy42MyA1Ljg0QzE3LjI3IDUuMzMgMTYuNjcgNSAxNiA1TDUgNS4wMUMzLjkgNS4wMSAzIDUuOSAzIDd2MTBjMCAxLjEuOSAxLjk5IDIgMS45OUwxNiAxOWMuNjcgMCAxLjI3LS4zMyAxLjYzLS44NEwyMiAxMmwtNC4zNy02LjE2elwiLFxyXG4gICAgTG9jYWxBdG06IFwiTTExIDE3aDJ2LTFoMWMuNTUgMCAxLS40NSAxLTF2LTNjMC0uNTUtLjQ1LTEtMS0xaC0zdi0xaDRWOGgtMlY3aC0ydjFoLTFjLS41NSAwLTEgLjQ1LTEgMXYzYzAgLjU1LjQ1IDEgMSAxaDN2MUg5djJoMnYxem05LTEzSDRjLTEuMTEgMC0xLjk5Ljg5LTEuOTkgMkwyIDE4YzAgMS4xMS44OSAyIDIgMmgxNmMxLjExIDAgMi0uODkgMi0yVjZjMC0xLjExLS44OS0yLTItMnptMCAxNEg0VjZoMTZ2MTJ6XCIsXHJcbiAgICBMb2NhdGlvbjogXCJNMTIgMkM4LjEzIDIgNSA1LjEzIDUgOWMwIDUuMjUgNyAxMyA3IDEzczctNy43NSA3LTEzYzAtMy44Ny0zLjEzLTctNy03bTAgOS41Yy0xLjM4IDAtMi41LTEuMTItMi41LTIuNXMxLjEyLTIuNSAyLjUtMi41IDIuNSAxLjEyIDIuNSAyLjUtMS4xMiAyLjUtMi41IDIuNVwiLFxyXG4gICAgTWVudTogXCJNMyAxOGgxOHYtMkgzdjJ6bTAtNWgxOHYtMkgzdjJ6bTAtN3YyaDE4VjZIM3pcIixcclxuICAgIE5hdmlnYXRpb246IFwiTTEyIDJMNC41IDIwLjI5bC43MS43MUwxMiAxOGw2Ljc5IDMgLjcxLS43MXpcIixcclxuICAgIE5hdmlnYXRpb25Eb3duOiBcIk0xMiAyMkw0LjUgMy43MWwuNzEgLS43MUwxMiA2bDYuNzkgLTMgLjcxIC43MXpcIixcclxuICAgIFJlbW92ZVNob3BwaW5nQ2FydDogXCJNMjIuNzMgMjIuNzNMMi43NyAyLjc3IDIgMmwtLjczLS43M0wwIDIuNTRsNC4zOSA0LjM5IDIuMjEgNC42Ni0xLjM1IDIuNDVjLS4xNi4yOC0uMjUuNjEtLjI1Ljk2IDAgMS4xLjkgMiAyIDJoNy40NmwxLjM4IDEuMzhjLS41LjM2LS44My45NS0uODMgMS42MiAwIDEuMS44OSAyIDEuOTkgMiAuNjcgMCAxLjI2LS4zMyAxLjYyLS44NEwyMS40NiAyNGwxLjI3LTEuMjd6TTcuNDIgMTVjLS4xNCAwLS4yNS0uMTEtLjI1LS4yNWwuMDMtLjEyLjktMS42M2gyLjM2bDIgMkg3LjQyem04LjEzLTJjLjc1IDAgMS40MS0uNDEgMS43NS0xLjAzbDMuNTgtNi40OWMuMDgtLjE0LjEyLS4zMS4xMi0uNDggMC0uNTUtLjQ1LTEtMS0xSDYuNTRsOS4wMSA5ek03IDE4Yy0xLjEgMC0xLjk5LjktMS45OSAyUzUuOSAyMiA3IDIyczItLjkgMi0yLS45LTItMi0yelwiLFxyXG4gICAgU2F2ZTogXCJNMTcgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2MTRjMCAxLjEuODkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWN2wtNC00em0tNSAxNmMtMS42NiAwLTMtMS4zNC0zLTNzMS4zNC0zIDMtMyAzIDEuMzQgMyAzLTEuMzQgMy0zIDN6bTMtMTBINVY1aDEwdjR6XCIsXHJcbiAgICBTZWFyY2g6IFwiTTE1LjUgMTRoLS43OWwtLjI4LS4yN0MxNS40MSAxMi41OSAxNiAxMS4xMSAxNiA5LjUgMTYgNS45MSAxMy4wOSAzIDkuNSAzUzMgNS45MSAzIDkuNSA1LjkxIDE2IDkuNSAxNmMxLjYxIDAgMy4wOS0uNTkgNC4yMy0xLjU3bC4yNy4yOHYuNzlsNSA0Ljk5TDIwLjQ5IDE5bC00Ljk5LTV6bS02IDBDNy4wMSAxNCA1IDExLjk5IDUgOS41UzcuMDEgNSA5LjUgNSAxNCA3LjAxIDE0IDkuNSAxMS45OSAxNCA5LjUgMTR6XCIsXHJcbiAgICBTZW5kOiBcIk0yLjAxIDIxTDIzIDEyIDIuMDEgMyAyIDEwbDE1IDItMTUgMnpcIixcclxuICAgIFNldHRpbmdzOiBcIk0xNS45NSAxMC43OGMuMDMtLjI1LjA1LS41MS4wNS0uNzhzLS4wMi0uNTMtLjA2LS43OGwxLjY5LTEuMzJjLjE1LS4xMi4xOS0uMzQuMS0uNTFsLTEuNi0yLjc3Yy0uMS0uMTgtLjMxLS4yNC0uNDktLjE4bC0xLjk5LjhjLS40Mi0uMzItLjg2LS41OC0xLjM1LS43OEwxMiAyLjM0Yy0uMDMtLjItLjItLjM0LS40LS4zNEg4LjRjLS4yIDAtLjM2LjE0LS4zOS4zNGwtLjMgMi4xMmMtLjQ5LjItLjk0LjQ3LTEuMzUuNzhsLTEuOTktLjhjLS4xOC0uMDctLjM5IDAtLjQ5LjE4bC0xLjYgMi43N2MtLjEuMTgtLjA2LjM5LjEuNTFsMS42OSAxLjMyYy0uMDQuMjUtLjA3LjUyLS4wNy43OHMuMDIuNTMuMDYuNzhMMi4zNyAxMi4xYy0uMTUuMTItLjE5LjM0LS4xLjUxbDEuNiAyLjc3Yy4xLjE4LjMxLjI0LjQ5LjE4bDEuOTktLjhjLjQyLjMyLjg2LjU4IDEuMzUuNzhsLjMgMi4xMmMuMDQuMi4yLjM0LjQuMzRoMy4yYy4yIDAgLjM3LS4xNC4zOS0uMzRsLjMtMi4xMmMuNDktLjIuOTQtLjQ3IDEuMzUtLjc4bDEuOTkuOGMuMTguMDcuMzkgMCAuNDktLjE4bDEuNi0yLjc3Yy4xLS4xOC4wNi0uMzktLjEtLjUxbC0xLjY3LTEuMzJ6TTEwIDEzYy0xLjY1IDAtMy0xLjM1LTMtM3MxLjM1LTMgMy0zIDMgMS4zNSAzIDMtMS4zNSAzLTMgM3pcIixcclxuICAgIFN5bmNBbHQ6IFwiTTIyIDhsLTQtNHYzSDN2MmgxNXYzbDQtNHpNMiAxNmw0IDR2LTNoMTV2LTJINnYtM2wtNCA0elwiLFxyXG4gICAgVHJlbmRpbmdGbGF0OiBcIk0yMiAxMmwtNC00djNIM3YyaDE1djN6XCIsXHJcbiAgICBXYXJuaW5nOiBcIk0xIDIxaDIyTDEyIDIgMSAyMXptMTItM2gtMnYtMmgydjJ6bTAtNGgtMnYtNGgydjR6XCIsXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBJQ09OID0gbGlrZUFyKG1hdGVyaWFsSW9JY29uc1N2Z1BhdGgpLm1hcChzdmdUZXh0ID0+ICgpID0+XHJcbiAgICA8U3ZnSWNvbj48cGF0aCBkPXtzdmdUZXh0fSAvPjwvU3ZnSWNvbj5cclxuKS5wbGFpbigpO1xyXG5cclxuZXhwb3J0IHR5cGUgU3R5bGVzID0gUmVhY3QuQ1NTUHJvcGVydGllcztcclxuXHJcbmV4cG9ydCB0eXBlIE9uVXBkYXRlPFQ+ID0gKGRhdGE6IFQpID0+IHZvaWRcclxuXHJcbmV4cG9ydCB0eXBlIElucHV0VHlwZXMgPSAnZGF0ZScgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ3RleHQnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkYXB0YXJUaXBvVmFyQ2FzaWxsZXJvKGNhc2lsbGVyb0RhdGFUeXBlOiBUaXBvVmFyaWFibGVzIHwgJ29wY2lvbmVzJyB8ICdzaV9ubycpOiBJbnB1dFR5cGVzIHtcclxuICAgIGNvbnN0IGFkYXB0ZXI6IHsgW2tleSBpbiBUaXBvVmFyaWFibGVzIHwgJ29wY2lvbmVzJyB8ICdzaV9ubyddOiBJbnB1dFR5cGVzIH0gPSB7XHJcbiAgICAgICAgJ29wY2lvbmVzJzogJ251bWJlcicsXHJcbiAgICAgICAgJ3NpX25vJzogJ251bWJlcicsXHJcbiAgICAgICAgJ251bWVybyc6ICdudW1iZXInLFxyXG4gICAgICAgICdob3JhJzogJ3RlbCcsXHJcbiAgICAgICAgJ2hvcmFzJzogJ251bWJlcicsXHJcbiAgICAgICAgJ3RleHRvJzogJ3RleHQnLFxyXG4gICAgICAgICdmZWNoYSc6ICd0ZXh0J1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFkYXB0ZXJbY2FzaWxsZXJvRGF0YVR5cGVdXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBzY3JvbGxUb1RvcCA9ICgpID0+IHtcclxuICAgIHdpbmRvdy5zY3JvbGwoeyBiZWhhdmlvcjogJ3Ntb290aCcsIHRvcDogMCwgbGVmdDogMCB9KVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNjcm9sbFRvQm90dG9tID0gKCkgPT4ge1xyXG4gICAgd2luZG93LnNjcm9sbCh7IGJlaGF2aW9yOiAnc21vb3RoJywgdG9wOiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCAtIHdpbmRvdy5pbm5lckhlaWdodCwgbGVmdDogMCB9KVxyXG59O1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTY3JvbGxUb3AocHJvcHM6IHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0RWxlbWVudCB9KSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSBwcm9wcztcclxuICAgIC8vY29uc3QgY2xhc3NlcyA9IHVzZVN0eWxlc1Njcm9sbFRvcCgpO1xyXG4gICAgLy8gTm90ZSB0aGF0IHlvdSBub3JtYWxseSB3b24ndCBuZWVkIHRvIHNldCB0aGUgd2luZG93IHJlZiBhcyB1c2VTY3JvbGxUcmlnZ2VyXHJcbiAgICAvLyB3aWxsIGRlZmF1bHQgdG8gd2luZG93LlxyXG4gICAgLy8gVGhpcyBpcyBvbmx5IGJlaW5nIHNldCBoZXJlIGJlY2F1c2UgdGhlIGRlbW8gaXMgaW4gYW4gaWZyYW1lLlxyXG4gICAgY29uc3QgdHJpZ2dlciA9IHVzZVNjcm9sbFRyaWdnZXIoe1xyXG4gICAgICAgIGRpc2FibGVIeXN0ZXJlc2lzOiB0cnVlLFxyXG4gICAgICAgIHRocmVzaG9sZDogMTAwLFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxab29tIGluPXt0cmlnZ2VyfT5cclxuICAgICAgICAgICAgPGRpdiBvbkNsaWNrPXtzY3JvbGxUb1RvcH0gcm9sZT1cInByZXNlbnRhdGlvblwiIC8qY2xhc3NOYW1lPXtjbGFzc2VzLnJvb3R9Ki8+XHJcbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvWm9vbT5cclxuICAgICk7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEZvY3VzT3B0cyA9IHtcclxuICAgIG1vdmVUb0VsZW1lbnQ6IGJvb2xlYW5cclxuICAgIG1vdmVCZWhhdmlvcj86ICdhdXRvJyB8ICdzbW9vdGgnXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb2N1c1RvSWQoaWQ6IHN0cmluZywgb3B0czogRm9jdXNPcHRzLCBjYj86IChlOiBIVE1MRWxlbWVudCkgPT4gdm9pZCkge1xyXG4gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcbiAgICB2YXIgcGFkcmUgPSBlbGVtZW50O1xyXG4gICAgd2hpbGUgKHBhZHJlICYmIHBhZHJlLmNsYXNzTmFtZSAhPSAncHJlZ3VudGEnICYmIHBhZHJlICE9IGRvY3VtZW50LmJvZHkpIHBhZHJlID0gcGFkcmUucGFyZW50RWxlbWVudDtcclxuICAgIGlmIChwYWRyZSAmJiBwYWRyZS5jbGFzc05hbWUgPT0gJ3ByZWd1bnRhJykgZWxlbWVudCA9IHBhZHJlO1xyXG4gICAgaWYgKGVsZW1lbnQpIHtcclxuICAgICAgICBpZiAoY2IpIHtcclxuICAgICAgICAgICAgY2IoZWxlbWVudCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICBpZiAob3B0cy5tb3ZlVG9FbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KCk7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsKHsgYmVoYXZpb3I6IG9wdHMubW92ZUJlaGF2aW9yIHx8ICdhdXRvJywgdG9wOiB3aW5kb3cuc2Nyb2xsWSAtIDEwMCwgbGVmdDogMCB9KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJRGlzcGF0Y2hlcnMgPSB7IFJFU0VUX09QQ0lPTkVTOiBGdW5jdGlvbiB9O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFJlc2V0ZXJGb3JtKHByb3BzOiB7IG9uVHJ5QWdhaW46ICgpID0+IHZvaWQsIGRpc3BhdGNoZXJzOiBJRGlzcGF0Y2hlcnMsIG1lbnNhamU6IHN0cmluZyB9KSB7XHJcbiAgICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XHJcbiAgICByZXR1cm4gPD5cclxuICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHByb3BzLmRpc3BhdGNoZXJzLlJFU0VUX09QQ0lPTkVTKHt9KSk7XHJcbiAgICAgICAgICAgICAgICBwcm9wcy5vblRyeUFnYWluKCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgPntwcm9wcy5tZW5zYWplfTwvQnV0dG9uPlxyXG4gICAgPC8+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUmVuZGVyQW5kQ2FwdHVyZUVycm9yIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFxyXG4gICAgeyBkaXNwYXRjaGVyczogSURpc3BhdGNoZXJzLCBtZW5zYWplUmV0b3Jubzogc3RyaW5nIH0sXHJcbiAgICB7IGhhc0Vycm9yOiBib29sZWFuLCBlcnJvcjogRXJyb3IgfCB7fSwgaW5mbz86IGFueSB9XHJcbj4ge1xyXG4gICAgY29uc3RydWN0b3IocHJvcHM6IHsgZGlzcGF0Y2hlcnM6IElEaXNwYXRjaGVycywgbWVuc2FqZVJldG9ybm86IHN0cmluZyB9KSB7XHJcbiAgICAgICAgc3VwZXIocHJvcHMpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUgPSB7IGhhc0Vycm9yOiBmYWxzZSwgZXJyb3I6IHt9IH07XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBjb21wb25lbnREaWRDYXRjaChlcnJvcjogRXJyb3IsIGluZm86IGFueSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBoYXNFcnJvcjogdHJ1ZSwgZXJyb3IsIGluZm8gfSk7XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSByZW5kZXIoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuaGFzRXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIDw+XHJcbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5IdWJvIHVuIHByb2JsZW1hIGVuIGxhIHByb2dyYW1hY2nDs24gZGUgbGEgcGFudGFsbGEuPC9UeXBvZ3JhcGh5PlxyXG4gICAgICAgICAgICAgICAgPFJlc2V0ZXJGb3JtIGRpc3BhdGNoZXJzPXt0aGlzLnByb3BzLmRpc3BhdGNoZXJzfSBtZW5zYWplPXt0aGlzLnByb3BzLm1lbnNhamVSZXRvcm5vfSBvblRyeUFnYWluPXsoKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBoYXNFcnJvcjogZmFsc2UsIGVycm9yOiB7fSB9KVxyXG4gICAgICAgICAgICAgICAgfSAvPlxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwib3V0bGluZWRcIiBjb2xvcj1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBnb3RvU2luY3Jvbml6YXIoKTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgPmlyIGEgbGEgcGFudGFsbGEgZGUgc2luY3Jvbml6YWNpw7NuPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5FcnJvciBkZXRlY3RhZG86PC9UeXBvZ3JhcGh5PlxyXG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+e2V4cGVjdGVkKHRoaXMuc3RhdGUuZXJyb3IpLm1lc3NhZ2V9PC9UeXBvZ3JhcGh5PlxyXG4gICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+e0pTT04uc3RyaW5naWZ5KHRoaXMuc3RhdGUuaW5mbyl9PC9UeXBvZ3JhcGh5PlxyXG4gICAgICAgICAgICA8Lz47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xyXG4gICAgfVxyXG59XHJcblxyXG5jb25zdCB0aGVtZSA9IGNyZWF0ZVRoZW1lKHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgICBNdWlDc3NCYXNlbGluZToge1xyXG4gICAgICAgICAgICBzdHlsZU92ZXJyaWRlczoge1xyXG4gICAgICAgICAgICAgICAgaHRtbDoge1xyXG4gICAgICAgICAgICAgICAgICAgIFdlYmtpdEZvbnRTbW9vdGhpbmc6ICdhdXRvJyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgIH0sXHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZU9ubGluZVN0YXR1cygpIHtcclxuICAgIGNvbnN0IFtvbmxpbmUsIHNldE9ubGluZV0gPSB1c2VTdGF0ZSh3aW5kb3cubmF2aWdhdG9yLm9uTGluZSk7XHJcblxyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBoYW5kbGVyID0gKCkgPT4gc2V0T25saW5lKHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lKTtcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb25saW5lJywgaGFuZGxlcik7XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCBoYW5kbGVyKTtcclxuICAgICAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignb25saW5lJywgaGFuZGxlcik7XHJcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdvZmZsaW5lJywgaGFuZGxlcik7XHJcbiAgICAgICAgfTtcclxuICAgIH0sIFtdKTtcclxuXHJcbiAgICByZXR1cm4gb25saW5lO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gUmVuZGVyUHJpbmNpcGFsPFQsIFQyIGV4dGVuZHMgQWN0aW9uPihwcm9wczogeyBzdG9yZTogU3RvcmU8VCwgVDI+LCBkaXNwYXRjaGVyczogSURpc3BhdGNoZXJzLCBtZW5zYWplUmV0b3Jubzogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcclxuICAgIHJldHVybiA8UmVhY3QuU3RyaWN0TW9kZT5cclxuICAgICAgICA8UHJvdmlkZXIgc3RvcmU9e3Byb3BzLnN0b3JlfT5cclxuICAgICAgICAgICAgPFRoZW1lUHJvdmlkZXIgdGhlbWU9e3RoZW1lfT5cclxuICAgICAgICAgICAgICAgIDxSZW5kZXJBbmRDYXB0dXJlRXJyb3IgZGlzcGF0Y2hlcnM9e3Byb3BzLmRpc3BhdGNoZXJzfSBtZW5zYWplUmV0b3Jubz17cHJvcHMubWVuc2FqZVJldG9ybm99PlxyXG4gICAgICAgICAgICAgICAgICAgIDxDc3NCYXNlbGluZSAvPlxyXG4gICAgICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cclxuICAgICAgICAgICAgICAgIDwvUmVuZGVyQW5kQ2FwdHVyZUVycm9yPlxyXG4gICAgICAgICAgICA8L1RoZW1lUHJvdmlkZXI+XHJcbiAgICAgICAgPC9Qcm92aWRlcj5cclxuICAgIDwvUmVhY3QuU3RyaWN0TW9kZT5cclxufVxyXG5cclxuIl19
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWdlbmVyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvcmVuZGVyLWdlbmVyYWwudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQW9FQSwwREFXQztJQVdELDhCQWlCQztJQU9ELDhCQWdCQztJQTBHRCxrQ0FVQztJQThDRCwwQ0FjQztJQUVELDBDQVdDO0lBL1RELCtCQUErQjtJQUMvQixpQ0FBNEM7SUFDNUMsNkNBQW9EO0lBQ3BELGtDQUFrQztJQUVsQyx5REFBb0Q7SUFDcEQsMkNBQXNDO0lBRXRDLDRDQUV1QjtJQUl2QixxREFBcUQ7SUFDeEMsUUFBQSxzQkFBc0IsR0FBRztRQUNsQyxHQUFHLEVBQUUscUNBQXFDO1FBQzFDLFNBQVMsRUFBRSw4REFBOEQ7UUFDekUsVUFBVSxFQUFFLGdPQUFnTztRQUM1TyxLQUFLLEVBQUUsbURBQW1EO1FBQzFELDRCQUE0QixFQUFFLDRGQUE0RjtRQUMxSCxnQkFBZ0IsRUFBRSx1SkFBdUo7UUFDekssV0FBVyxFQUFFLHdLQUF3SztRQUNyTCxZQUFZLEVBQUUsMEtBQTBLO1FBQ3hMLEtBQUssRUFBRSx1R0FBdUc7UUFDOUcsS0FBSyxFQUFFLHVHQUF1RztRQUM5RyxJQUFJLEVBQUUsNEZBQTRGO1FBQ2xHLE1BQU0sRUFBRSxxSkFBcUo7UUFDN0osTUFBTSxFQUFFLCtFQUErRTtRQUN2RixhQUFhLEVBQUUsNk1BQTZNO1FBQzVOLGFBQWEsRUFBRSx5RkFBeUY7UUFDeEcsV0FBVyxFQUFFLGdJQUFnSTtRQUM3SSxZQUFZLEVBQUUsbVdBQW1XO1FBQ2pYLFNBQVMsRUFBRSxzS0FBc0s7UUFDakwsVUFBVSxFQUFFLGdEQUFnRDtRQUM1RCxVQUFVLEVBQUUsOENBQThDO1FBQzFELGlCQUFpQixFQUFFLGtHQUFrRztRQUNySCxPQUFPLEVBQUUseUJBQXlCO1FBQ2xDLGVBQWUsRUFBRSxtRUFBbUU7UUFDcEYsSUFBSSxFQUFFLGtHQUFr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YWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFByb3ZpZGVyLCB1c2VEaXNwYXRjaCB9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xyXG5pbXBvcnQgKiBhcyBsaWtlQXIgZnJvbSBcImxpa2UtYXJcIjtcclxuXHJcbmltcG9ydCB7IGdvdG9TaW5jcm9uaXphciB9IGZyb20gXCIuL3JlZHV4LWZvcm11bGFyaW9cIlxyXG5pbXBvcnQgeyBleHBlY3RlZCB9IGZyb20gXCJjYXN0LWVycm9yXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQnV0dG9uLCBDc3NCYXNlbGluZSwgU3ZnSWNvbiwgVGhlbWVQcm92aWRlciwgVHlwb2dyYXBoeSwgWm9vbSwgdXNlU2Nyb2xsVHJpZ2dlciwgY3JlYXRlVGhlbWVcclxufSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xyXG5pbXBvcnQgeyBTdG9yZSwgQWN0aW9uIH0gZnJvbSBcInJlZHV4XCI7XHJcbmltcG9ydCB7IFRpcG9WYXJpYWJsZXMgfSBmcm9tIFwiLi90aXBvc1wiO1xyXG5cclxuLy8gaHR0cHM6Ly9tYXRlcmlhbC11aS5jb20vY29tcG9uZW50cy9tYXRlcmlhbC1pY29ucy9cclxuZXhwb3J0IGNvbnN0IG1hdGVyaWFsSW9JY29uc1N2Z1BhdGggPSB7XHJcbiAgICBBZGQ6IFwiTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnpcIixcclxuICAgIEFycm93QmFjazogXCJNMjAgMTFINy44M2w1LjU5LTUuNTlMMTIgNGwtOCA4IDggOCAxLjQxLTEuNDFMNy44MyAxM0gyMHYtMnpcIixcclxuICAgIEFzc2lnbm1lbnQ6IFwiTTE5IDNoLTQuMThDMTQuNCAxLjg0IDEzLjMgMSAxMiAxYy0xLjMgMC0yLjQuODQtMi44MiAySDVjLTEuMSAwLTIgLjktMiAydjE0YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWNWMwLTEuMS0uOS0yLTItMnptLTcgMGMuNTUgMCAxIC40NSAxIDFzLS40NSAxLTEgMS0xLS40NS0xLTEgLjQ1LTEgMS0xem0yIDE0SDd2LTJoN3Yyem0zLTRIN3YtMmgxMHYyem0wLTRIN1Y3aDEwdjJ6XCIsXHJcbiAgICBDaGVjazogXCJNOSAxNi4xN0w0LjgzIDEybC0xLjQyIDEuNDFMOSAxOSAyMSA3bC0xLjQxLTEuNDF6XCIsXHJcbiAgICBDaGVja0JveE91dGxpbmVCbGFua091dGxpbmVkOiBcIk0xOSA1djE0SDVWNWgxNG0wLTJINWMtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yelwiLFxyXG4gICAgQ2hlY2tCb3hPdXRsaW5lZDogXCJNMTkgM0g1Yy0xLjEgMC0yIC45LTIgMnYxNGMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjVjMC0xLjEtLjktMi0yLTJ6bTAgMTZINVY1aDE0djE0ek0xNy45OSA5bC0xLjQxLTEuNDItNi41OSA2LjU5LTIuNTgtMi41Ny0xLjQyIDEuNDEgNCAzLjk5elwiLFxyXG4gICAgQ2hldnJvbkxlZnQ6IFwiTTE0LjcxIDYuNzFhLjk5NTkuOTk1OSAwIDAwLTEuNDEgMEw4LjcxIDExLjNjLS4zOS4zOS0uMzkgMS4wMiAwIDEuNDFsNC41OSA0LjU5Yy4zOS4zOSAxLjAyLjM5IDEuNDEgMCAuMzktLjM5LjM5LTEuMDIgMC0xLjQxTDEwLjgzIDEybDMuODgtMy44OGMuMzktLjM5LjM4LTEuMDMgMC0xLjQxelwiLFxyXG4gICAgQ2hldnJvblJpZ2h0OiBcIk05LjI5IDYuNzFjLS4zOS4zOS0uMzkgMS4wMiAwIDEuNDFMMTMuMTcgMTJsLTMuODggMy44OGMtLjM5LjM5LS4zOSAxLjAyIDAgMS40MS4zOS4zOSAxLjAyLjM5IDEuNDEgMGw0LjU5LTQuNTljLjM5LS4zOS4zOS0xLjAyIDAtMS40MUwxMC43IDYuN2MtLjM4LS4zOC0xLjAyLS4zOC0xLjQxLjAxelwiLFxyXG4gICAgQ2xlYXI6IFwiTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMnpcIixcclxuICAgIENsb3NlOiBcIk0xOSA2LjQxTDE3LjU5IDUgMTIgMTAuNTkgNi40MSA1IDUgNi40MSAxMC41OSAxMiA1IDE3LjU5IDYuNDEgMTkgMTIgMTMuNDEgMTcuNTkgMTkgMTkgMTcuNTkgMTMuNDEgMTJ6XCIsXHJcbiAgICBDb2RlOiBcIk05LjQgMTYuNkw0LjggMTJsNC42LTQuNkw4IDZsLTYgNiA2IDYgMS40LTEuNHptNS4yIDBsNC42LTQuNi00LjYtNC42TDE2IDZsNiA2LTYgNi0xLjQtMS40elwiLFxyXG4gICAgQ3JlYXRlOiBcIk0zIDE3LjI1VjIxaDMuNzVMMTcuODEgOS45NGwtMy43NS0zLjc1TDMgMTcuMjV6TTIwLjcxIDcuMDRjLjM5LS4zOS4zOS0xLjAyIDAtMS40MWwtMi4zNC0yLjM0YS45OTU5Ljk5NTkgMCAwMC0xLjQxIDBsLTEuODMgMS44MyAzLjc1IDMuNzUgMS44My0xLjgzelwiLFxyXG4gICAgRGVsZXRlOiBcIk02IDE5YzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3SDZ2MTJ6TTE5IDRoLTMuNWwtMS0xaC01bC0xIDFINXYyaDE0VjR6XCIsXHJcbiAgICBEZWxldGVGb3JldmVyOiBcIk02IDE5YzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3SDZ2MTJ6bTIuNDYtNy4xMmwxLjQxLTEuNDFMMTIgMTIuNTlsMi4xMi0yLjEyIDEuNDEgMS40MUwxMy40MSAxNGwyLjEyIDIuMTItMS40MSAxLjQxTDEyIDE1LjQxbC0yLjEyIDIuMTItMS40MS0xLjQxTDEwLjU5IDE0bC0yLjEzLTIuMTJ6TTE1LjUgNGwtMS0xaC01bC0xIDFINXYyaDE0VjR6XCIsXHJcbiAgICBEZWxldGVPdXRsaW5lOiBcIk02IDE5YzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3SDZ2MTJ6TTggOWg4djEwSDhWOXptNy41LTVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0elwiLFxyXG4gICAgRGVzY3JpcHRpb246IFwiTTE0IDJINmMtMS4xIDAtMS45OS45LTEuOTkgMkw0IDIwYzAgMS4xLjg5IDIgMS45OSAySDE4YzEuMSAwIDItLjkgMi0yVjhsLTYtNnptMiAxNkg4di0yaDh2MnptMC00SDh2LTJoOHYyem0tMy01VjMuNUwxOC41IDlIMTN6XCIsXHJcbiAgICBFbW9qaU9iamVjdHM6IFwiTTEyIDNjLS40NiAwLS45My4wNC0xLjQuMTQtMi43Ni41My00Ljk2IDIuNzYtNS40OCA1LjUyLS40OCAyLjYxLjQ4IDUuMDEgMi4yMiA2LjU2LjQzLjM4LjY2LjkxLjY2IDEuNDdWMTljMCAxLjEuOSAyIDIgMmguMjhjLjM1LjYuOTggMSAxLjcyIDFzMS4zOC0uNCAxLjcyLTFIMTRjMS4xIDAgMi0uOSAyLTJ2LTIuMzFjMC0uNTUuMjItMS4wOS42NC0xLjQ2QzE4LjA5IDEzLjk1IDE5IDEyLjA4IDE5IDEwYzAtMy44Ny0zLjEzLTctNy03em0yIDE2aC00di0xaDR2MXptMC0yaC00di0xaDR2MXptLTEuNS01LjU5VjE0aC0xdi0yLjU5TDkuNjcgOS41OWwuNzEtLjcxTDEyIDEwLjVsMS42Mi0xLjYyLjcxLjcxLTEuODMgMS44MnpcIixcclxuICAgIEV4aXRUb0FwcDogXCJNMTAuMDkgMTUuNTlMMTEuNSAxN2w1LTUtNS01LTEuNDEgMS40MUwxMi42NyAxMUgzdjJoOS42N2wtMi41OCAyLjU5ek0xOSAzSDVjLTEuMTEgMC0yIC45LTIgMnY0aDJWNWgxNHYxNEg1di00SDN2NGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yelwiLFxyXG4gICAgRXhwYW5kTGVzczogXCJNMTIgOGwtNiA2IDEuNDEgMS40MUwxMiAxMC44M2w0LjU5IDQuNThMMTggMTR6XCIsXHJcbiAgICBFeHBhbmRNb3JlOiBcIk0xNi41OSA4LjU5TDEyIDEzLjE3IDcuNDEgOC41OSA2IDEwbDYgNiA2LTZ6XCIsXHJcbiAgICBGb3JtYXRMaW5lU3BhY2luZzogXCJNNiA3aDIuNUw1IDMuNSAxLjUgN0g0djEwSDEuNUw1IDIwLjUgOC41IDE3SDZWN3ptNC0ydjJoMTJWNUgxMHptMCAxNGgxMnYtMkgxMHYyem0wLTZoMTJ2LTJIMTB2MnpcIixcclxuICAgIEZvcndhcmQ6IFwiTTEyIDhWNGw4IDgtOCA4di00SDRWOHpcIixcclxuICAgIEZvcndhcmRPdXRsaW5lZDogXCJNMTQgOC44M0wxNy4xNyAxMiAxNCAxNS4xN1YxNEg2di00aDhWOC44M00xMiA0djRINHY4aDh2NGw4LTgtOC04elwiLFxyXG4gICAgSW5mbzogXCJNMTIgMkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMSAxNWgtMnYtNmgydjZ6bTAtOGgtMlY3aDJ2MnpcIixcclxuICAgIEtleWJvYXJkQXJyb3dVcDogXCJNNy40MSAxNS40MUwxMiAxMC44M2w0LjU5IDQuNThMMTggMTRsLTYtNi02IDZ6XCIsXHJcbiAgICBLZXlib2FyZEFycm93RG93bjogXCJNNy40MSA4LjU5TDEyIDEzLjE3bDQuNTktNC41OEwxOCAxMGwtNiA2LTYtNiAxLjQxLTEuNDF6XCIsXHJcbiAgICBMYWJlbDogXCJNMTcuNjMgNS44NEMxNy4yNyA1LjMzIDE2LjY3IDUgMTYgNUw1IDUuMDFDMy45IDUuMDEgMyA1LjkgMyA3djEwYzAgMS4xLjkgMS45OSAyIDEuOTlMMTYgMTljLjY3IDAgMS4yNy0uMzMgMS42My0uODRMMjIgMTJsLTQuMzctNi4xNnpcIixcclxuICAgIExvY2FsQXRtOiBcIk0xMSAxN2gydi0xaDFjLjU1IDAgMS0uNDUgMS0xdi0zYzAtLjU1LS40NS0xLTEtMWgtM3YtMWg0VjhoLTJWN2gtMnYxaC0xYy0uNTUgMC0xIC40NS0xIDF2M2MwIC41NS40NSAxIDEgMWgzdjFIOXYyaDJ2MXptOS0xM0g0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY2YzAtMS4xMS0uODktMi0yLTJ6bTAgMTRINFY2aDE2djEyelwiLFxyXG4gICAgTG9jYXRpb246IFwiTTEyIDJDOC4xMyAyIDUgNS4xMyA1IDljMCA1LjI1IDcgMTMgNyAxM3M3LTcuNzUgNy0xM2MwLTMuODctMy4xMy03LTctN20wIDkuNWMtMS4zOCAwLTIuNS0xLjEyLTIuNS0yLjVzMS4xMi0yLjUgMi41LTIuNSAyLjUgMS4xMiAyLjUgMi41LTEuMTIgMi41LTIuNSAyLjVcIixcclxuICAgIE1lbnU6IFwiTTMgMThoMTh2LTJIM3Yyem0wLTVoMTh2LTJIM3Yyem0wLTd2MmgxOFY2SDN6XCIsXHJcbiAgICBOYXZpZ2F0aW9uOiBcIk0xMiAyTDQuNSAyMC4yOWwuNzEuNzFMMTIgMThsNi43OSAzIC43MS0uNzF6XCIsXHJcbiAgICBOYXZpZ2F0aW9uRG93bjogXCJNMTIgMjJMNC41IDMuNzFsLjcxIC0uNzFMMTIgNmw2Ljc5IC0zIC43MSAuNzF6XCIsXHJcbiAgICBSZW1vdmVTaG9wcGluZ0NhcnQ6IFwiTTIyLjczIDIyLjczTDIuNzcgMi43NyAyIDJsLS43My0uNzNMMCAyLjU0bDQuMzkgNC4zOSAyLjIxIDQuNjYtMS4zNSAyLjQ1Yy0uMTYuMjgtLjI1LjYxLS4yNS45NiAwIDEuMS45IDIgMiAyaDcuNDZsMS4zOCAxLjM4Yy0uNS4zNi0uODMuOTUtLjgzIDEuNjIgMCAxLjEuODkgMiAxLjk5IDIgLjY3IDAgMS4yNi0uMzMgMS42Mi0uODRMMjEuNDYgMjRsMS4yNy0xLjI3ek03LjQyIDE1Yy0uMTQgMC0uMjUtLjExLS4yNS0uMjVsLjAzLS4xMi45LTEuNjNoMi4zNmwyIDJINy40MnptOC4xMy0yYy43NSAwIDEuNDEtLjQxIDEuNzUtMS4wM2wzLjU4LTYuNDljLjA4LS4xNC4xMi0uMzEuMTItLjQ4IDAtLjU1LS40NS0xLTEtMUg2LjU0bDkuMDEgOXpNNyAxOGMtMS4xIDAtMS45OS45LTEuOTkgMlM1LjkgMjIgNyAyMnMyLS45IDItMi0uOS0yLTItMnpcIixcclxuICAgIFNhdmU6IFwiTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0elwiLFxyXG4gICAgU2VhcmNoOiBcIk0xNS41IDE0aC0uNzlsLS4yOC0uMjdDMTUuNDEgMTIuNTkgMTYgMTEuMTEgMTYgOS41IDE2IDUuOTEgMTMuMDkgMyA5LjUgM1MzIDUuOTEgMyA5LjUgNS45MSAxNiA5LjUgMTZjMS42MSAwIDMuMDktLjU5IDQuMjMtMS41N2wuMjcuMjh2Ljc5bDUgNC45OUwyMC40OSAxOWwtNC45OS01em0tNiAwQzcuMDEgMTQgNSAxMS45OSA1IDkuNVM3LjAxIDUgOS41IDUgMTQgNy4wMSAxNCA5LjUgMTEuOTkgMTQgOS41IDE0elwiLFxyXG4gICAgU2VuZDogXCJNMi4wMSAyMUwyMyAxMiAyLjAxIDMgMiAxMGwxNSAyLTE1IDJ6XCIsXHJcbiAgICBTZXR0aW5nczogXCJNMTUuOTUgMTAuNzhjLjAzLS4yNS4wNS0uNTEuMDUtLjc4cy0uMDItLjUzLS4wNi0uNzhsMS42OS0xLjMyYy4xNS0uMTIuMTktLjM0LjEtLjUxbC0xLjYtMi43N2MtLjEtLjE4LS4zMS0uMjQtLjQ5LS4xOGwtMS45OS44Yy0uNDItLjMyLS44Ni0uNTgtMS4zNS0uNzhMMTIgMi4zNGMtLjAzLS4yLS4yLS4zNC0uNC0uMzRIOC40Yy0uMiAwLS4zNi4xNC0uMzkuMzRsLS4zIDIuMTJjLS40OS4yLS45NC40Ny0xLjM1Ljc4bC0xLjk5LS44Yy0uMTgtLjA3LS4zOSAwLS40OS4xOGwtMS42IDIuNzdjLS4xLjE4LS4wNi4zOS4xLjUxbDEuNjkgMS4zMmMtLjA0LjI1LS4wNy41Mi0uMDcuNzhzLjAyLjUzLjA2Ljc4TDIuMzcgMTIuMWMtLjE1LjEyLS4xOS4zNC0uMS41MWwxLjYgMi43N2MuMS4xOC4zMS4yNC40OS4xOGwxLjk5LS44Yy40Mi4zMi44Ni41OCAxLjM1Ljc4bC4zIDIuMTJjLjA0LjIuMi4zNC40LjM0aDMuMmMuMiAwIC4zNy0uMTQuMzktLjM0bC4zLTIuMTJjLjQ5LS4yLjk0LS40NyAxLjM1LS43OGwxLjk5LjhjLjE4LjA3LjM5IDAgLjQ5LS4xOGwxLjYtMi43N2MuMS0uMTguMDYtLjM5LS4xLS41MWwtMS42Ny0xLjMyek0xMCAxM2MtMS42NSAwLTMtMS4zNS0zLTNzMS4zNS0zIDMtMyAzIDEuMzUgMyAzLTEuMzUgMy0zIDN6XCIsXHJcbiAgICBTeW5jQWx0OiBcIk0yMiA4bC00LTR2M0gzdjJoMTV2M2w0LTR6TTIgMTZsNCA0di0zaDE1di0ySDZ2LTNsLTQgNHpcIixcclxuICAgIFRyZW5kaW5nRmxhdDogXCJNMjIgMTJsLTQtNHYzSDN2MmgxNXYzelwiLFxyXG4gICAgV2FybmluZzogXCJNMSAyMWgyMkwxMiAyIDEgMjF6bTEyLTNoLTJ2LTJoMnYyem0wLTRoLTJ2LTRoMnY0elwiLFxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSUNPTiA9IGxpa2VBcihtYXRlcmlhbElvSWNvbnNTdmdQYXRoKS5tYXAoc3ZnVGV4dCA9PiAoKSA9PlxyXG4gICAgPFN2Z0ljb24+PHBhdGggZD17c3ZnVGV4dH0gLz48L1N2Z0ljb24+XHJcbikucGxhaW4oKTtcclxuXHJcbmV4cG9ydCB0eXBlIFN0eWxlcyA9IFJlYWN0LkNTU1Byb3BlcnRpZXM7XHJcblxyXG5leHBvcnQgdHlwZSBPblVwZGF0ZTxUPiA9IChkYXRhOiBUKSA9PiB2b2lkXHJcblxyXG5leHBvcnQgdHlwZSBJbnB1dFR5cGVzID0gJ2RhdGUnIHwgJ251bWJlcicgfCAndGVsJyB8ICd0ZXh0JztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGFwdGFyVGlwb1ZhckNhc2lsbGVybyhjYXNpbGxlcm9EYXRhVHlwZTogVGlwb1ZhcmlhYmxlcyB8ICdvcGNpb25lcycgfCAnc2lfbm8nKTogSW5wdXRUeXBlcyB7XHJcbiAgICBjb25zdCBhZGFwdGVyOiB7IFtrZXkgaW4gVGlwb1ZhcmlhYmxlcyB8ICdvcGNpb25lcycgfCAnc2lfbm8nXTogSW5wdXRUeXBlcyB9ID0ge1xyXG4gICAgICAgICdvcGNpb25lcyc6ICdudW1iZXInLFxyXG4gICAgICAgICdzaV9ubyc6ICdudW1iZXInLFxyXG4gICAgICAgICdudW1lcm8nOiAnbnVtYmVyJyxcclxuICAgICAgICAnaG9yYSc6ICd0ZWwnLFxyXG4gICAgICAgICdob3Jhcyc6ICdudW1iZXInLFxyXG4gICAgICAgICd0ZXh0byc6ICd0ZXh0JyxcclxuICAgICAgICAnZmVjaGEnOiAndGV4dCdcclxuICAgIH1cclxuICAgIHJldHVybiBhZGFwdGVyW2Nhc2lsbGVyb0RhdGFUeXBlXVxyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgc2Nyb2xsVG9Ub3AgPSAoKSA9PiB7XHJcbiAgICB3aW5kb3cuc2Nyb2xsKHsgYmVoYXZpb3I6ICdzbW9vdGgnLCB0b3A6IDAsIGxlZnQ6IDAgfSlcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBzY3JvbGxUb0JvdHRvbSA9ICgpID0+IHtcclxuICAgIHdpbmRvdy5zY3JvbGwoeyBiZWhhdmlvcjogJ3Ntb290aCcsIHRvcDogZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQgLSB3aW5kb3cuaW5uZXJIZWlnaHQsIGxlZnQ6IDAgfSlcclxufTtcclxuXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2Nyb2xsVG9wKHByb3BzOiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQgfSkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gcHJvcHM7XHJcbiAgICAvL2NvbnN0IGNsYXNzZXMgPSB1c2VTdHlsZXNTY3JvbGxUb3AoKTtcclxuICAgIC8vIE5vdGUgdGhhdCB5b3Ugbm9ybWFsbHkgd29uJ3QgbmVlZCB0byBzZXQgdGhlIHdpbmRvdyByZWYgYXMgdXNlU2Nyb2xsVHJpZ2dlclxyXG4gICAgLy8gd2lsbCBkZWZhdWx0IHRvIHdpbmRvdy5cclxuICAgIC8vIFRoaXMgaXMgb25seSBiZWluZyBzZXQgaGVyZSBiZWNhdXNlIHRoZSBkZW1vIGlzIGluIGFuIGlmcmFtZS5cclxuICAgIGNvbnN0IHRyaWdnZXIgPSB1c2VTY3JvbGxUcmlnZ2VyKHtcclxuICAgICAgICBkaXNhYmxlSHlzdGVyZXNpczogdHJ1ZSxcclxuICAgICAgICB0aHJlc2hvbGQ6IDEwMCxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8Wm9vbSBpbj17dHJpZ2dlcn0+XHJcbiAgICAgICAgICAgIDxkaXYgb25DbGljaz17c2Nyb2xsVG9Ub3B9IHJvbGU9XCJwcmVzZW50YXRpb25cIiAvKmNsYXNzTmFtZT17Y2xhc3Nlcy5yb290fSovPlxyXG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L1pvb20+XHJcbiAgICApO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBGb2N1c09wdHMgPSB7XHJcbiAgICBtb3ZlVG9FbGVtZW50OiBib29sZWFuXHJcbiAgICBtb3ZlQmVoYXZpb3I/OiAnYXV0bycgfCAnc21vb3RoJ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZm9jdXNUb0lkKGlkOiBzdHJpbmcsIG9wdHM6IEZvY3VzT3B0cywgY2I/OiAoZTogSFRNTEVsZW1lbnQpID0+IHZvaWQpIHtcclxuICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpO1xyXG4gICAgdmFyIHBhZHJlID0gZWxlbWVudDtcclxuICAgIHdoaWxlIChwYWRyZSAmJiBwYWRyZS5jbGFzc05hbWUgIT0gJ3ByZWd1bnRhJyAmJiBwYWRyZSAhPSBkb2N1bWVudC5ib2R5KSBwYWRyZSA9IHBhZHJlLnBhcmVudEVsZW1lbnQ7XHJcbiAgICBpZiAocGFkcmUgJiYgcGFkcmUuY2xhc3NOYW1lID09ICdwcmVndW50YScpIGVsZW1lbnQgPSBwYWRyZTtcclxuICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgICAgaWYgKGNiKSB7XHJcbiAgICAgICAgICAgIGNiKGVsZW1lbnQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgaWYgKG9wdHMubW92ZVRvRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbCh7IGJlaGF2aW9yOiBvcHRzLm1vdmVCZWhhdmlvciB8fCAnYXV0bycsIHRvcDogd2luZG93LnNjcm9sbFkgLSAxMDAsIGxlZnQ6IDAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSURpc3BhdGNoZXJzID0geyBSRVNFVF9PUENJT05FUzogRnVuY3Rpb24gfTtcclxuXHJcbmZ1bmN0aW9uIGdldEJhZGdlU3R5bGUoZXN0YWRvOiBzdHJpbmcpOiBSZWFjdC5DU1NQcm9wZXJ0aWVzIHtcclxuICAgIGNvbnN0IGJhc2U6IFJlYWN0LkNTU1Byb3BlcnRpZXMgPSB7XHJcbiAgICAgICAgcGFkZGluZzogJzJweCA2cHgnLFxyXG4gICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXHJcbiAgICAgICAgZm9udFNpemU6ICcxMXB4JyxcclxuICAgICAgICBmb250V2VpZ2h0OiAnYm9sZCcsXHJcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXHJcbiAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZSdcclxuICAgIH07XHJcbiAgICBpZiAoZXN0YWRvID09PSAnb2snKSByZXR1cm4geyAuLi5iYXNlLCBiYWNrZ3JvdW5kQ29sb3I6ICcjYzZmNmQ1JywgY29sb3I6ICcjMjI1NDNkJyB9O1xyXG4gICAgaWYgKGVzdGFkbyA9PT0gJ2luY29tcGxldG8nIHx8IGVzdGFkbyA9PT0gJ2NvbiBwcm9ibGVtYXMnKSByZXR1cm4geyAuLi5iYXNlLCBiYWNrZ3JvdW5kQ29sb3I6ICcjZmVlYmM4JywgY29sb3I6ICcjNzQ0MjEwJyB9O1xyXG4gICAgcmV0dXJuIHsgLi4uYmFzZSwgYmFja2dyb3VuZENvbG9yOiAnI2VkZjJmNycsIGNvbG9yOiAnIzRhNTU2OCcgfTtcclxufVxyXG5pbnRlcmZhY2UgUmVuZGVyaXphZG9ySlNPTlByb3BzIHtcclxuICAgIGRhdG9zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gICAgbml2ZWw/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBSZW5kZXJpemFkb3JKU09OOiBSZWFjdC5GQzxSZW5kZXJpemFkb3JKU09OUHJvcHM+ID0gKHsgZGF0b3MsIG5pdmVsID0gMCB9KSA9PiB7XHJcblxyXG4gICAgY29uc3QgY2xhdmVzRmlsdHJhZGFzID0gT2JqZWN0LmtleXMoZGF0b3MpLmZpbHRlcihcclxuICAgICAgICBjbGF2ZSA9PiAhY2xhdmUuc3RhcnRzV2l0aCgnJCcpICYmIGNsYXZlICE9PSAndGltZXN0YW1wRXN0cnVjdHVyYSdcclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IHN0eWxlPXt7IHBhZGRpbmdMZWZ0OiBuaXZlbCA+IDAgPyAnMTZweCcgOiAnMHB4JyB9fT5cclxuICAgICAgICAgICAge2NsYXZlc0ZpbHRyYWRhcy5tYXAoY2xhdmUgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsb3IgPSBkYXRvc1tjbGF2ZV07XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gREVURUNDScOTTiBERSBTVUItVU5JREFERVMgREUgQU7DgUxJU0lTIChob2dhcmVzLCBwZXJzb25hcywgZXRjLilcclxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbG9yKSAmJiB2YWxvci5sZW5ndGggPiAwICYmIHR5cGVvZiB2YWxvclswXSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2NsYXZlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICcxMnB4IDAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckxlZnQ6ICc0cHggc29saWQgIzMxODJjZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2Y3ZmFmYycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnMCA2cHggNnB4IDAnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICc4cHggMTJweCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBUw610dWxvIGRlIGxhIFVBICovfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250V2VpZ2h0OiAnYm9sZCcsIGNvbG9yOiAnIzJiNmNiMCcsIGZvbnRTaXplOiAnMTNweCcsIHRleHRUcmFuc2Zvcm06ICd1cHBlcmNhc2UnLCBtYXJnaW5Cb3R0b206ICc2cHgnIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVuaWRhZCBkZSBBbsOhbGlzaXM6IHtjbGF2ZX0gKHt2YWxvci5sZW5ndGh9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3ZhbG9yLm1hcCgocmVnaXN0cm8sIGZpbGFJbmRleCkgPT4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtmaWxhSW5kZXh9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206IGZpbGFJbmRleCA8IHZhbG9yLmxlbmd0aCAtIDEgPyAnMTBweCcgOiAnMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiBmaWxhSW5kZXggPiAwID8gJzZweCcgOiAnMCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXJUb3A6IGZpbGFJbmRleCA+IDAgPyAnMXB4IGRhc2hlZCAjZTJlOGYwJyA6ICdub25lJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJlbmRlcml6YWRvckpTT04gZGF0b3M9e3JlZ2lzdHJvfSBuaXZlbD17bml2ZWwgKyAxfSAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gU2kgcG9yIGxhcyBkdWRhcyBlcyB1biBvYmpldG8gZGlyZWN0byBxdWUgbm8gZXMgYXJyYXksIGxvIHNhbHRlYW1vc1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWxvciA9PT0gJ29iamVjdCcgJiYgdmFsb3IgIT09IG51bGwpIHJldHVybiBudWxsO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIFZBUklBQkxFUyBFU1TDgU5EQVIgKENsYXZlIHkgdmFsb3IganVudG9zKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y2xhdmV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsIC8vIFBvciBzaSBlbCB2YWxvciBlcyBtdXkgbGFyZ28sIHF1ZSBiYWplIGxpbXBpb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzRweCAwJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTNweCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICcxLjQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7LyogQ2xhdmU6IGFob3JhIHNpbiBhbmNobyBmaWpvLCBzZSBhZGFwdGEgYWwgdGV4dG8gKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICcjNGE1NTY4JywgZm9udFdlaWdodDogNTAwLCBtYXJnaW5SaWdodDogJzZweCcgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xhdmV9OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiBWYWxvcjogcGVnYWRvIGlubWVkaWF0YW1lbnRlIGEgbGEgY2xhdmUgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgY29sb3I6ICcjMWEyMDJjJywgZm9udFdlaWdodDogNjAwIH19PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NsYXZlLnN0YXJ0c1dpdGgoJ3Jlc3VtZW5Fc3RhZG8nKSA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17Z2V0QmFkZ2VTdHlsZShTdHJpbmcodmFsb3IpKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtTdHJpbmcodmFsb3IpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nKHZhbG9yID8/ICcnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gUmVzZXRlckZvcm0ocHJvcHM6IHsgb25UcnlBZ2FpbjogKCkgPT4gdm9pZCwgZGlzcGF0Y2hlcnM6IElEaXNwYXRjaGVycywgbWVuc2FqZTogc3RyaW5nIH0pIHtcclxuICAgIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcclxuICAgIHJldHVybiA8PlxyXG4gICAgICAgIDxCdXR0b24gdmFyaWFudD1cIm91dGxpbmVkXCJcclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2gocHJvcHMuZGlzcGF0Y2hlcnMuUkVTRVRfT1BDSU9ORVMoe30pKTtcclxuICAgICAgICAgICAgICAgIHByb3BzLm9uVHJ5QWdhaW4oKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICA+e3Byb3BzLm1lbnNhamV9PC9CdXR0b24+XHJcbiAgICA8Lz47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZW5kZXJBbmRDYXB0dXJlRXJyb3IgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8XHJcbiAgICB7IGRpc3BhdGNoZXJzOiBJRGlzcGF0Y2hlcnMsIG1lbnNhamVSZXRvcm5vOiBzdHJpbmcgfSxcclxuICAgIHsgaGFzRXJyb3I6IGJvb2xlYW4sIGVycm9yOiBFcnJvciB8IHt9LCBpbmZvPzogYW55IH1cclxuPiB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm9wczogeyBkaXNwYXRjaGVyczogSURpc3BhdGNoZXJzLCBtZW5zYWplUmV0b3Jubzogc3RyaW5nIH0pIHtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgaGFzRXJyb3I6IGZhbHNlLCBlcnJvcjoge30gfTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGNvbXBvbmVudERpZENhdGNoKGVycm9yOiBFcnJvciwgaW5mbzogYW55KSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhhc0Vycm9yOiB0cnVlLCBlcnJvciwgaW5mbyB9KTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIHJlbmRlcigpIHtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5oYXNFcnJvcikge1xyXG4gICAgICAgICAgICByZXR1cm4gPD5cclxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5Pkh1Ym8gdW4gcHJvYmxlbWEgZW4gbGEgcHJvZ3JhbWFjacOzbiBkZSBsYSBwYW50YWxsYS48L1R5cG9ncmFwaHk+XHJcbiAgICAgICAgICAgICAgICA8UmVzZXRlckZvcm0gZGlzcGF0Y2hlcnM9e3RoaXMucHJvcHMuZGlzcGF0Y2hlcnN9IG1lbnNhamU9e3RoaXMucHJvcHMubWVuc2FqZVJldG9ybm99IG9uVHJ5QWdhaW49eygpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhhc0Vycm9yOiBmYWxzZSwgZXJyb3I6IHt9IH0pXHJcbiAgICAgICAgICAgICAgICB9IC8+XHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uIHZhcmlhbnQ9XCJvdXRsaW5lZFwiIGNvbG9yPVwic2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdvdG9TaW5jcm9uaXphcigpO1xyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+aXIgYSBsYSBwYW50YWxsYSBkZSBzaW5jcm9uaXphY2nDs248L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5PkVycm9yIGRldGVjdGFkbzo8L1R5cG9ncmFwaHk+XHJcbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT57ZXhwZWN0ZWQodGhpcy5zdGF0ZS5lcnJvcikubWVzc2FnZX08L1R5cG9ncmFwaHk+XHJcbiAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT57SlNPTi5zdHJpbmdpZnkodGhpcy5zdGF0ZS5pbmZvKX08L1R5cG9ncmFwaHk+XHJcbiAgICAgICAgICAgIDwvPjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbmNvbnN0IHRoZW1lID0gY3JlYXRlVGhlbWUoe1xyXG4gICAgY29tcG9uZW50czoge1xyXG4gICAgICAgIE11aUNzc0Jhc2VsaW5lOiB7XHJcbiAgICAgICAgICAgIHN0eWxlT3ZlcnJpZGVzOiB7XHJcbiAgICAgICAgICAgICAgICBodG1sOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgV2Via2l0Rm9udFNtb290aGluZzogJ2F1dG8nLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgfSxcclxufSk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXNlT25saW5lU3RhdHVzKCkge1xyXG4gICAgY29uc3QgW29ubGluZSwgc2V0T25saW5lXSA9IHVzZVN0YXRlKHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lKTtcclxuXHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoKSA9PiBzZXRPbmxpbmUod2luZG93Lm5hdmlnYXRvci5vbkxpbmUpO1xyXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdvbmxpbmUnLCBoYW5kbGVyKTtcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignb2ZmbGluZScsIGhhbmRsZXIpO1xyXG4gICAgICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdvbmxpbmUnLCBoYW5kbGVyKTtcclxuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ29mZmxpbmUnLCBoYW5kbGVyKTtcclxuICAgICAgICB9O1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIHJldHVybiBvbmxpbmU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBSZW5kZXJQcmluY2lwYWw8VCwgVDIgZXh0ZW5kcyBBY3Rpb24+KHByb3BzOiB7IHN0b3JlOiBTdG9yZTxULCBUMj4sIGRpc3BhdGNoZXJzOiBJRGlzcGF0Y2hlcnMsIG1lbnNhamVSZXRvcm5vOiBzdHJpbmcsIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xyXG4gICAgcmV0dXJuIDxSZWFjdC5TdHJpY3RNb2RlPlxyXG4gICAgICAgIDxQcm92aWRlciBzdG9yZT17cHJvcHMuc3RvcmV9PlxyXG4gICAgICAgICAgICA8VGhlbWVQcm92aWRlciB0aGVtZT17dGhlbWV9PlxyXG4gICAgICAgICAgICAgICAgPFJlbmRlckFuZENhcHR1cmVFcnJvciBkaXNwYXRjaGVycz17cHJvcHMuZGlzcGF0Y2hlcnN9IG1lbnNhamVSZXRvcm5vPXtwcm9wcy5tZW5zYWplUmV0b3Jub30+XHJcbiAgICAgICAgICAgICAgICAgICAgPENzc0Jhc2VsaW5lIC8+XHJcbiAgICAgICAgICAgICAgICAgICAge3Byb3BzLmNoaWxkcmVufVxyXG4gICAgICAgICAgICAgICAgPC9SZW5kZXJBbmRDYXB0dXJlRXJyb3I+XHJcbiAgICAgICAgICAgIDwvVGhlbWVQcm92aWRlcj5cclxuICAgICAgICA8L1Byb3ZpZGVyPlxyXG4gICAgPC9SZWFjdC5TdHJpY3RNb2RlPlxyXG59XHJcblxyXG4iXX0=
|
|
@@ -132,6 +132,108 @@ export function focusToId(id: string, opts: FocusOpts, cb?: (e: HTMLElement) =>
|
|
|
132
132
|
|
|
133
133
|
export type IDispatchers = { RESET_OPCIONES: Function };
|
|
134
134
|
|
|
135
|
+
function getBadgeStyle(estado: string): React.CSSProperties {
|
|
136
|
+
const base: React.CSSProperties = {
|
|
137
|
+
padding: '2px 6px',
|
|
138
|
+
borderRadius: '4px',
|
|
139
|
+
fontSize: '11px',
|
|
140
|
+
fontWeight: 'bold',
|
|
141
|
+
display: 'inline-block',
|
|
142
|
+
textTransform: 'uppercase'
|
|
143
|
+
};
|
|
144
|
+
if (estado === 'ok') return { ...base, backgroundColor: '#c6f6d5', color: '#22543d' };
|
|
145
|
+
if (estado === 'incompleto' || estado === 'con problemas') return { ...base, backgroundColor: '#feebc8', color: '#744210' };
|
|
146
|
+
return { ...base, backgroundColor: '#edf2f7', color: '#4a5568' };
|
|
147
|
+
}
|
|
148
|
+
interface RenderizadorJSONProps {
|
|
149
|
+
datos: Record<string, any>;
|
|
150
|
+
nivel?: number;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export const RenderizadorJSON: React.FC<RenderizadorJSONProps> = ({ datos, nivel = 0 }) => {
|
|
154
|
+
|
|
155
|
+
const clavesFiltradas = Object.keys(datos).filter(
|
|
156
|
+
clave => !clave.startsWith('$') && clave !== 'timestampEstructura'
|
|
157
|
+
);
|
|
158
|
+
|
|
159
|
+
return (
|
|
160
|
+
<div style={{ paddingLeft: nivel > 0 ? '16px' : '0px' }}>
|
|
161
|
+
{clavesFiltradas.map(clave => {
|
|
162
|
+
const valor = datos[clave];
|
|
163
|
+
|
|
164
|
+
// DETECCIÓN DE SUB-UNIDADES DE ANÁLISIS (hogares, personas, etc.)
|
|
165
|
+
if (Array.isArray(valor) && valor.length > 0 && typeof valor[0] === 'object') {
|
|
166
|
+
return (
|
|
167
|
+
<div
|
|
168
|
+
key={clave}
|
|
169
|
+
style={{
|
|
170
|
+
margin: '12px 0',
|
|
171
|
+
borderLeft: '4px solid #3182ce',
|
|
172
|
+
backgroundColor: '#f7fafc',
|
|
173
|
+
borderRadius: '0 6px 6px 0',
|
|
174
|
+
padding: '8px 12px'
|
|
175
|
+
}}
|
|
176
|
+
>
|
|
177
|
+
{/* Título de la UA */}
|
|
178
|
+
<div style={{ fontWeight: 'bold', color: '#2b6cb0', fontSize: '13px', textTransform: 'uppercase', marginBottom: '6px' }}>
|
|
179
|
+
Unidad de Análisis: {clave} ({valor.length})
|
|
180
|
+
</div>
|
|
181
|
+
|
|
182
|
+
{valor.map((registro, filaIndex) => (
|
|
183
|
+
<div
|
|
184
|
+
key={filaIndex}
|
|
185
|
+
style={{
|
|
186
|
+
marginBottom: filaIndex < valor.length - 1 ? '10px' : '0',
|
|
187
|
+
paddingTop: filaIndex > 0 ? '6px' : '0',
|
|
188
|
+
borderTop: filaIndex > 0 ? '1px dashed #e2e8f0' : 'none'
|
|
189
|
+
}}
|
|
190
|
+
>
|
|
191
|
+
<RenderizadorJSON datos={registro} nivel={nivel + 1} />
|
|
192
|
+
</div>
|
|
193
|
+
))}
|
|
194
|
+
</div>
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// Si por las dudas es un objeto directo que no es array, lo salteamos
|
|
199
|
+
if (typeof valor === 'object' && valor !== null) return null;
|
|
200
|
+
|
|
201
|
+
// VARIABLES ESTÁNDAR (Clave y valor juntos)
|
|
202
|
+
return (
|
|
203
|
+
<div
|
|
204
|
+
key={clave}
|
|
205
|
+
style={{
|
|
206
|
+
display: 'flex',
|
|
207
|
+
flexDirection: 'row',
|
|
208
|
+
flexWrap: 'wrap', // Por si el valor es muy largo, que baje limpio
|
|
209
|
+
padding: '4px 0',
|
|
210
|
+
fontSize: '13px',
|
|
211
|
+
alignItems: 'center',
|
|
212
|
+
lineHeight: '1.4'
|
|
213
|
+
}}
|
|
214
|
+
>
|
|
215
|
+
{/* Clave: ahora sin ancho fijo, se adapta al texto */}
|
|
216
|
+
<div style={{ color: '#4a5568', fontWeight: 500, marginRight: '6px' }}>
|
|
217
|
+
{clave}:
|
|
218
|
+
</div>
|
|
219
|
+
|
|
220
|
+
{/* Valor: pegado inmediatamente a la clave */}
|
|
221
|
+
<div style={{ color: '#1a202c', fontWeight: 600 }}>
|
|
222
|
+
{clave.startsWith('resumenEstado') ? (
|
|
223
|
+
<span style={getBadgeStyle(String(valor))}>
|
|
224
|
+
{String(valor)}
|
|
225
|
+
</span>
|
|
226
|
+
) : (
|
|
227
|
+
String(valor ?? '')
|
|
228
|
+
)}
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
);
|
|
232
|
+
})}
|
|
233
|
+
</div>
|
|
234
|
+
);
|
|
235
|
+
};
|
|
236
|
+
|
|
135
237
|
export function ReseterForm(props: { onTryAgain: () => void, dispatchers: IDispatchers, mensaje: string }) {
|
|
136
238
|
const dispatch = useDispatch();
|
|
137
239
|
return <>
|
package/package.json
CHANGED