dmencu 3.3.1 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ayuda/asignacion.md +16 -0
- package/ayuda/circuito-encuesta.md +27 -0
- package/ayuda/control.md +13 -0
- package/ayuda/dm-cambiar-modo.md +16 -0
- package/ayuda/dm-relevamiento.md +20 -0
- package/ayuda/dm-sincronizar.md +18 -0
- package/ayuda/fin-de-campo.md +14 -0
- package/ayuda/metadatos.md +14 -0
- package/ayuda/muestra.md +14 -0
- package/ayuda/procesar.md +13 -0
- package/ayuda/recepcion.md +20 -0
- package/ayuda/supervision.md +9 -0
- package/ayuda/usuarios.md +12 -0
- package/ayuda/varios.md +23 -0
- package/dist/client/client/client.js +99 -2
- package/dist/client/client/css/menu.styl +29 -0
- package/dist/client/unlogged/css/formulario-react.styl +9 -0
- package/dist/client/unlogged/render-config.d.ts +5 -1
- package/dist/client/unlogged/render-config.js +14 -1
- package/dist/client/unlogged/render-formulario.d.ts +1 -0
- package/dist/client/unlogged/render-formulario.js +43 -2
- package/dist/client/unlogged/render-formulario.tsx +71 -0
- package/dist/client/unlogged/render-general.d.ts +2 -0
- package/dist/client/unlogged/render-general.js +2 -1
- package/dist/client/unlogged/render-general.tsx +1 -0
- package/dist/client/unlogged/render-init.d.ts +1 -0
- package/dist/client/unlogged/render-init.js +9 -2
- package/dist/client/unlogged/tipos.d.ts +19 -1
- package/dist/client/unlogged/tipos.js +1 -1
- package/dist/server/app-dmencu.d.ts +8 -1
- package/dist/server/app-dmencu.js +42 -2
- package/dist/server/ayuda.d.ts +19 -0
- package/dist/server/ayuda.js +224 -0
- package/dist/server/def-config.d.ts +1 -1
- package/dist/server/def-config.js +2 -1
- package/dist/server/procedures-dmencu.js +20 -2
- package/dist/server/server/app-dmencu.d.ts +8 -1
- package/dist/server/server/app-dmencu.js +42 -2
- package/dist/server/server/ayuda.d.ts +19 -0
- package/dist/server/server/ayuda.js +224 -0
- package/dist/server/server/def-config.d.ts +1 -1
- package/dist/server/server/def-config.js +2 -1
- package/dist/server/server/procedures-dmencu.js +18 -2
- package/dist/server/server/table-tem.d.ts +1 -0
- package/dist/server/server/table-tem.js +25 -21
- package/dist/server/server/table-tem_edicion.d.ts +2 -0
- package/dist/server/server/table-tem_edicion.js +62 -0
- package/dist/server/server/types-dmencu.d.ts +20 -1
- package/dist/server/server/types-dmencu.js +1 -1
- package/dist/server/table-tem.d.ts +1 -0
- package/dist/server/table-tem.js +25 -21
- package/dist/server/table-tem_edicion.d.ts +2 -0
- package/dist/server/table-tem_edicion.js +62 -0
- package/dist/server/types-dmencu.d.ts +20 -1
- package/dist/server/types-dmencu.js +1 -1
- package/dist/server/unlogged/tipos.d.ts +19 -1
- package/dist/server/unlogged/tipos.js +1 -1
- package/dist/test/app-para-tests.d.ts +11 -8
- package/dist/test/app-para-tests.js +8 -2
- package/dist/test/test-ayuda.d.ts +1 -0
- package/dist/test/test-ayuda.js +183 -0
- package/dist/test/test-tem-edicion.d.ts +1 -0
- package/dist/test/test-tem-edicion.js +103 -0
- package/dist/test/test.d.ts +2 -0
- package/dist/test/test.js +4 -2
- package/dist/unlogged/tipos.d.ts +19 -1
- package/dist/unlogged/tipos.js +1 -1
- package/dist/unlogged/unlogged/css/formulario-react.styl +9 -0
- package/dist/unlogged/unlogged/render-config.d.ts +5 -1
- package/dist/unlogged/unlogged/render-config.js +14 -1
- package/dist/unlogged/unlogged/render-formulario.d.ts +1 -0
- package/dist/unlogged/unlogged/render-formulario.js +43 -2
- package/dist/unlogged/unlogged/render-formulario.tsx +71 -0
- package/dist/unlogged/unlogged/render-general.d.ts +2 -0
- package/dist/unlogged/unlogged/render-general.js +2 -1
- package/dist/unlogged/unlogged/render-general.tsx +1 -0
- package/dist/unlogged/unlogged/render-init.d.ts +1 -0
- package/dist/unlogged/unlogged/render-init.js +9 -2
- package/dist/unlogged/unlogged/tipos.d.ts +19 -1
- package/dist/unlogged/unlogged/tipos.js +1 -1
- package/dist/unlogged/unlogged/unlogged.js +14 -1
- package/install/validar_manzana_casa_tem_trg.sql +25 -0
- package/package.json +5 -2
package/dist/server/table-tem.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getDomicilioFields = void 0;
|
|
12
|
+
exports.filtroTemSegunUsuario = exports.getDomicilioFields = void 0;
|
|
13
13
|
exports.tem = tem;
|
|
14
14
|
const procesamiento_1 = require("procesamiento");
|
|
15
15
|
const sqlTools = require("sql-tools");
|
|
@@ -26,6 +26,16 @@
|
|
|
26
26
|
{ name: 'barrio', typeName: 'text', editable: false },
|
|
27
27
|
];
|
|
28
28
|
exports.getDomicilioFields = getDomicilioFields;
|
|
29
|
+
// muestra las encuestas de producción o de capacitación según lo que tenga habilitado el usuario (tem t)
|
|
30
|
+
var filtroTemSegunUsuario = (context) => `
|
|
31
|
+
join usuarios usu_con on usu_con.usuario = ${sqlTools.quoteLiteral(context.user.usuario)}
|
|
32
|
+
where
|
|
33
|
+
usu_con.muestra_encuestas_prod and t.enc_autogenerado_dm is not null
|
|
34
|
+
or
|
|
35
|
+
usu_con.muestra_encuestas_capa and t.enc_autogenerado_dm_capa is not null
|
|
36
|
+
or
|
|
37
|
+
t.enc_autogenerado_dm is null and t.enc_autogenerado_dm_capa is null`;
|
|
38
|
+
exports.filtroTemSegunUsuario = filtroTemSegunUsuario;
|
|
29
39
|
function tem(context, opts) {
|
|
30
40
|
var _a, _b, _c, _d, _e, _f;
|
|
31
41
|
var opts = opts || {};
|
|
@@ -51,7 +61,7 @@
|
|
|
51
61
|
},
|
|
52
62
|
editable: puedeEditarCampo || puedeEditarProc,
|
|
53
63
|
hiddenColumns: [
|
|
54
|
-
'seleccionado_ant', 'cita', 'notas', 'cluster', 'codviviendaparticular', '
|
|
64
|
+
'seleccionado_ant', 'cita', 'notas', 'cluster', 'codviviendaparticular', 'obsdatosdomicilio', 'obsconjunto', 'reserva', 'rotacion_etoi', 'rotacion_eah',
|
|
55
65
|
'trimestre', 'procedencia', 'sel_etoi_villa', 'marco', 'semana', 'periodicidad',
|
|
56
66
|
'cargado_dm', 'estados__permite_editar_encuesta'
|
|
57
67
|
],
|
|
@@ -69,7 +79,7 @@
|
|
|
69
79
|
{ name: 'enc_ant', typeName: 'text', editable: false },
|
|
70
80
|
{ name: 'area_ant', typeName: 'integer', editable: false },
|
|
71
81
|
{ name: 'seleccionado_ant', typeName: 'jsonb', editable: false },
|
|
72
|
-
{ name: 'cita', typeName: 'text', editable:
|
|
82
|
+
{ name: 'cita', typeName: 'text', editable: false },
|
|
73
83
|
{ name: 'rea', typeName: 'integer', editable: false },
|
|
74
84
|
{ name: 'norea', typeName: 'integer', editable: false },
|
|
75
85
|
{ name: 'cant_h', typeName: 'integer', editable: false },
|
|
@@ -84,18 +94,18 @@
|
|
|
84
94
|
//{name:'encu_habilitada' , typeName:'boolean' , editable: false , inTable: false },
|
|
85
95
|
//{name:'encu_cargado' , typeName:'boolean' , editable: false , inTable: false },
|
|
86
96
|
{ name: 'encuestador', typeName: 'text', editable: false, inTable: false },
|
|
87
|
-
{ name: 'nombre_enc', typeName: 'text', inTable: false },
|
|
88
|
-
{ name: 'apellido_enc', typeName: 'text', inTable: false },
|
|
97
|
+
{ name: 'nombre_enc', typeName: 'text', editable: false, inTable: false },
|
|
98
|
+
{ name: 'apellido_enc', typeName: 'text', editable: false, inTable: false },
|
|
89
99
|
//{name:'recu_habilitada' , typeName:'boolean' , editable: false , inTable: false },
|
|
90
100
|
//{name:'recu_cargado' , typeName:'boolean' , editable: false , inTable: false },
|
|
91
101
|
{ name: 'recuperador', typeName: 'text', editable: false, inTable: false },
|
|
92
|
-
{ name: 'nombre_rec', typeName: 'text', inTable: false },
|
|
93
|
-
{ name: 'apellido_rec', typeName: 'text', inTable: false },
|
|
102
|
+
{ name: 'nombre_rec', typeName: 'text', editable: false, inTable: false },
|
|
103
|
+
{ name: 'apellido_rec', typeName: 'text', editable: false, inTable: false },
|
|
94
104
|
//{name:'supe_habilitada' , typeName:'boolean' , editable: false , inTable: false },
|
|
95
105
|
//{name:'supe_cargado' , typeName:'boolean' , editable: false , inTable: false },
|
|
96
106
|
{ name: 'supervisor', typeName: 'text', editable: false, inTable: false },
|
|
97
|
-
{ name: 'nombre_sup', typeName: 'text', inTable: false },
|
|
98
|
-
{ name: 'apellido_sup', typeName: 'text', inTable: false },
|
|
107
|
+
{ name: 'nombre_sup', typeName: 'text', editable: false, inTable: false },
|
|
108
|
+
{ name: 'apellido_sup', typeName: 'text', editable: false, inTable: false },
|
|
99
109
|
{ name: 'rea_sup', typeName: 'integer', editable: false },
|
|
100
110
|
{ name: 'norea_sup', typeName: 'integer', editable: false },
|
|
101
111
|
{ name: 'resumen_estado_sup', typeName: 'text', editable: false },
|
|
@@ -103,9 +113,9 @@
|
|
|
103
113
|
{ name: 'supervision_aleatoria', typeName: 'integer', editable: false },
|
|
104
114
|
{ name: 'supervision_dirigida', typeName: 'integer', editable: false },
|
|
105
115
|
{ name: 'supervision', typeName: 'integer', editable: false },
|
|
106
|
-
{ name: 'result_sup', typeName: 'integer', editable:
|
|
107
|
-
{ name: 'fin_campo', typeName: 'text', editable:
|
|
108
|
-
{ name: 'proie', typeName: 'text', editable:
|
|
116
|
+
{ name: 'result_sup', typeName: 'integer', editable: false },
|
|
117
|
+
{ name: 'fin_campo', typeName: 'text', editable: false },
|
|
118
|
+
{ name: 'proie', typeName: 'text', editable: false },
|
|
109
119
|
{ name: 'pase_tabla', typeName: 'text', editable: false },
|
|
110
120
|
...(0, exports.getDomicilioFields)(),
|
|
111
121
|
//{name: "verificar" , typeName:'boolean', editable:true, inTable:false, clientSide:'verificarCaso'},
|
|
@@ -123,6 +133,7 @@
|
|
|
123
133
|
{ name: 'nroradio', typeName: 'integer', editable: false },
|
|
124
134
|
{ name: 'nromanzana', typeName: 'integer', editable: false },
|
|
125
135
|
{ name: 'nrolado', typeName: 'integer', editable: false },
|
|
136
|
+
{ name: 'casa', typeName: 'text', editable: false },
|
|
126
137
|
{ name: 'usodomicilio', typeName: 'integer', editable: false },
|
|
127
138
|
{ name: 'orden_relevamiento', typeName: 'integer', editable: false },
|
|
128
139
|
{ name: 'mapa', typeName: 'integer', editable: false },
|
|
@@ -134,7 +145,6 @@
|
|
|
134
145
|
{ name: 'panel', typeName: 'integer', editable: false, visible: true },
|
|
135
146
|
//vacios o poco interesantes
|
|
136
147
|
{ name: 'codviviendaparticular', typeName: 'text', editable: false },
|
|
137
|
-
{ name: 'casa', typeName: 'text', editable: false },
|
|
138
148
|
{ name: 'obsdatosdomicilio', typeName: 'text', editable: false },
|
|
139
149
|
{ name: 'obsconjunto', typeName: 'text', editable: false },
|
|
140
150
|
{ name: 'reserva', typeName: 'integer', editable: false },
|
|
@@ -231,17 +241,11 @@
|
|
|
231
241
|
left join usuarios usu_enc on usu_enc.idper = tt.etareas->'encu'->>'asignado'
|
|
232
242
|
left join usuarios usu_rec on usu_rec.idper = tt.etareas->'recu'->>'asignado'
|
|
233
243
|
left join usuarios usu_sup on usu_sup.idper = tt.etareas->'supe'->>'asignado'
|
|
234
|
-
|
|
235
|
-
where
|
|
236
|
-
usu_con.muestra_encuestas_prod and t.enc_autogenerado_dm is not null
|
|
237
|
-
or
|
|
238
|
-
usu_con.muestra_encuestas_capa and t.enc_autogenerado_dm_capa is not null
|
|
239
|
-
or
|
|
240
|
-
t.enc_autogenerado_dm is null and t.enc_autogenerado_dm_capa is null
|
|
244
|
+
${(0, exports.filtroTemSegunUsuario)(context)}
|
|
241
245
|
)
|
|
242
246
|
`
|
|
243
247
|
};
|
|
244
248
|
return def;
|
|
245
249
|
}
|
|
246
250
|
});
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci90YWJsZS10ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFvQmIsa0JBcU5LO0lBdE9MLGlEQUFrRDtJQUNsRCxzQ0FBc0M7SUFHL0IsSUFBSSxrQkFBa0IsR0FBRyxHQUFxQixFQUFFLENBQUM7UUFDcEQsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFlLFFBQVEsRUFBQyxTQUFTLEVBQUcsUUFBUSxFQUFFLEtBQUssRUFBRztRQUN0RSxFQUFDLElBQUksRUFBQyxVQUFVLEVBQWUsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLGNBQWMsRUFBVyxRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFtQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsY0FBYyxFQUFXLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBRztRQUN0RSxFQUFDLElBQUksRUFBQyxZQUFZLEVBQWEsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBZSxRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFnQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFpQixRQUFR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O0lBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIENvbnRleHRGb3JEdW1wLCBGaWVsZERlZmluaXRpb259IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5pbXBvcnQge09wZXJhdGl2b0dlbmVyYXRvciB9IGZyb20gXCJwcm9jZXNhbWllbnRvXCI7XHJcbmltcG9ydCAqIGFzIHNxbFRvb2xzIGZyb20gJ3NxbC10b29scyc7XHJcblxyXG5cclxuZXhwb3J0IHZhciBnZXREb21pY2lsaW9GaWVsZHMgPSAoKTpGaWVsZERlZmluaXRpb25bXSA9PiBbXHJcbiAgICB7bmFtZTonY29kY2FsbGUnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J25vbWNhbGxlJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOiducm9jYXRhc3RyYWwnICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZToncGlzbycgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J2RlcGFydGFtZW50bycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOidoYWJpdGFjaW9uJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZTonc2VjdG9yJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J2VkaWZpY2lvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOidlbnRyYWRhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZTonYmFycmlvJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG5dXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGVtKGNvbnRleHQ6Q29udGV4dEZvckR1bXAsIG9wdHM/OmFueSk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIHZhciBvcHRzPW9wdHN8fHt9O1xyXG4gICAgdmFyIHJlY2VwY2lvbj1vcHRzLnJlY2VwY2lvbj8nX3JlY2VwY2lvbic6Jyc7XHJcbiAgICB2YXIgYmU9Y29udGV4dC5iZTtcclxuICAgIHZhciBwdWVkZUVkaXRhckNhbXBvID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJztcclxuICAgIHZhciBwdWVkZUVkaXRhclByb2MgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzPy5wcm9jZXNhcjtcclxuXHJcbiAgICB2YXIgY29sdW1uYXNBcmVhc1BhcmFMYVRlbT1bJ29ic19yZWNlcGNpb25pc3RhJywndmVyaWZpY2Fkb19yZWMnLCdyZWNlcGNpb25pc3RhJ107XHJcblxyXG4gICAgdmFyIGNvbHVtbmFzTm9SZWE9W1xyXG4gICAgICAgIHtuYW1lOidncnVfbm9fcmVhJywgZXhwcjogJ2dydXBvJyB9XHJcbiAgICBdO1xyXG4gICAgdmFyIGNvbHVtbmFzU29sb1RlbT1bXHJcbiAgICAgICAgICAnZW5jX29yaWdpbmFsJyAgICwgJ2pzb25fZW5jdWVzdGEnICAgICAgLCAnanNvbl9iYWNrdXAnLCAnZmVjaGFfbW9kaWZfZW5jdWVzdGEnLCAnZmVjaGFfYmFja3VwJ1xyXG4gICAgICAgICwgJ2g0JyAgICAgICAgICAgICAsICd4JyAgICAgICAsICd5JyAgICAgICwgJ2ZleHAnXHJcbiAgICBdO1xyXG4gICAgdmFyIGRlZjogVGFibGVEZWZpbml0aW9uPSB7XHJcbiAgICAgICAgbmFtZTpgdGVtJHtyZWNlcGNpb259YCxcclxuICAgICAgICB0YWJsZU5hbWU6J3RlbScsXHJcbiAgICAgICAgbXVlc3RyYUFicmlyRW5Ub2Rhc0xhc1RhcmVhczp0cnVlLFxyXG4gICAgICAgIGFsbG93OntcclxuICAgICAgICAgICAgaW5zZXJ0OmZhbHNlLFxyXG4gICAgICAgICAgICBkZWxldGU6Y29udGV4dC5mb3JEdW1wLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdGFibGU6IHB1ZWRlRWRpdGFyQ2FtcG98fHB1ZWRlRWRpdGFyUHJvYyxcclxuICAgICAgICBoaWRkZW5Db2x1bW5zOltcclxuICAgICAgICAgICAgJ3NlbGVjY2lvbmFkb19hbnQnLCdjaXRhJywnbm90YXMnLCAnY2x1c3RlcicsICdjb2R2aXZpZW5kYXBhcnRpY3VsYXInLCAnY2FzYScsICdvYnNkYXRvc2RvbWljaWxpbycsICdvYnNjb25qdW50bycsICdyZXNlcnZhJywgJ3JvdGFjaW9uX2V0b2knLCAncm90YWNpb25fZWFoJ1xyXG4gICAgICAgICAgICAsICd0cmltZXN0cmUnICAgLCAncHJvY2VkZW5jaWEnLCAnc2VsX2V0b2lfdmlsbGEnICAgLCAnbWFyY28nICAgICAgLCAnc2VtYW5hJyAsICdwZXJpb2RpY2lkYWQnIFxyXG4gICAgICAgICAgICAsICdjYXJnYWRvX2RtJywgJ2VzdGFkb3NfX3Blcm1pdGVfZWRpdGFyX2VuY3Vlc3RhJ1xyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJmaWVsZHNcIjogW1xyXG4gICAgICAgICAgICB7bmFtZTonb3BlcmF0aXZvJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAnZXRvaTIxMSd9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6IFwiYWJyaXJcIiAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2FicmlyJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiY29uc2lzdGlyXCIgICAgICAgICAgICAsIHR5cGVOYW1lOiAndGV4dCcgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidjb25zaXN0aXInfSxcclxuICAgICAgICAgICAge25hbWU6IFwiY2x1c3RlclwiICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlLCBpc05hbWU6dHJ1ZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOid0YXJlYV9hY3R1YWwnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiaGFiaWxpdGFyXCIgICAgICAgICAgICAsIHR5cGVOYW1lOiBcInRleHRcIiAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2hhYmlsaXRhcid9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImhhYmlsaXRhZGFcIiAgICAgICAgICAgLCB0eXBlTmFtZTogJ2Jvb2xlYW4nLCBlZGl0YWJsZTpwdWVkZUVkaXRhckNhbXBvLCBudWxsYWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonem9uYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jX2FudCcgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYV9hbnQnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsZWNjaW9uYWRvX2FudCcgICAgICwgdHlwZU5hbWU6J2pzb25iJyAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2l0YScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IHRydWUgICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVhJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWEnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9oJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9wJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsZWNjaW9uYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4vLyAgICAgICAgICAgIHtuYW1lOidzZXhvX3NlbCcgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbi8vICAgICAgICAgICAge25hbWU6J2VkYWRfc2VsJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VsdGFkbycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2dydV9ub19yZWEnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkbycgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXJnYWRvJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonZW5jdV9oYWJpbGl0YWRhJyAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J2VuY3VfY2FyZ2FkbycgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jdWVzdGFkb3InICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub21icmVfZW5jJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FwZWxsaWRvX2VuYycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidyZWN1X2hhYmlsaXRhZGEnICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZToncmVjdV9jYXJnYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZWN1cGVyYWRvcicgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25vbWJyZV9yZWMnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXBlbGxpZG9fcmVjJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3N1cGVfaGFiaWxpdGFkYScgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidzdXBlX2NhcmdhZG8nICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzb3InICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9tYnJlX3N1cCcgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidhcGVsbGlkb19zdXAnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlYV9zdXAnICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWFfc3VwJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkb19zdXAnICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3ByZV9zb3J0ZW8nICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UsIHZpc2libGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzaW9uX2FsZWF0b3JpYScsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb25fZGlyaWdpZGEnICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzdXBlcnZpc2lvbicgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VsdF9zdXAnICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXJDYW1wb30sXHJcbiAgICAgICAgICAgIHtuYW1lOidmaW5fY2FtcG8nICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXJDYW1wbyAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Byb2llJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhckNhbXBvfHxwdWVkZUVkaXRhclByb2MgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXNlX3RhYmxhJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC4uLmdldERvbWljaWxpb0ZpZWxkcygpLFxyXG4gICAgICAgICAgICAvL3tuYW1lOiBcInZlcmlmaWNhclwiICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nLCBlZGl0YWJsZTp0cnVlLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOid2ZXJpZmljYXJDYXNvJ30sXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwiZmluYWxpemFyX2NhbXBvXCIgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2ZpbmFsaXphckNhbXBvJ30sIC8vZmluX2RlX2NhbXBvXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwicHJvY2VzYW1pZW50b1wiICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J3Bhc2FyQVByb2Nlc2FtaWVudG8nLCBsYWJlbDogJ3Bhc2FyIGEgcHJvY2VzYW1pZW50byd9LCAvL3Byb2Nlc2FtaWVudG9cclxuICAgICAgICAgICAge25hbWU6J2ZleHAnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FyZWF1cCcgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NvZHBvcycgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2RvbWluaW8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2VzdHJhdG9faW5nJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2lkX21hcmNvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29icycgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2NvbXVuYScgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2ZyYWNjaW9uJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb3JhZGlvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb21hbnphbmEnICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2xhZG8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Vzb2RvbWljaWxpbycgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29yZGVuX3JlbGV2YW1pZW50bycgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J21hcGEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6IFwiY29uc2lzdGlkb1wiICAgICAgICAgICwgdHlwZU5hbWU6ICd0aW1lc3RhbXAnLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FyZ2Fkb19kbScgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXJ0aWNpcGFjaW9uJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncm90YWNpb24nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogdHJ1ZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NsYXNlJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYW5lbCcgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICAvL3ZhY2lvcyBvIHBvY28gaW50ZXJlc2FudGVzXHJcbiAgICAgICAgICAgIHtuYW1lOidjb2R2aXZpZW5kYXBhcnRpY3VsYXInLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXNhJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvYnNkYXRvc2RvbWljaWxpbycgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvYnNjb25qdW50bycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXNlcnZhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyb3RhY2lvbl9ldG9pJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JvdGFjaW9uX2VhaCcgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTondHJpbWVzdHJlJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwcm9jZWRlbmNpYScgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbF9ldG9pX3ZpbGxhJyAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbWFyY28nICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzZW1hbmEnICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BlcmlvZGljaWRhZCcgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3NvbG8gdGVtIFxyXG4gICAgICAgICAgICB7bmFtZTonZmVjaGFfbW9kaWZfZW5jdWVzdGEnICwgdHlwZU5hbWU6IFwidGltZXN0YW1wXCIsIGVkaXRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonanNvbl9lbmN1ZXN0YScgICAgICAgICwgdHlwZU5hbWU6J2pzb25iJyAgICAgLCBlZGl0YWJsZTpmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2ZlY2hhX2JhY2t1cCcgICAgICAgICAsIHR5cGVOYW1lOiBcInRpbWVzdGFtcFwiLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwianNvbl9iYWNrdXBcIiAgICAgICAgICAsIHR5cGVOYW1lOidqc29uYicgICAsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwidG9rZW5fYXV0b2dlbmVyYWRvX2RtXCIsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiZW5jX2F1dG9nZW5lcmFkb19kbVwiICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJlbmNfYXV0b2dlbmVyYWRvX2RtX2NhcGFcIiwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImg0XCIgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwieFwiICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidkZWNpbWFsJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJ5XCIgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2RlY2ltYWwnICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm90YXMnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlLCBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6XCJtb2RpZmljYWRvXCIgICAgICAgICAgICwgdHlwZU5hbWU6ICd0aW1lc3RhbXAnLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTogXCJsaWJyZVwiICwgdHlwZU5hbWU6IFwiYm9vbGVhblwiLCBkZWZhdWx0RGJWYWx1ZTpcInRydWVcIiAgLCB2aXNpYmxlOmZhbHNlLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImZlY2hhX2Jsb3F1ZW9cIiwgdHlwZU5hbWU6IFwidGltZXN0YW1wXCIsIHZpc2libGU6ZmFsc2UsIGVkaXRhYmxlOmZhbHNlfVxyXG4gICAgICAgICAgICAvL3tuYW1lOidvYnNfc3VwJyAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgLCBlZGl0YWJsZTogaXNTdXBlcnZpc29yICAgICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidvYnNfY29vcicgICAgICAgLCB0eXBlTmFtZTondGV4dCcgLCBlZGl0YWJsZTogaXNDb29yZGluYWRvciB8fCBpc1N1YkNvb3JkaW5hZG9yIH0sICBcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwicHJpbWFyeUtleVwiOiBbIFwib3BlcmF0aXZvXCIsIFwiZW5jXCIgXSxcclxuICAgICAgICBmb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidhcmVhcycgICAsIGZpZWxkczpbJ29wZXJhdGl2bycsICdhcmVhJ119LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOid0YXJlYXMnICwgXHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6W1xyXG4gICAgICAgICAgICAgICAgICAgIHtzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30sXHJcbiAgICAgICAgICAgICAgICAgICAge3NvdXJjZTondGFyZWFfYWN0dWFsJywgdGFyZ2V0Oid0YXJlYSd9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgYWxpYXM6J3RhcmFjdCdcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3NlbWFuYXMnLCBmaWVsZHM6W1wib3BlcmF0aXZvXCIsIFwic2VtYW5hXCJdfVxyXG4gICAgICAgIC8vICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2FfcGVyc29uYScsIHRhcmdldDonaWRwZXInfV0sIGRpc3BsYXlGaWVsZHM6WydhcGVsbGlkbycsJ25vbWJyZSddfSxcclxuICAgICAgICBdLCAgICAgICAgXHJcbiAgICAgICAgc29mdEZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3Rva2VucycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2Fkb19kbScsIHRhcmdldDondG9rZW4nfV0sIGRpc3BsYXlGaWVsZHM6Wyd1c2VybmFtZSddLCBkaXNwbGF5QWZ0ZXJGaWVsZE5hbWU6J2NhcmdhZG8nfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJkZXRhaWxUYWJsZXNcIjogW1xyXG4gICAgICAgICAgICB7dGFibGU6IFwiaW5jb25zaXN0ZW5jaWFzXCIsIGFicjogXCJJXCIsIGZpZWxkczogW3tzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30se3NvdXJjZTonZW5jJywgdGFyZ2V0Oid2aXZpZW5kYSd9XX0sXHJcbiAgICAgICAgICAgIHt0YWJsZTogXCJoaXN0b3JpYWxfdGVtXCIsIGFicjogXCJIXCIsIGZpZWxkczogWydvcGVyYXRpdm8nLCdlbmMnXX1cclxuICAgICAgICBdLFxyXG4gICAgICAgIGNvbnN0cmFpbnRzOltcclxuICAgICAgICAgICAge2NvbnN0cmFpbnRUeXBlOidjaGVjaycsIGNvbnNOYW1lOlwidnJlc3VsdF9zdXBfY2tcIiwgZXhwcjpcIihyZXN1bHRfc3VwIGJldHdlZW4gMSBhbmQgOSBvciByZXN1bHRfc3VwIGluICgxMSwxMiwyMSwyMiApIG9yIHJlc3VsdF9zdXAgYmV0d2VlbiA2MCBhbmQgNjgpXCJ9LFxyXG4gICAgICAgICAgICB7Y29uc3RyYWludFR5cGU6J3VuaXF1ZScsIGNvbnNOYW1lOlwiYXV0b2dlbmVyYWRvX2RtX3VrXCIsIGZpZWxkczpbJ3Rva2VuX2F1dG9nZW5lcmFkb19kbScsJ2VuY19hdXRvZ2VuZXJhZG9fZG0nXX0sXHJcbiAgICAgICAgICAgIHtjb25zdHJhaW50VHlwZTondW5pcXVlJywgY29uc05hbWU6XCJhdXRvZ2VuZXJhZG9fZG1fY2FwYV91a1wiLCBmaWVsZHM6Wyd0b2tlbl9hdXRvZ2VuZXJhZG9fZG0nLCdlbmNfYXV0b2dlbmVyYWRvX2RtX2NhcGEnXX1cclxuICAgICAgICBdXHJcbiAgICB9O1xyXG4gICAgaWYgKG9wdHMucmVjZXBjaW9uKSB7XHJcbiAgICAgICAgZGVmLmZpZWxkcz1kZWYuZmllbGRzLmZpbHRlcihmPT4hY29sdW1uYXNTb2xvVGVtLmluY2x1ZGVzKGYubmFtZSkgKVxyXG4gICAgICAgIGRlZi5oaWRkZW5Db2x1bW5zPVsuLi4oZGVmLmhpZGRlbkNvbHVtbnN8fFtdKSwgLi4uY29sdW1uYXNBcmVhc1BhcmFMYVRlbS5tYXAoeD0+YGFyZWFzX18ke3h9YCldXHJcbiAgICAgICAgZGVmLmZvcmVpZ25LZXlzPWRlZi5mb3JlaWduS2V5cz8ubWFwKGZ1bmN0aW9uIChmKSB7aWYgKGYucmVmZXJlbmNlcz09J2FyZWFzJyl7Zi5kaXNwbGF5RmllbGRzPWNvbHVtbmFzQXJlYXNQYXJhTGFUZW19OyByZXR1cm4gZn0pIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBkZWYuZGV0YWlsVGFibGVzPy51bnNoaWZ0KHt0YWJsZTogXCJ0YXJlYXNfdGVtXCIsIGFicjogXCJUXCIsIGZpZWxkczogWydvcGVyYXRpdm8nLCAnZW5jJ10sIGxhYmVsOid0YXJlYXMnfSlcclxuICAgICAgICBkZWYuZmllbGRzPWRlZi5maWVsZHMuZmlsdGVyKGY9PiFjb2x1bW5hc05vUmVhLm1hcChmbj0+Zm4ubmFtZSkuaW5jbHVkZXMoZi5uYW1lKSApXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcT1jb250ZXh0LmJlLmRiLnF1b3RlSWRlbnQ7XHJcbiAgICBkZWYuc3FsPSB7XHJcbiAgICAgICAgICAgIGlzVGFibGU6IW9wdHMucmVjZXBjaW9uLCAvL1RPRE86IHJlc29sdmVyIGNvbW8gc2FjYXJsbyBkZWwgZHVtcFxyXG4gICAgICAgICAgICBpc1JlZmVyYWJsZTp0cnVlLFxyXG4gICAgICAgICAgICBmcm9tOmBcclxuICAgICAgICAgICAgICAgIChzZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAke2RlZi5maWVsZHMuZmlsdGVyKGY9PmYuaW5UYWJsZT09dW5kZWZpbmVkICYmICFmLmNsaWVudFNpZGUpLm1hcChmPT4ndC4nK3EoZi5uYW1lKSkuam9pbignLCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuY2FyZ2FkbywgdHQuY2FyZ2Fkb19kbVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J2VuY3UnLT4+J2FzaWduYWRvJyBhcyBlbmN1ZXN0YWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3JlY3UnLT4+J2FzaWduYWRvJyBhcyByZWN1cGVyYWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3N1cGUnLT4+J2FzaWduYWRvJyBhcyBzdXBlcnZpc29yXHJcbiAgICAgICAgICAgICAgICAgICAgLCBudWxsIG5vdGFzXHJcbiAgICAgICAgICAgICAgICAgICAgLCBhdXguY29uc2lzdGlkb1xyXG4gICAgICAgICAgICAgICAgICAgICwgdXN1X2VuYy5ub21icmUgYXMgbm9tYnJlX2VuY1xyXG4gICAgICAgICAgICAgICAgICAgICwgdXN1X2VuYy5hcGVsbGlkbyBhcyBhcGVsbGlkb19lbmNcclxuICAgICAgICAgICAgICAgICAgICAsIHVzdV9yZWMubm9tYnJlIGFzIG5vbWJyZV9yZWNcclxuICAgICAgICAgICAgICAgICAgICAsIHVzdV9yZWMuYXBlbGxpZG8gYXMgYXBlbGxpZG9fcmVjXHJcbiAgICAgICAgICAgICAgICAgICAgLCB1c3Vfc3VwLm5vbWJyZSBhcyBub21icmVfc3VwXHJcbiAgICAgICAgICAgICAgICAgICAgLCB1c3Vfc3VwLmFwZWxsaWRvIGFzIGFwZWxsaWRvX3N1cFxyXG4gICAgICAgICAgICAgICAgICAgICR7b3B0cy5yZWNlcGNpb24/IGNvbHVtbmFzTm9SZWEubWFwKHY9PidcXG4gICAgICwgJysgdi5leHByICsnIGFzICcrIHYubmFtZSkuam9pbignJykgOicnfVxyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gdGVtIHQgbGVmdCBqb2luIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHR0Lm9wZXJhdGl2bywgdHQuZW5jLCBib29sX29yKGNhcmdhZG8pIGNhcmdhZG8sIHN0cmluZ19hZ2coY2FyZ2Fkb19kbSwnLCcpIGNhcmdhZG9fZG0sanNvbmJfb2JqZWN0X2FnZyh0YXJlYSxqc29uYl9idWlsZF9vYmplY3QoJ2FzaWduYWRvJyxhc2lnbmFkbywnY2FyZ2FkbycsY2FyZ2FkbywnY2FyZ2Fkb19kbScsY2FyZ2Fkb19kbSkpZXRhcmVhcyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGFyZWFzX3RlbSB0dCBncm91cCBieSB0dC5vcGVyYXRpdm8sIHR0LmVuYyAgKXR0IG9uIHQub3BlcmF0aXZvPXR0Lm9wZXJhdGl2byBhbmQgdC5lbmM9dHQuZW5jXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gbm9fcmVhIHkgb24geS5ub19yZWE9dC5ub3JlYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luICR7c3FsVG9vbHMucXVvdGVJZGVudChPcGVyYXRpdm9HZW5lcmF0b3IubWFpblREKX0gYXV4IG9uIGF1eC5vcGVyYXRpdm89dC5vcGVyYXRpdm8gYW5kIGF1eC4ke3NxbFRvb2xzLnF1b3RlSWRlbnQoT3BlcmF0aXZvR2VuZXJhdG9yLm1haW5URFBLKX09dC5lbmMgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gdXN1YXJpb3MgdXN1X2VuYyBvbiB1c3VfZW5jLmlkcGVyID0gdHQuZXRhcmVhcy0+J2VuY3UnLT4+J2FzaWduYWRvJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHVzdWFyaW9zIHVzdV9yZWMgb24gdXN1X3JlYy5pZHBlciA9IHR0LmV0YXJlYXMtPidyZWN1Jy0+Pidhc2lnbmFkbydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB1c3VhcmlvcyB1c3Vfc3VwIG9uIHVzdV9zdXAuaWRwZXIgPSB0dC5ldGFyZWFzLT4nc3VwZSctPj4nYXNpZ25hZG8nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb2luIHVzdWFyaW9zIHVzdV9jb24gb24gdXN1X2Nvbi51c3VhcmlvID0gJHtzcWxUb29scy5xdW90ZUxpdGVyYWwoY29udGV4dC51c2VyLnVzdWFyaW8pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXN1X2Nvbi5tdWVzdHJhX2VuY3Vlc3Rhc19wcm9kIGFuZCB0LmVuY19hdXRvZ2VuZXJhZG9fZG0gaXMgbm90IG51bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXN1X2Nvbi5tdWVzdHJhX2VuY3Vlc3Rhc19jYXBhIGFuZCB0LmVuY19hdXRvZ2VuZXJhZG9fZG1fY2FwYSBpcyBub3QgbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0LmVuY19hdXRvZ2VuZXJhZG9fZG0gaXMgbnVsbCBhbmQgdC5lbmNfYXV0b2dlbmVyYWRvX2RtX2NhcGEgaXMgbnVsbFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICBgICAgICBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBkZWY7XHJcbiAgICB9XHJcbiAgICAiXX0=
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci90YWJsZS10ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUE4QmIsa0JBK01LO0lBMU9MLGlEQUFrRDtJQUNsRCxzQ0FBc0M7SUFHL0IsSUFBSSxrQkFBa0IsR0FBRyxHQUFxQixFQUFFLENBQUM7UUFDcEQsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFlLFFBQVEsRUFBQyxTQUFTLEVBQUcsUUFBUSxFQUFFLEtBQUssRUFBRztRQUN0RSxFQUFDLElBQUksRUFBQyxVQUFVLEVBQWUsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLGNBQWMsRUFBVyxRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFtQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsY0FBYyxFQUFXLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBRztRQUN0RSxFQUFDLElBQUksRUFBQyxZQUFZLEVBQWEsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBZSxRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFnQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFpQixRQUFR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QUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQSxFQUFFOzs7Ozt3Q0FLcEUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0IsQ0FBQyxNQUFNLENBQUMsNkNBQTZDLFFBQVEsQ0FBQyxVQUFVLENBQUMsa0NBQWtCLENBQUMsUUFBUSxDQUFDOzs7OzhCQUlySixJQUFBLDZCQUFxQixFQUFDLE9BQU8sQ0FBQzs7YUFFL0M7U0FDSixDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgQ29udGV4dEZvckR1bXAsIEZpZWxkRGVmaW5pdGlvbn0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcbmltcG9ydCB7T3BlcmF0aXZvR2VuZXJhdG9yIH0gZnJvbSBcInByb2Nlc2FtaWVudG9cIjtcclxuaW1wb3J0ICogYXMgc3FsVG9vbHMgZnJvbSAnc3FsLXRvb2xzJztcclxuXHJcblxyXG5leHBvcnQgdmFyIGdldERvbWljaWxpb0ZpZWxkcyA9ICgpOkZpZWxkRGVmaW5pdGlvbltdID0+IFtcclxuICAgIHtuYW1lOidjb2RjYWxsZScgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZTonbm9tY2FsbGUnICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J25yb2NhdGFzdHJhbCcgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOidwaXNvJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZTonZGVwYXJ0YW1lbnRvJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J2hhYml0YWNpb24nICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOidzZWN0b3InICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZTonZWRpZmljaW8nICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J2VudHJhZGEnICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOidiYXJyaW8nICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbl1cclxuXHJcbi8vIG11ZXN0cmEgbGFzIGVuY3Vlc3RhcyBkZSBwcm9kdWNjacOzbiBvIGRlIGNhcGFjaXRhY2nDs24gc2Vnw7puIGxvIHF1ZSB0ZW5nYSBoYWJpbGl0YWRvIGVsIHVzdWFyaW8gKHRlbSB0KVxyXG5leHBvcnQgdmFyIGZpbHRyb1RlbVNlZ3VuVXN1YXJpbyA9IChjb250ZXh0OkNvbnRleHRGb3JEdW1wKTpzdHJpbmcgPT4gYFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgam9pbiB1c3VhcmlvcyB1c3VfY29uIG9uIHVzdV9jb24udXN1YXJpbyA9ICR7c3FsVG9vbHMucXVvdGVMaXRlcmFsKGNvbnRleHQudXNlci51c3VhcmlvKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXN1X2Nvbi5tdWVzdHJhX2VuY3Vlc3Rhc19wcm9kIGFuZCB0LmVuY19hdXRvZ2VuZXJhZG9fZG0gaXMgbm90IG51bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c3VfY29uLm11ZXN0cmFfZW5jdWVzdGFzX2NhcGEgYW5kIHQuZW5jX2F1dG9nZW5lcmFkb19kbV9jYXBhIGlzIG5vdCBudWxsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdC5lbmNfYXV0b2dlbmVyYWRvX2RtIGlzIG51bGwgYW5kIHQuZW5jX2F1dG9nZW5lcmFkb19kbV9jYXBhIGlzIG51bGxgXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGVtKGNvbnRleHQ6Q29udGV4dEZvckR1bXAsIG9wdHM/OmFueSk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIHZhciBvcHRzPW9wdHN8fHt9O1xyXG4gICAgdmFyIHJlY2VwY2lvbj1vcHRzLnJlY2VwY2lvbj8nX3JlY2VwY2lvbic6Jyc7XHJcbiAgICB2YXIgYmU9Y29udGV4dC5iZTtcclxuICAgIHZhciBwdWVkZUVkaXRhckNhbXBvID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJztcclxuICAgIHZhciBwdWVkZUVkaXRhclByb2MgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzPy5wcm9jZXNhcjtcclxuXHJcbiAgICB2YXIgY29sdW1uYXNBcmVhc1BhcmFMYVRlbT1bJ29ic19yZWNlcGNpb25pc3RhJywndmVyaWZpY2Fkb19yZWMnLCdyZWNlcGNpb25pc3RhJ107XHJcblxyXG4gICAgdmFyIGNvbHVtbmFzTm9SZWE9W1xyXG4gICAgICAgIHtuYW1lOidncnVfbm9fcmVhJywgZXhwcjogJ2dydXBvJyB9XHJcbiAgICBdO1xyXG4gICAgdmFyIGNvbHVtbmFzU29sb1RlbT1bXHJcbiAgICAgICAgICAnZW5jX29yaWdpbmFsJyAgICwgJ2pzb25fZW5jdWVzdGEnICAgICAgLCAnanNvbl9iYWNrdXAnLCAnZmVjaGFfbW9kaWZfZW5jdWVzdGEnLCAnZmVjaGFfYmFja3VwJ1xyXG4gICAgICAgICwgJ2g0JyAgICAgICAgICAgICAsICd4JyAgICAgICAsICd5JyAgICAgICwgJ2ZleHAnXHJcbiAgICBdO1xyXG4gICAgdmFyIGRlZjogVGFibGVEZWZpbml0aW9uPSB7XHJcbiAgICAgICAgbmFtZTpgdGVtJHtyZWNlcGNpb259YCxcclxuICAgICAgICB0YWJsZU5hbWU6J3RlbScsXHJcbiAgICAgICAgbXVlc3RyYUFicmlyRW5Ub2Rhc0xhc1RhcmVhczp0cnVlLFxyXG4gICAgICAgIGFsbG93OntcclxuICAgICAgICAgICAgaW5zZXJ0OmZhbHNlLFxyXG4gICAgICAgICAgICBkZWxldGU6Y29udGV4dC5mb3JEdW1wLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdGFibGU6IHB1ZWRlRWRpdGFyQ2FtcG98fHB1ZWRlRWRpdGFyUHJvYyxcclxuICAgICAgICBoaWRkZW5Db2x1bW5zOltcclxuICAgICAgICAgICAgJ3NlbGVjY2lvbmFkb19hbnQnLCdjaXRhJywnbm90YXMnLCAnY2x1c3RlcicsICdjb2R2aXZpZW5kYXBhcnRpY3VsYXInLCAnb2JzZGF0b3Nkb21pY2lsaW8nLCAnb2JzY29uanVudG8nLCAncmVzZXJ2YScsICdyb3RhY2lvbl9ldG9pJywgJ3JvdGFjaW9uX2VhaCdcclxuICAgICAgICAgICAgLCAndHJpbWVzdHJlJyAgICwgJ3Byb2NlZGVuY2lhJywgJ3NlbF9ldG9pX3ZpbGxhJyAgICwgJ21hcmNvJyAgICAgICwgJ3NlbWFuYScgLCAncGVyaW9kaWNpZGFkJyBcclxuICAgICAgICAgICAgLCAnY2FyZ2Fkb19kbScsICdlc3RhZG9zX19wZXJtaXRlX2VkaXRhcl9lbmN1ZXN0YSdcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwiZmllbGRzXCI6IFtcclxuICAgICAgICAgICAge25hbWU6J29wZXJhdGl2bycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBudWxsYWJsZTogZmFsc2UsIGRlZmF1bHRWYWx1ZTogJ2V0b2kyMTEnfSxcclxuICAgICAgICAgICAge25hbWU6J2VuYycgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBudWxsYWJsZTogZmFsc2UgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImFicmlyXCIgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidhYnJpcid9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImNvbnNpc3RpclwiICAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RleHQnICAgLCBlZGl0YWJsZTogZmFsc2UgICwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonY29uc2lzdGlyJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImNsdXN0ZXJcIiAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSwgaXNOYW1lOnRydWV9LFxyXG4gICAgICAgICAgICB7bmFtZTondGFyZWFfYWN0dWFsJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImhhYmlsaXRhclwiICAgICAgICAgICAgLCB0eXBlTmFtZTogXCJ0ZXh0XCIgICAsIGVkaXRhYmxlOmZhbHNlICAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidoYWJpbGl0YXInfSxcclxuICAgICAgICAgICAge25hbWU6XCJoYWJpbGl0YWRhXCIgICAgICAgICAgICwgdHlwZU5hbWU6ICdib29sZWFuJywgZWRpdGFibGU6cHVlZGVFZGl0YXJDYW1wbywgbnVsbGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J2FyZWEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3pvbmEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2VuY19hbnQnICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FyZWFfYW50JyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbGVjY2lvbmFkb19hbnQnICAgICAsIHR5cGVOYW1lOidqc29uYicgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NpdGEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlYScgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25vcmVhJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NhbnRfaCcgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NhbnRfcCcgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbGVjY2lvbmFkbycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuLy8gICAgICAgICAgICB7bmFtZTonc2V4b19zZWwnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4vLyAgICAgICAgICAgIHtuYW1lOidlZGFkX3NlbCcgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bHRhZG8nICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidncnVfbm9fcmVhJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVzdW1lbl9lc3RhZG8nICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FyZ2FkbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J2VuY3VfaGFiaWxpdGFkYScgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidlbmN1X2NhcmdhZG8nICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2VuY3Vlc3RhZG9yJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9tYnJlX2VuYycgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidhcGVsbGlkb19lbmMnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZToncmVjdV9oYWJpbGl0YWRhJyAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3JlY3VfY2FyZ2FkbycgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVjdXBlcmFkb3InICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub21icmVfcmVjJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FwZWxsaWRvX3JlYycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidzdXBlX2hhYmlsaXRhZGEnICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonc3VwZV9jYXJnYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzdXBlcnZpc29yJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25vbWJyZV9zdXAnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXBlbGxpZG9fc3VwJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZWFfc3VwJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J25vcmVhX3N1cCcgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVzdW1lbl9lc3RhZG9fc3VwJyAgICwgdHlwZU5hbWU6J3RleHQnICAgICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwcmVfc29ydGVvJyAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlLCB2aXNpYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzdXBlcnZpc2lvbl9hbGVhdG9yaWEnLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzaW9uX2RpcmlnaWRhJyAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb24nICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bHRfc3VwJyAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J2Zpbl9jYW1wbycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Byb2llJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Bhc2VfdGFibGEnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLi4uZ2V0RG9taWNpbGlvRmllbGRzKCksXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwidmVyaWZpY2FyXCIgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J3ZlcmlmaWNhckNhc28nfSxcclxuICAgICAgICAgICAgLy97bmFtZTogXCJmaW5hbGl6YXJfY2FtcG9cIiAsIHR5cGVOYW1lOidib29sZWFuJywgZWRpdGFibGU6dHJ1ZSwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZTonZmluYWxpemFyQ2FtcG8nfSwgLy9maW5fZGVfY2FtcG9cclxuICAgICAgICAgICAgLy97bmFtZTogXCJwcm9jZXNhbWllbnRvXCIgICAsIHR5cGVOYW1lOidib29sZWFuJywgZWRpdGFibGU6dHJ1ZSwgaW5UYWJsZTpmYWxzZSwgY2xpZW50U2lkZToncGFzYXJBUHJvY2VzYW1pZW50bycsIGxhYmVsOiAncGFzYXIgYSBwcm9jZXNhbWllbnRvJ30sIC8vcHJvY2VzYW1pZW50b1xyXG4gICAgICAgICAgICB7bmFtZTonZmV4cCcgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYXVwJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY29kcG9zJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZG9taW5pbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZXN0cmF0b19pbmcnICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonaWRfbWFyY28nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonb2JzJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvY29tdW5hJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvZnJhY2Npb24nICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvcmFkaW8nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvbWFuemFuYScgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvbGFkbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FzYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTondXNvZG9taWNpbGlvJyAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonb3JkZW5fcmVsZXZhbWllbnRvJyAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbWFwYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTogXCJjb25zaXN0aWRvXCIgICAgICAgICAgLCB0eXBlTmFtZTogJ3RpbWVzdGFtcCcsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXJnYWRvX2RtJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BhcnRpY2lwYWNpb24nICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyb3RhY2lvbicgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2xhc2UnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogdHJ1ZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BhbmVsJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIC8vdmFjaW9zIG8gcG9jbyBpbnRlcmVzYW50ZXNcclxuICAgICAgICAgICAge25hbWU6J2NvZHZpdmllbmRhcGFydGljdWxhcicsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29ic2RhdG9zZG9taWNpbGlvJyAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29ic2Nvbmp1bnRvJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc2VydmEnICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JvdGFjaW9uX2V0b2knICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncm90YWNpb25fZWFoJyAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOid0cmltZXN0cmUnICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Byb2NlZGVuY2lhJyAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsX2V0b2lfdmlsbGEnICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidtYXJjbycgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbWFuYScgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncGVyaW9kaWNpZGFkJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8vc29sbyB0ZW0gXHJcbiAgICAgICAgICAgIHtuYW1lOidmZWNoYV9tb2RpZl9lbmN1ZXN0YScgLCB0eXBlTmFtZTogXCJ0aW1lc3RhbXBcIiwgZWRpdGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidqc29uX2VuY3Vlc3RhJyAgICAgICAgLCB0eXBlTmFtZTonanNvbmInICAgICAsIGVkaXRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZmVjaGFfYmFja3VwJyAgICAgICAgICwgdHlwZU5hbWU6IFwidGltZXN0YW1wXCIsIGVkaXRhYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6XCJqc29uX2JhY2t1cFwiICAgICAgICAgICwgdHlwZU5hbWU6J2pzb25iJyAgICwgZWRpdGFibGU6IGZhbHNlLCB2aXNpYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6XCJ0b2tlbl9hdXRvZ2VuZXJhZG9fZG1cIiwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlLCB2aXNpYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6XCJlbmNfYXV0b2dlbmVyYWRvX2RtXCIgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImVuY19hdXRvZ2VuZXJhZG9fZG1fY2FwYVwiLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiaDRcIiAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJ4XCIgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2RlY2ltYWwnICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcInlcIiAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonZGVjaW1hbCcgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub3RhcycgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UsIGluVGFibGU6ZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTpcIm1vZGlmaWNhZG9cIiAgICAgICAgICAgLCB0eXBlTmFtZTogJ3RpbWVzdGFtcCcsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImxpYnJlXCIgLCB0eXBlTmFtZTogXCJib29sZWFuXCIsIGRlZmF1bHREYlZhbHVlOlwidHJ1ZVwiICAsIHZpc2libGU6ZmFsc2UsIGVkaXRhYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6IFwiZmVjaGFfYmxvcXVlb1wiLCB0eXBlTmFtZTogXCJ0aW1lc3RhbXBcIiwgdmlzaWJsZTpmYWxzZSwgZWRpdGFibGU6ZmFsc2V9XHJcbiAgICAgICAgICAgIC8ve25hbWU6J29ic19zdXAnICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAsIGVkaXRhYmxlOiBpc1N1cGVydmlzb3IgICAgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J29ic19jb29yJyAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAsIGVkaXRhYmxlOiBpc0Nvb3JkaW5hZG9yIHx8IGlzU3ViQ29vcmRpbmFkb3IgfSwgIFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJwcmltYXJ5S2V5XCI6IFsgXCJvcGVyYXRpdm9cIiwgXCJlbmNcIiBdLFxyXG4gICAgICAgIGZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J2FyZWFzJyAgICwgZmllbGRzOlsnb3BlcmF0aXZvJywgJ2FyZWEnXX0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6J3RhcmVhcycgLCBcclxuICAgICAgICAgICAgICAgIGZpZWxkczpbXHJcbiAgICAgICAgICAgICAgICAgICAge3NvdXJjZTonb3BlcmF0aXZvJywgdGFyZ2V0OidvcGVyYXRpdm8nfSxcclxuICAgICAgICAgICAgICAgICAgICB7c291cmNlOid0YXJlYV9hY3R1YWwnLCB0YXJnZXQ6J3RhcmVhJ31cclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICBhbGlhczondGFyYWN0J1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczonc2VtYW5hcycsIGZpZWxkczpbXCJvcGVyYXRpdm9cIiwgXCJzZW1hbmFcIl19XHJcbiAgICAgICAgLy8gICAge3JlZmVyZW5jZXM6J3VzdWFyaW9zJywgZmllbGRzOlt7c291cmNlOidjYXJnYV9wZXJzb25hJywgdGFyZ2V0OidpZHBlcid9XSwgZGlzcGxheUZpZWxkczpbJ2FwZWxsaWRvJywnbm9tYnJlJ119LFxyXG4gICAgICAgIF0sICAgICAgICBcclxuICAgICAgICBzb2Z0Rm9yZWlnbktleXM6W1xyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczondG9rZW5zJywgZmllbGRzOlt7c291cmNlOidjYXJnYWRvX2RtJywgdGFyZ2V0Oid0b2tlbid9XSwgZGlzcGxheUZpZWxkczpbJ3VzZXJuYW1lJ10sIGRpc3BsYXlBZnRlckZpZWxkTmFtZTonY2FyZ2Fkbyd9XHJcbiAgICAgICAgXSxcclxuICAgICAgICBcImRldGFpbFRhYmxlc1wiOiBbXHJcbiAgICAgICAgICAgIHt0YWJsZTogXCJpbmNvbnNpc3RlbmNpYXNcIiwgYWJyOiBcIklcIiwgZmllbGRzOiBbe3NvdXJjZTonb3BlcmF0aXZvJywgdGFyZ2V0OidvcGVyYXRpdm8nfSx7c291cmNlOidlbmMnLCB0YXJnZXQ6J3ZpdmllbmRhJ31dfSxcclxuICAgICAgICAgICAge3RhYmxlOiBcImhpc3RvcmlhbF90ZW1cIiwgYWJyOiBcIkhcIiwgZmllbGRzOiBbJ29wZXJhdGl2bycsJ2VuYyddfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgY29uc3RyYWludHM6W1xyXG4gICAgICAgICAgICB7Y29uc3RyYWludFR5cGU6J2NoZWNrJywgY29uc05hbWU6XCJ2cmVzdWx0X3N1cF9ja1wiLCBleHByOlwiKHJlc3VsdF9zdXAgYmV0d2VlbiAxIGFuZCA5IG9yIHJlc3VsdF9zdXAgaW4gKDExLDEyLDIxLDIyICkgb3IgcmVzdWx0X3N1cCBiZXR3ZWVuIDYwIGFuZCA2OClcIn0sXHJcbiAgICAgICAgICAgIHtjb25zdHJhaW50VHlwZTondW5pcXVlJywgY29uc05hbWU6XCJhdXRvZ2VuZXJhZG9fZG1fdWtcIiwgZmllbGRzOlsndG9rZW5fYXV0b2dlbmVyYWRvX2RtJywnZW5jX2F1dG9nZW5lcmFkb19kbSddfSxcclxuICAgICAgICAgICAge2NvbnN0cmFpbnRUeXBlOid1bmlxdWUnLCBjb25zTmFtZTpcImF1dG9nZW5lcmFkb19kbV9jYXBhX3VrXCIsIGZpZWxkczpbJ3Rva2VuX2F1dG9nZW5lcmFkb19kbScsJ2VuY19hdXRvZ2VuZXJhZG9fZG1fY2FwYSddfVxyXG4gICAgICAgIF1cclxuICAgIH07XHJcbiAgICBpZiAob3B0cy5yZWNlcGNpb24pIHtcclxuICAgICAgICBkZWYuZmllbGRzPWRlZi5maWVsZHMuZmlsdGVyKGY9PiFjb2x1bW5hc1NvbG9UZW0uaW5jbHVkZXMoZi5uYW1lKSApXHJcbiAgICAgICAgZGVmLmhpZGRlbkNvbHVtbnM9Wy4uLihkZWYuaGlkZGVuQ29sdW1uc3x8W10pLCAuLi5jb2x1bW5hc0FyZWFzUGFyYUxhVGVtLm1hcCh4PT5gYXJlYXNfXyR7eH1gKV1cclxuICAgICAgICBkZWYuZm9yZWlnbktleXM9ZGVmLmZvcmVpZ25LZXlzPy5tYXAoZnVuY3Rpb24gKGYpIHtpZiAoZi5yZWZlcmVuY2VzPT0nYXJlYXMnKXtmLmRpc3BsYXlGaWVsZHM9Y29sdW1uYXNBcmVhc1BhcmFMYVRlbX07IHJldHVybiBmfSkgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIGRlZi5kZXRhaWxUYWJsZXM/LnVuc2hpZnQoe3RhYmxlOiBcInRhcmVhc190ZW1cIiwgYWJyOiBcIlRcIiwgZmllbGRzOiBbJ29wZXJhdGl2bycsICdlbmMnXSwgbGFiZWw6J3RhcmVhcyd9KVxyXG4gICAgICAgIGRlZi5maWVsZHM9ZGVmLmZpZWxkcy5maWx0ZXIoZj0+IWNvbHVtbmFzTm9SZWEubWFwKGZuPT5mbi5uYW1lKS5pbmNsdWRlcyhmLm5hbWUpIClcclxuICAgIH07XHJcbiAgICBjb25zdCBxPWNvbnRleHQuYmUuZGIucXVvdGVJZGVudDtcclxuICAgIGRlZi5zcWw9IHtcclxuICAgICAgICAgICAgaXNUYWJsZTohb3B0cy5yZWNlcGNpb24sIC8vVE9ETzogcmVzb2x2ZXIgY29tbyBzYWNhcmxvIGRlbCBkdW1wXHJcbiAgICAgICAgICAgIGlzUmVmZXJhYmxlOnRydWUsXHJcbiAgICAgICAgICAgIGZyb206YFxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgICR7ZGVmLmZpZWxkcy5maWx0ZXIoZj0+Zi5pblRhYmxlPT11bmRlZmluZWQgJiYgIWYuY2xpZW50U2lkZSkubWFwKGY9Pid0LicrcShmLm5hbWUpKS5qb2luKCcsJyl9XHJcbiAgICAgICAgICAgICAgICAgICAgLCB0dC5jYXJnYWRvLCB0dC5jYXJnYWRvX2RtXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0dC5ldGFyZWFzLT4nZW5jdSctPj4nYXNpZ25hZG8nIGFzIGVuY3Vlc3RhZG9yXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0dC5ldGFyZWFzLT4ncmVjdSctPj4nYXNpZ25hZG8nIGFzIHJlY3VwZXJhZG9yXHJcbiAgICAgICAgICAgICAgICAgICAgLCB0dC5ldGFyZWFzLT4nc3VwZSctPj4nYXNpZ25hZG8nIGFzIHN1cGVydmlzb3JcclxuICAgICAgICAgICAgICAgICAgICAsIG51bGwgbm90YXNcclxuICAgICAgICAgICAgICAgICAgICAsIGF1eC5jb25zaXN0aWRvXHJcbiAgICAgICAgICAgICAgICAgICAgLCB1c3VfZW5jLm5vbWJyZSBhcyBub21icmVfZW5jXHJcbiAgICAgICAgICAgICAgICAgICAgLCB1c3VfZW5jLmFwZWxsaWRvIGFzIGFwZWxsaWRvX2VuY1xyXG4gICAgICAgICAgICAgICAgICAgICwgdXN1X3JlYy5ub21icmUgYXMgbm9tYnJlX3JlY1xyXG4gICAgICAgICAgICAgICAgICAgICwgdXN1X3JlYy5hcGVsbGlkbyBhcyBhcGVsbGlkb19yZWNcclxuICAgICAgICAgICAgICAgICAgICAsIHVzdV9zdXAubm9tYnJlIGFzIG5vbWJyZV9zdXBcclxuICAgICAgICAgICAgICAgICAgICAsIHVzdV9zdXAuYXBlbGxpZG8gYXMgYXBlbGxpZG9fc3VwXHJcbiAgICAgICAgICAgICAgICAgICAgJHtvcHRzLnJlY2VwY2lvbj8gY29sdW1uYXNOb1JlYS5tYXAodj0+J1xcbiAgICAgLCAnKyB2LmV4cHIgKycgYXMgJysgdi5uYW1lKS5qb2luKCcnKSA6Jyd9XHJcbiAgICAgICAgICAgICAgICAgICAgZnJvbSB0ZW0gdCBsZWZ0IGpvaW4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgdHQub3BlcmF0aXZvLCB0dC5lbmMsIGJvb2xfb3IoY2FyZ2FkbykgY2FyZ2Fkbywgc3RyaW5nX2FnZyhjYXJnYWRvX2RtLCcsJykgY2FyZ2Fkb19kbSxqc29uYl9vYmplY3RfYWdnKHRhcmVhLGpzb25iX2J1aWxkX29iamVjdCgnYXNpZ25hZG8nLGFzaWduYWRvLCdjYXJnYWRvJyxjYXJnYWRvLCdjYXJnYWRvX2RtJyxjYXJnYWRvX2RtKSlldGFyZWFzIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSB0YXJlYXNfdGVtIHR0IGdyb3VwIGJ5IHR0Lm9wZXJhdGl2bywgdHQuZW5jICApdHQgb24gdC5vcGVyYXRpdm89dHQub3BlcmF0aXZvIGFuZCB0LmVuYz10dC5lbmNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiBub19yZWEgeSBvbiB5Lm5vX3JlYT10Lm5vcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gJHtzcWxUb29scy5xdW90ZUlkZW50KE9wZXJhdGl2b0dlbmVyYXRvci5tYWluVEQpfSBhdXggb24gYXV4Lm9wZXJhdGl2bz10Lm9wZXJhdGl2byBhbmQgYXV4LiR7c3FsVG9vbHMucXVvdGVJZGVudChPcGVyYXRpdm9HZW5lcmF0b3IubWFpblREUEspfT10LmVuYyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB1c3VhcmlvcyB1c3VfZW5jIG9uIHVzdV9lbmMuaWRwZXIgPSB0dC5ldGFyZWFzLT4nZW5jdSctPj4nYXNpZ25hZG8nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gdXN1YXJpb3MgdXN1X3JlYyBvbiB1c3VfcmVjLmlkcGVyID0gdHQuZXRhcmVhcy0+J3JlY3UnLT4+J2FzaWduYWRvJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHVzdWFyaW9zIHVzdV9zdXAgb24gdXN1X3N1cC5pZHBlciA9IHR0LmV0YXJlYXMtPidzdXBlJy0+Pidhc2lnbmFkbydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZmlsdHJvVGVtU2VndW5Vc3VhcmlvKGNvbnRleHQpfVxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICBgICAgICBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBkZWY7XHJcbiAgICB9XHJcbiAgICAiXX0=
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports", "./table-tem"], factory);
|
|
8
|
+
}
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.tem_edicion = tem_edicion;
|
|
13
|
+
const table_tem_1 = require("./table-tem");
|
|
14
|
+
// Grilla auxiliar de la tem con los campos que se pueden editar a mano. Cada campo editable se persiste en tem
|
|
15
|
+
// (table:'tem'), porque la grilla de la tem no permite editar nada salvo habilitada.
|
|
16
|
+
// nromanzana y casa sólo se pueden cambiar si el dominio es 5 (lo controla validar_manzana_casa_tem_trg).
|
|
17
|
+
function tem_edicion(context) {
|
|
18
|
+
var _a, _b, _c, _d, _e, _f;
|
|
19
|
+
var puedeEditarCampo = !!(context.forDump || ((_b = (_a = context.puede) === null || _a === void 0 ? void 0 : _a.campo) === null || _b === void 0 ? void 0 : _b.administrar) || context.user.rol === 'recepcionista');
|
|
20
|
+
var puedeEditarProc = !!(context.forDump || ((_d = (_c = context.puede) === null || _c === void 0 ? void 0 : _c.encuestas) === null || _d === void 0 ? void 0 : _d.procesar));
|
|
21
|
+
var puedeEditarManzanaCasa = !!(context.forDump || ((_f = (_e = context.puede) === null || _e === void 0 ? void 0 : _e.campo) === null || _f === void 0 ? void 0 : _f.administrar));
|
|
22
|
+
return {
|
|
23
|
+
name: 'tem_edicion',
|
|
24
|
+
elementName: 'encuesta',
|
|
25
|
+
title: 'edición TEM',
|
|
26
|
+
allow: {
|
|
27
|
+
insert: false,
|
|
28
|
+
delete: false,
|
|
29
|
+
import: false,
|
|
30
|
+
},
|
|
31
|
+
editable: puedeEditarCampo || puedeEditarProc,
|
|
32
|
+
fields: [
|
|
33
|
+
{ name: 'operativo', typeName: 'text', editable: false, nullable: false },
|
|
34
|
+
{ name: 'enc', typeName: 'text', editable: false, nullable: false },
|
|
35
|
+
{ name: 'area', typeName: 'integer', editable: false },
|
|
36
|
+
{ name: 'zona', typeName: 'text', editable: false },
|
|
37
|
+
{ name: 'cita', typeName: 'text', editable: puedeEditarCampo || puedeEditarProc, table: 'tem' },
|
|
38
|
+
{ name: 'result_sup', typeName: 'integer', editable: puedeEditarCampo, table: 'tem' },
|
|
39
|
+
{ name: 'fin_campo', typeName: 'text', editable: puedeEditarCampo, table: 'tem' },
|
|
40
|
+
{ name: 'proie', typeName: 'text', editable: puedeEditarCampo || puedeEditarProc, table: 'tem' },
|
|
41
|
+
{ name: 'dominio', typeName: 'integer', editable: false },
|
|
42
|
+
{ name: 'nrocomuna', typeName: 'text', editable: false },
|
|
43
|
+
{ name: 'nrofraccion', typeName: 'integer', editable: false },
|
|
44
|
+
{ name: 'nroradio', typeName: 'integer', editable: false },
|
|
45
|
+
{ name: 'nromanzana', typeName: 'integer', editable: puedeEditarManzanaCasa, table: 'tem' },
|
|
46
|
+
{ name: 'casa', typeName: 'text', editable: puedeEditarManzanaCasa, table: 'tem' },
|
|
47
|
+
],
|
|
48
|
+
primaryKey: ['operativo', 'enc'],
|
|
49
|
+
sql: {
|
|
50
|
+
isTable: false,
|
|
51
|
+
from: `
|
|
52
|
+
(select t.operativo, t.enc, t.area, t.zona, t.cita, t.result_sup, t.fin_campo, t.proie
|
|
53
|
+
, t.dominio, t.nrocomuna, t.nrofraccion, t.nroradio, t.nromanzana, t.casa
|
|
54
|
+
from tem t
|
|
55
|
+
${(0, table_tem_1.filtroTemSegunUsuario)(context)}
|
|
56
|
+
)
|
|
57
|
+
`
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtX2VkaWNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmVyL3RhYmxlLXRlbV9lZGljaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7SUFRYixrQ0EwQ0M7SUEvQ0QsMkNBQWtEO0lBRWxELCtHQUErRztJQUMvRyxxRkFBcUY7SUFDckYsMEdBQTBHO0lBQzFHLFNBQWdCLFdBQVcsQ0FBQyxPQUFzQjs7UUFDOUMsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxLQUFJLE1BQUEsTUFBQSxPQUFPLENBQUMsS0FBSywwQ0FBRSxLQUFLLDBDQUFFLFdBQVcsQ0FBQSxJQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFHLGVBQWUsQ0FBQyxDQUFDO1FBQ3BILElBQUksZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUksTUFBQSxNQUFBLE9BQU8sQ0FBQyxLQUFLLDBDQUFFLFNBQVMsMENBQUUsUUFBUSxDQUFBLENBQUMsQ0FBQztRQUNoRixJQUFJLHNCQUFzQixHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUksTUFBQSxNQUFBLE9BQU8sQ0FBQyxLQUFLLDBDQUFFLEtBQUssMENBQUUsV0FBVyxDQUFBLENBQUMsQ0FBQztRQUN0RixPQUFPO1lBQ0gsSUFBSSxFQUFDLGFBQWE7WUFDbEIsV0FBVyxFQUFDLFVBQVU7WUFDdEIsS0FBSyxFQUFDLGFBQWE7WUFDbkIsS0FBSyxFQUFDO2dCQUNGLE1BQU0sRUFBQyxLQUFLO2dCQUNaLE1BQU0sRUFBQyxLQUFLO2dCQUNaLE1BQU0sRUFBQyxLQUFLO2FBQ2Y7WUFDRCxRQUFRLEVBQUUsZ0JBQWdCLElBQUUsZUFBZTtZQUMzQyxNQUFNLEVBQUM7Z0JBQ0gsRUFBQyxJQUFJLEVBQUMsV0FBVyxFQUFjLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBSSxRQUFRLEVBQUUsS0FBSyxFQUFDO2dCQUN2RixFQUFDLElBQUksRUFBQyxLQUFLLEVBQW9CLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBSSxRQUFRLEVBQUUsS0FBSyxFQUFDO2dCQUN2RixFQUFDLElBQUksRUFBQyxNQUFNLEVBQW1CLFFBQVEsRUFBQyxTQUFTLEVBQUcsUUFBUSxFQUFFLEtBQUssRUFBRztnQkFDdEUsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFtQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7Z0JBQ3RFLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBbUIsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsZ0JBQWdCLElBQUUsZUFBZSxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUM7Z0JBQzdHLEVBQUMsSUFBSSxFQUFDLFlBQVksRUFBYSxRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBRSxnQkFBZ0IsRUFBYSxLQUFLLEVBQUMsS0FBSyxFQUFDO2dCQUN2RyxFQUFDLElBQUksRUFBQyxXQUFXLEVBQWMsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsZ0JBQWdCLEVBQWEsS0FBSyxFQUFDLEtBQUssRUFBQztnQkFDdkcsRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFrQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxnQkFBZ0IsSUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBQztnQkFDN0csRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFnQixRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUc7Z0JBQ3RFLEVBQUMsSUFBSSxFQUFDLFdBQVcsRUFBYyxRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7Z0JBQ3RFLEVBQUMsSUFBSSxFQUFDLGFBQWEsRUFBWSxRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUc7Z0JBQ3RFLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBZSxRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUc7Z0JBQ3RFLEVBQUMsSUFBSSxFQUFDLFlBQVksRUFBYSxRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBRSxzQkFBc0IsRUFBTyxLQUFLLEVBQUMsS0FBSyxFQUFDO2dCQUN2RyxFQUFDLElBQUksRUFBQyxNQUFNLEVBQW1CLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLHNCQUFzQixFQUFPLEtBQUssRUFBQyxLQUFLLEVBQUM7YUFDMUc7WUFDRCxVQUFVLEVBQUMsQ0FBQyxXQUFXLEVBQUMsS0FBSyxDQUFDO1lBQzlCLEdBQUcsRUFBQztnQkFDQSxPQUFPLEVBQUMsS0FBSztnQkFDYixJQUFJLEVBQUM7Ozs7OEJBSWEsSUFBQSxpQ0FBcUIsRUFBQyxPQUFPLENBQUM7O2FBRS9DO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgQ29udGV4dEZvckR1bXB9IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xuaW1wb3J0IHtmaWx0cm9UZW1TZWd1blVzdWFyaW99IGZyb20gXCIuL3RhYmxlLXRlbVwiO1xuXG4vLyBHcmlsbGEgYXV4aWxpYXIgZGUgbGEgdGVtIGNvbiBsb3MgY2FtcG9zIHF1ZSBzZSBwdWVkZW4gZWRpdGFyIGEgbWFuby4gQ2FkYSBjYW1wbyBlZGl0YWJsZSBzZSBwZXJzaXN0ZSBlbiB0ZW1cbi8vICh0YWJsZTondGVtJyksIHBvcnF1ZSBsYSBncmlsbGEgZGUgbGEgdGVtIG5vIHBlcm1pdGUgZWRpdGFyIG5hZGEgc2Fsdm8gaGFiaWxpdGFkYS5cbi8vIG5yb21hbnphbmEgeSBjYXNhIHPDs2xvIHNlIHB1ZWRlbiBjYW1iaWFyIHNpIGVsIGRvbWluaW8gZXMgNSAobG8gY29udHJvbGEgdmFsaWRhcl9tYW56YW5hX2Nhc2FfdGVtX3RyZykuXG5leHBvcnQgZnVuY3Rpb24gdGVtX2VkaWNpb24oY29udGV4dDpDb250ZXh0Rm9yRHVtcCk6VGFibGVEZWZpbml0aW9uIHtcbiAgICB2YXIgcHVlZGVFZGl0YXJDYW1wbyA9ICEhKGNvbnRleHQuZm9yRHVtcCB8fCBjb250ZXh0LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXJ8fGNvbnRleHQudXNlci5yb2w9PT0ncmVjZXBjaW9uaXN0YScpO1xuICAgIHZhciBwdWVkZUVkaXRhclByb2MgPSAhIShjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzPy5wcm9jZXNhcik7XG4gICAgdmFyIHB1ZWRlRWRpdGFyTWFuemFuYUNhc2EgPSAhIShjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOid0ZW1fZWRpY2lvbicsXG4gICAgICAgIGVsZW1lbnROYW1lOidlbmN1ZXN0YScsXG4gICAgICAgIHRpdGxlOidlZGljacOzbiBURU0nLFxuICAgICAgICBhbGxvdzp7XG4gICAgICAgICAgICBpbnNlcnQ6ZmFsc2UsXG4gICAgICAgICAgICBkZWxldGU6ZmFsc2UsXG4gICAgICAgICAgICBpbXBvcnQ6ZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXRhYmxlOiBwdWVkZUVkaXRhckNhbXBvfHxwdWVkZUVkaXRhclByb2MsXG4gICAgICAgIGZpZWxkczpbXG4gICAgICAgICAgICB7bmFtZTonb3BlcmF0aXZvJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZX0sXG4gICAgICAgICAgICB7bmFtZTonZW5jJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZX0sXG4gICAgICAgICAgICB7bmFtZTonYXJlYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxuICAgICAgICAgICAge25hbWU6J3pvbmEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcbiAgICAgICAgICAgIHtuYW1lOidjaXRhJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXJDYW1wb3x8cHVlZGVFZGl0YXJQcm9jLCB0YWJsZTondGVtJ30sXG4gICAgICAgICAgICB7bmFtZToncmVzdWx0X3N1cCcgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IHB1ZWRlRWRpdGFyQ2FtcG8gICAgICAgICAgICwgdGFibGU6J3RlbSd9LFxuICAgICAgICAgICAge25hbWU6J2Zpbl9jYW1wbycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhckNhbXBvICAgICAgICAgICAsIHRhYmxlOid0ZW0nfSxcbiAgICAgICAgICAgIHtuYW1lOidwcm9pZScgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXJDYW1wb3x8cHVlZGVFZGl0YXJQcm9jLCB0YWJsZTondGVtJ30sXG4gICAgICAgICAgICB7bmFtZTonZG9taW5pbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxuICAgICAgICAgICAge25hbWU6J25yb2NvbXVuYScgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcbiAgICAgICAgICAgIHtuYW1lOiducm9mcmFjY2lvbicgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXG4gICAgICAgICAgICB7bmFtZTonbnJvcmFkaW8nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxuICAgICAgICAgICAge25hbWU6J25yb21hbnphbmEnICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhck1hbnphbmFDYXNhICAgICAsIHRhYmxlOid0ZW0nfSxcbiAgICAgICAgICAgIHtuYW1lOidjYXNhJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXJNYW56YW5hQ2FzYSAgICAgLCB0YWJsZTondGVtJ30sXG4gICAgICAgIF0sXG4gICAgICAgIHByaW1hcnlLZXk6WydvcGVyYXRpdm8nLCdlbmMnXSxcbiAgICAgICAgc3FsOntcbiAgICAgICAgICAgIGlzVGFibGU6ZmFsc2UsXG4gICAgICAgICAgICBmcm9tOmBcbiAgICAgICAgICAgICAgICAoc2VsZWN0IHQub3BlcmF0aXZvLCB0LmVuYywgdC5hcmVhLCB0LnpvbmEsIHQuY2l0YSwgdC5yZXN1bHRfc3VwLCB0LmZpbl9jYW1wbywgdC5wcm9pZVxuICAgICAgICAgICAgICAgICAgICAgICAgLCB0LmRvbWluaW8sIHQubnJvY29tdW5hLCB0Lm5yb2ZyYWNjaW9uLCB0Lm5yb3JhZGlvLCB0Lm5yb21hbnphbmEsIHQuY2FzYVxuICAgICAgICAgICAgICAgICAgICBmcm9tIHRlbSB0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtmaWx0cm9UZW1TZWd1blVzdWFyaW8oY29udGV4dCl9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgYFxuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as bePlus from "backend-plus";
|
|
2
|
-
import type { NoRea } from "../unlogged/tipos";
|
|
2
|
+
import type { ModoApp, NoRea } from "../unlogged/tipos";
|
|
3
3
|
export * from 'procesamiento';
|
|
4
4
|
export { emergeAppMetaEnc, emergeAppRelEnc } from 'meta-enc';
|
|
5
5
|
export * from './table-tem';
|
|
@@ -36,6 +36,23 @@ export type Permisos = {
|
|
|
36
36
|
superuser?: boolean;
|
|
37
37
|
};
|
|
38
38
|
export type PermisosRol = Record<string, Permisos>;
|
|
39
|
+
export type AyudaFuente = {
|
|
40
|
+
origen: string;
|
|
41
|
+
carpeta: string;
|
|
42
|
+
};
|
|
43
|
+
export type AyudaTema = {
|
|
44
|
+
id: string;
|
|
45
|
+
titulo: string;
|
|
46
|
+
orden: number;
|
|
47
|
+
permisos: string[];
|
|
48
|
+
roles: string[];
|
|
49
|
+
modo: ModoApp | null;
|
|
50
|
+
menu: string[];
|
|
51
|
+
ocultar: boolean;
|
|
52
|
+
origen: string;
|
|
53
|
+
archivo: string;
|
|
54
|
+
html: string;
|
|
55
|
+
};
|
|
39
56
|
export type RolFieldTarea = {
|
|
40
57
|
name: string;
|
|
41
58
|
prefijo: string;
|
|
@@ -66,6 +83,7 @@ declare module "backend-plus" {
|
|
|
66
83
|
permisosRolSoloTrue: PermisosRol;
|
|
67
84
|
permisosSuperuser: Puede;
|
|
68
85
|
permisosParaNadie: Puede;
|
|
86
|
+
ayuda: AyudaTema[];
|
|
69
87
|
}
|
|
70
88
|
interface Context {
|
|
71
89
|
puede?: Puede;
|
|
@@ -75,6 +93,7 @@ declare module "backend-plus" {
|
|
|
75
93
|
abrir_encuesta: true;
|
|
76
94
|
sincronizar_dm: true;
|
|
77
95
|
cambiar_modo_dm: true;
|
|
96
|
+
ayuda: true;
|
|
78
97
|
}
|
|
79
98
|
interface AppConfigClientSetup {
|
|
80
99
|
skin?: string;
|
|
@@ -31,4 +31,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
31
31
|
Object.defineProperty(exports, "emergeAppRelEnc", { enumerable: true, get: function () { return meta_enc_1.emergeAppRelEnc; } });
|
|
32
32
|
__exportStar(require("./table-tem"), exports);
|
|
33
33
|
});
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtZG1lbmN1LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci90eXBlcy1kbWVuY3UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFBQSx5Q0FBeUM7SUFDekMsWUFBWSxDQUFDOzs7SUFLYixnREFBOEIsQ0FBQyw0QkFBNEI7SUFDM0QscUNBQTZELENBQUMscUNBQXFDO0lBQTFGLDRHQUFBLGdCQUFnQixPQUFBO0lBQUUsMkdBQUEsZUFBZSxPQUFBO0lBQzFDLDhDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwiZXhwcmVzcy1zZXNzaW9uXCIgLz5cblwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgKiBhcyBiZVBsdXMgZnJvbSBcImJhY2tlbmQtcGx1c1wiO1xuaW1wb3J0IHR5cGUgeyBNb2RvQXBwLCBOb1JlYSB9IGZyb20gXCIuLi91bmxvZ2dlZC90aXBvc1wiO1xuXG5leHBvcnQgKiBmcm9tICdwcm9jZXNhbWllbnRvJzsgLy9leHBvc2UgUHJvY2VzYW1pZW50byB0eXBlc1xuZXhwb3J0IHsgZW1lcmdlQXBwTWV0YUVuYywgZW1lcmdlQXBwUmVsRW5jIH0gZnJvbSAnbWV0YS1lbmMnOyAvL2V4cG9zZSB0eXBlcyBvbmx5IGluIG1ldGEtZW5jIHN0YWNrXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLXRlbSc7XG5cbi8vIGNvcnJlc3BvbmRlIGEgbGEgdGFibGEgcGVybWlzb3MgKHBlcm1pc28gLT4gYWNjacOzbiksIHZlciBpbnN0YWxsL3Blcm1pc29zLnRhYlxuZXhwb3J0IHR5cGUgUHVlZGUgPSB7XG4gICAgZW5jdWVzdGFzPzoge1xuICAgICAgICByZWxldmFyPzogYm9vbGVhbixcbiAgICAgICAganVzdGlmaWNhcj86IGJvb2xlYW4sXG4gICAgICAgIHByb2Nlc2FyPzogYm9vbGVhbixcbiAgICAgICAgaW5ncmVzYXI/OiBib29sZWFuLFxuICAgICAgICBib3JyYXJfdWE/OiBib29sZWFuXG4gICAgfSxcbiAgICBjYXNpbGxlcm9zX3RleHRvPzoge1xuICAgICAgICBlZGl0YXI/OiBib29sZWFuXG4gICAgfVxuICAgIGNhbXBvPzoge1xuICAgICAgICB2ZXI/OiBib29sZWFuXG4gICAgICAgIGVkaXRhcj86IGJvb2xlYW5cbiAgICAgICAgYWRtaW5pc3RyYXI/OiBib29sZWFuXG4gICAgfVxuICAgIGNvbmZpZ3VyYXI/OiB7XG4gICAgICAgIHZlcj86IGJvb2xlYW5cbiAgICAgICAgZWRpdGFyPzogYm9vbGVhblxuICAgIH1cbiAgICBjb25zaXN0ZW5jaWFzPzoge1xuICAgICAgICBlZGl0YXI/OiBib29sZWFuXG4gICAgfVxufVxuXG4vLyBncnVwbyBkZSBjw7NkaWdvcyBkZSBub19yZWEgKGJlLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX2dyb3VwcyB5IG5vX3JlYV9ncm91cHMwLCB2ZXIgcmVmcmVzaENhY2hlcyBlbiBhcHAtZG1lbmN1LnRzKVxuZXhwb3J0IHR5cGUgR3J1cG9Ob1JlYSA9IHsgZ3J1cG86IHN0cmluZywgY29kaWdvczogTm9SZWFbXSB9XG5cbmV4cG9ydCB0eXBlIFBlcm1pc29zID0ge1xuICAgIHB1ZWRlPzogUHVlZGVcbiAgICBzdXBlcnVzZXI/OiBib29sZWFuXG59XG5leHBvcnQgdHlwZSBQZXJtaXNvc1JvbCA9IFJlY29yZDxzdHJpbmcsIFBlcm1pc29zPlxuXG4vLyBheXVkYSBlbiBsw61uZWEgcGFyYSB1c3VhcmlvcyAodmVyIGRvY3MvYXl1ZGEtb25saW5lLm1kKVxuLy8gdW5hIGNhcnBldGEgY29uIGFyY2hpdm9zIC5tZCBkZSBheXVkYTsgbGFzIGFwcHMgZmluYWxlcyBhZ3JlZ2FuIGxhcyBzdXlhcyBlbiBnZXRBeXVkYUZ1ZW50ZXNcbmV4cG9ydCB0eXBlIEF5dWRhRnVlbnRlID0ge1xuICAgIG9yaWdlbjogc3RyaW5nIC8vIG5vbWJyZSBkZSBsYSBhcHAgbyBwYXF1ZXRlLCBwYXJhIGxvcyBtZW5zYWplcyBkZSBlcnJvclxuICAgIGNhcnBldGE6IHN0cmluZ1xufVxuLy8gdW4gYXJjaGl2byBkZSBheXVkYSB5YSBsZcOtZG86IGVuY2FiZXphZG8gKyBjb250ZW5pZG8gY29udmVydGlkbyBhIGh0bWxcbmV4cG9ydCB0eXBlIEF5dWRhVGVtYSA9IHtcbiAgICBpZDogc3RyaW5nXG4gICAgdGl0dWxvOiBzdHJpbmdcbiAgICBvcmRlbjogbnVtYmVyXG4gICAgcGVybWlzb3M6IHN0cmluZ1tdIC8vIFwicGVybWlzby5hY2Npb25cIjsgYWxjYW56YSBjb24gdGVuZXIgYWxndW5vXG4gICAgcm9sZXM6IHN0cmluZ1tdIC8vIGFsY2FuemEgY29uIHRlbmVyIGFsZ3Vub1xuICAgIG1vZG86IE1vZG9BcHAgfCBudWxsIC8vIG51bGw6IGVuIGFtYm9zIG1vZG9zXG4gICAgbWVudTogc3RyaW5nW10gLy8gcnV0YXMgZGUgbGFzIG9wY2lvbmVzIGRlbCBtZW7DuiBxdWUgZXhwbGljYSwgcG9yIGVqZW1wbG8gXCJhc2lnbmFjaW9uL2VuY3Vlc3RhZG9yXCJcbiAgICBvY3VsdGFyOiBib29sZWFuIC8vIHF1aXRhIHVuIHRlbWEgZGUgb3RyYSBmdWVudGUgY29uIGVsIG1pc21vIGlkXG4gICAgb3JpZ2VuOiBzdHJpbmdcbiAgICBhcmNoaXZvOiBzdHJpbmdcbiAgICBodG1sOiBzdHJpbmdcbn1cblxuLy8gY2FtcG8gcG9yIHJvbCBxdWUgc2UgYWdyZWdhIHBhcmEgY2FkYSB0YXJlYSBlbiBhcmVhc19hc2lnbmFjaW9uX2dlbmVyYWxcbmV4cG9ydCB0eXBlIFJvbEZpZWxkVGFyZWEgPSB7XG4gICAgbmFtZTogc3RyaW5nXG4gICAgcHJlZmlqbzogc3RyaW5nXG4gICAgZWRpdGFibGU6IGJvb2xlYW5cbiAgICByZWZlcmVuY2VzOiBzdHJpbmdcbiAgICBtdWVzdHJhRGlzcG9zaXRpdm86IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgVGFibGVEZWZpbml0aW9uID0gYmVQbHVzLlRhYmxlRGVmaW5pdGlvbiAmIHtcbiAgICBtdWVzdHJhQWJyaXJFblRvZGFzTGFzVGFyZWFzPzogYm9vbGVhbjtcbiAgICB0YXJlYXNGaWVsZHM/OiBSb2xGaWVsZFRhcmVhW107XG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlQ29udGV4dCA9IGJlUGx1cy5UYWJsZUNvbnRleHQgJiB7XG4gICAgcHVlZGU/OiBQdWVkZVxufVxuXG5kZWNsYXJlIG1vZHVsZSBcImJhY2tlbmQtcGx1c1wiIHtcbiAgICBleHBvcnQgaW50ZXJmYWNlIFByb2NlZHVyZURlZiB7XG4gICAgICAgIGRlZmluZWRJbj86IHN0cmluZ1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgRmllbGREZWZpbml0aW9uIHtcbiAgICAgICAgaXNQaz86IG51bWJlcjtcbiAgICAgICAgb3JpZ2luYWxOYW1lPzogc3RyaW5nO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVzIHtcbiAgICAgICAgdGFibGVDb250ZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgICAgIG1ldGFFbmNJbmNsdWlyQ2FzaWxsZXJvc1NhbHRvUkVMOiBib29sZWFuXG4gICAgICAgIHRpbWVzdGFtcEVzdHJ1Y3R1cmE6IG51bWJlclxuICAgICAgICBwZXJtaXNvc1JvbDogUGVybWlzb3NSb2xcbiAgICAgICAgcGVybWlzb3NSb2xTb2xvVHJ1ZTogUGVybWlzb3NSb2xcbiAgICAgICAgcGVybWlzb3NTdXBlcnVzZXI6IFB1ZWRlXG4gICAgICAgIHBlcm1pc29zUGFyYU5hZGllOiBQdWVkZVxuICAgICAgICBheXVkYTogQXl1ZGFUZW1hW11cbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIENvbnRleHQge1xuICAgICAgICBwdWVkZT86IFB1ZWRlXG4gICAgICAgIHN1cGVydXNlcj86IHRydWVcbiAgICB9XG5cbiAgICAvLyBwYW50YWxsYXMgcHJvcGlhcyBkZSBkbWVuY3UgcXVlIHNlIHVzYW4gY29tbyBtZW51VHlwZSAoZGVmaW5pZGFzIGVuIGNsaWVudC50cyBjb21vIG15T3duLndTY3JlZW5zLiopXG4gICAgZXhwb3J0IGludGVyZmFjZSBXU2NyZWVucyB7XG4gICAgICAgIGFicmlyX2VuY3Vlc3RhOiB0cnVlXG4gICAgICAgIHNpbmNyb25pemFyX2RtOiB0cnVlXG4gICAgICAgIGNhbWJpYXJfbW9kb19kbTogdHJ1ZVxuICAgICAgICBheXVkYTogdHJ1ZVxuICAgIH1cblxuICAgIC8vIGJhY2tlbmQtcGx1cyB1c2EgY29uZmlnWydjbGllbnQtc2V0dXAnXS5za2luIHBlcm8gbm8gbG8gZGVjbGFyYVxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQXBwQ29uZmlnQ2xpZW50U2V0dXAge1xuICAgICAgICBza2luPzogc3RyaW5nXG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBPcHRzQ2xpZW50UGFnZSB7XG4gICAgICAgIG9mZmxpbmVGaWxlOiBib29sZWFuXG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBDbGllbnRTZXR1cCB7XG4gICAgICAgIGlkcGVyOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlIFwiZXhwcmVzcy1zZXNzaW9uXCIge1xuICAgIGludGVyZmFjZSBTZXNzaW9uRGF0YSB7XG4gICAgICAgIGluc3RhbGw6IHN0cmluZyAvLyBpZGVudGlmaWNhZG9yIGRlIGxhIGluc3RhbGFjacOzbiBkZWwgZGlzcG9zaXRpdm8gKHZlciBhZGRTY2hyw7ZkaW5nZXJTZXJ2aWNlcylcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIE1lbnVJbmZvQmFzZSA9IGJlUGx1cy5NZW51SW5mb0Jhc2U7XG5cbmV4cG9ydCB0eXBlIFN1Zmlqb3NBbWJpZW50ZSA9ICdfdGVzdCcgfCAnX2NhcGEnIHwgJydcbiJdfQ==
|
|
@@ -299,7 +299,7 @@ export type Cargas = {
|
|
|
299
299
|
};
|
|
300
300
|
export type EstructuraRowValidator = Structure<IdVariable, Valor, IdFin>;
|
|
301
301
|
export type ModoDespliegue = 'metadatos' | 'relevamiento' | 'PDF';
|
|
302
|
-
export type PantallaNavegacion = 'hdr' | 'sincronizacion' | 'sincronizacion_requerida' | 'modo';
|
|
302
|
+
export type PantallaNavegacion = 'hdr' | 'sincronizacion' | 'sincronizacion_requerida' | 'modo' | 'ayuda';
|
|
303
303
|
export type InfoFormulario = {
|
|
304
304
|
casilleros: Formulario;
|
|
305
305
|
estructuraRowValidator: EstructuraRowValidator;
|
|
@@ -572,4 +572,22 @@ export type EstadoAccion = {
|
|
|
572
572
|
confirma: boolean;
|
|
573
573
|
};
|
|
574
574
|
export type ModoDM = 'produc' | 'capa';
|
|
575
|
+
export type ModoApp = 'RELEVAMIENTO' | 'GABINETE';
|
|
576
|
+
export type AyudaTemaParaUsuario = {
|
|
577
|
+
id: string;
|
|
578
|
+
titulo: string;
|
|
579
|
+
html: string;
|
|
580
|
+
};
|
|
581
|
+
export type AyudaOpcionMenu = {
|
|
582
|
+
ruta: string;
|
|
583
|
+
label: string;
|
|
584
|
+
tema: string | null;
|
|
585
|
+
opciones: AyudaOpcionMenu[];
|
|
586
|
+
};
|
|
587
|
+
export type AyudaParaUsuario = {
|
|
588
|
+
rol: string | null;
|
|
589
|
+
modo: ModoApp;
|
|
590
|
+
temas: AyudaTemaParaUsuario[];
|
|
591
|
+
menu: AyudaOpcionMenu[];
|
|
592
|
+
};
|
|
575
593
|
export {};
|