dmencu 3.2.21 → 3.4.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.
Files changed (258) hide show
  1. package/README.md +42 -42
  2. package/ayuda/asignacion.md +16 -0
  3. package/ayuda/circuito-encuesta.md +27 -0
  4. package/ayuda/control.md +13 -0
  5. package/ayuda/dm-cambiar-modo.md +16 -0
  6. package/ayuda/dm-relevamiento.md +20 -0
  7. package/ayuda/dm-sincronizar.md +18 -0
  8. package/ayuda/fin-de-campo.md +14 -0
  9. package/ayuda/metadatos.md +14 -0
  10. package/ayuda/procesar.md +13 -0
  11. package/ayuda/recepcion.md +20 -0
  12. package/ayuda/supervision.md +9 -0
  13. package/ayuda/usuarios.md +12 -0
  14. package/ayuda/varios.md +23 -0
  15. package/dist/client/client/client.js +101 -4
  16. package/dist/client/client/css/menu.styl +29 -0
  17. package/dist/client/unlogged/abrir-formulario.js +1 -1
  18. package/dist/client/unlogged/bypass-formulario.d.ts +6 -42
  19. package/dist/client/unlogged/bypass-formulario.js +84 -219
  20. package/dist/client/unlogged/calculos-encuesta.js +112 -38
  21. package/dist/client/unlogged/css/formulario-react.styl +9 -0
  22. package/dist/client/unlogged/helpers-casilleros.d.ts +1 -1
  23. package/dist/client/unlogged/helpers-casilleros.js +12 -18
  24. package/dist/client/unlogged/helpers-formulario.d.ts +16 -0
  25. package/dist/client/unlogged/helpers-formulario.js +88 -0
  26. package/dist/client/unlogged/redux-formulario.d.ts +1 -2
  27. package/dist/client/unlogged/redux-formulario.js +21 -31
  28. package/dist/client/unlogged/render-config.d.ts +5 -1
  29. package/dist/client/unlogged/render-config.js +14 -1
  30. package/dist/client/unlogged/render-formulario.d.ts +3 -6
  31. package/dist/client/unlogged/render-formulario.js +71 -69
  32. package/dist/client/unlogged/render-formulario.tsx +100 -57
  33. package/dist/client/unlogged/render-general.d.ts +2 -0
  34. package/dist/client/unlogged/render-general.js +2 -1
  35. package/dist/client/unlogged/render-general.tsx +2 -1
  36. package/dist/client/unlogged/render-init.d.ts +1 -0
  37. package/dist/client/unlogged/render-init.js +9 -2
  38. package/dist/client/unlogged/tipos.d.ts +93 -41
  39. package/dist/client/unlogged/tipos.js +1 -1
  40. package/dist/server/app-dmencu.d.ts +1435 -0
  41. package/dist/server/app-dmencu.js +1091 -0
  42. package/dist/server/ayuda.d.ts +19 -0
  43. package/dist/server/ayuda.js +224 -0
  44. package/dist/server/def-config.d.ts +1 -0
  45. package/dist/server/def-config.js +123 -0
  46. package/dist/server/procedures-dmencu.d.ts +43 -0
  47. package/dist/server/procedures-dmencu.js +2313 -0
  48. package/dist/server/server/app-dmencu.d.ts +49 -91
  49. package/dist/server/server/app-dmencu.js +151 -52
  50. package/dist/server/server/ayuda.d.ts +19 -0
  51. package/dist/server/server/ayuda.js +224 -0
  52. package/dist/server/server/procedures-dmencu.d.ts +34 -2
  53. package/dist/server/server/procedures-dmencu.js +93 -51
  54. package/dist/server/server/setters-rea-no-rea.d.ts +13 -0
  55. package/dist/server/server/setters-rea-no-rea.js +35 -0
  56. package/dist/server/server/table-areas.js +4 -4
  57. package/dist/server/server/table-areas_asignacion_general.js +2 -1
  58. package/dist/server/server/table-control_campo.js +4 -4
  59. package/dist/server/server/table-no_rea.js +4 -2
  60. package/dist/server/server/table-no_rea_sup.js +7 -3
  61. package/dist/server/server/table-personal.js +1 -1
  62. package/dist/server/server/table-tareas_tem.js +2 -2
  63. package/dist/server/server/table-tem.js +2 -2
  64. package/dist/server/server/types-dmencu.d.ts +53 -2
  65. package/dist/server/server/types-dmencu.js +2 -1
  66. package/dist/server/setters-rea-no-rea.d.ts +13 -0
  67. package/dist/server/setters-rea-no-rea.js +35 -0
  68. package/dist/server/table-acciones.d.ts +2 -0
  69. package/dist/server/table-acciones.js +45 -0
  70. package/dist/server/table-area_enc_proximas.d.ts +2 -0
  71. package/dist/server/table-area_enc_proximas.js +30 -0
  72. package/dist/server/table-areas.d.ts +4 -0
  73. package/dist/server/table-areas.js +112 -0
  74. package/dist/server/table-areas_asignacion_general.d.ts +2 -0
  75. package/dist/server/table-areas_asignacion_general.js +86 -0
  76. package/dist/server/table-barrios.d.ts +2 -0
  77. package/dist/server/table-barrios.js +35 -0
  78. package/dist/server/table-comunas.d.ts +2 -0
  79. package/dist/server/table-comunas.js +33 -0
  80. package/dist/server/table-control_campo.d.ts +12 -0
  81. package/dist/server/table-control_campo.js +119 -0
  82. package/dist/server/table-control_dias_carga.d.ts +2 -0
  83. package/dist/server/table-control_dias_carga.js +63 -0
  84. package/dist/server/table-control_resumen.d.ts +2 -0
  85. package/dist/server/table-control_resumen.js +19 -0
  86. package/dist/server/table-diccionario.d.ts +2 -0
  87. package/dist/server/table-diccionario.js +32 -0
  88. package/dist/server/table-dictra.d.ts +2 -0
  89. package/dist/server/table-dictra.js +46 -0
  90. package/dist/server/table-dicvar.d.ts +2 -0
  91. package/dist/server/table-dicvar.js +32 -0
  92. package/dist/server/table-encuestadores.d.ts +13 -0
  93. package/dist/server/table-encuestadores.js +75 -0
  94. package/dist/server/table-estados.d.ts +2 -0
  95. package/dist/server/table-estados.js +47 -0
  96. package/dist/server/table-estados_acciones.d.ts +2 -0
  97. package/dist/server/table-estados_acciones.js +40 -0
  98. package/dist/server/table-fracciones.d.ts +2 -0
  99. package/dist/server/table-fracciones.js +37 -0
  100. package/dist/server/table-grilla_hoja_ruta.d.ts +2 -0
  101. package/dist/server/table-grilla_hoja_ruta.js +93 -0
  102. package/dist/server/table-historial_tem.d.ts +2 -0
  103. package/dist/server/table-historial_tem.js +57 -0
  104. package/dist/server/table-hogares.d.ts +2 -0
  105. package/dist/server/table-hogares.js +156 -0
  106. package/dist/server/table-hogares_sup.d.ts +2 -0
  107. package/dist/server/table-hogares_sup.js +191 -0
  108. package/dist/server/table-inconsistencias_cumplen_condicion.d.ts +2 -0
  109. package/dist/server/table-inconsistencias_cumplen_condicion.js +33 -0
  110. package/dist/server/table-manzanas.d.ts +2 -0
  111. package/dist/server/table-manzanas.js +36 -0
  112. package/dist/server/table-mis_encuestadores.d.ts +2 -0
  113. package/dist/server/table-mis_encuestadores.js +77 -0
  114. package/dist/server/table-mis_tareas.d.ts +2 -0
  115. package/dist/server/table-mis_tareas.js +18 -0
  116. package/dist/server/table-mis_tareas_areas.d.ts +2 -0
  117. package/dist/server/table-mis_tareas_areas.js +20 -0
  118. package/dist/server/table-modos_dm.d.ts +2 -0
  119. package/dist/server/table-modos_dm.js +28 -0
  120. package/dist/server/table-no_rea.js +38 -0
  121. package/dist/server/table-no_rea_sup.js +36 -0
  122. package/dist/server/table-operaciones.d.ts +2 -0
  123. package/dist/server/table-operaciones.js +30 -0
  124. package/dist/server/table-parametros.d.ts +2 -0
  125. package/dist/server/table-parametros.js +40 -0
  126. package/dist/server/table-permisos.d.ts +2 -0
  127. package/dist/server/table-permisos.js +31 -0
  128. package/dist/server/table-personal.d.ts +5 -0
  129. package/dist/server/table-personal.js +62 -0
  130. package/dist/server/table-personal_rol.d.ts +2 -0
  131. package/dist/server/table-personal_rol.js +42 -0
  132. package/dist/server/table-personas.d.ts +2 -0
  133. package/dist/server/table-personas.js +448 -0
  134. package/dist/server/table-personas_sup.d.ts +2 -0
  135. package/dist/server/table-personas_sup.js +93 -0
  136. package/dist/server/table-radios.d.ts +2 -0
  137. package/dist/server/table-radios.js +37 -0
  138. package/dist/server/table-rea.d.ts +2 -0
  139. package/dist/server/table-rea.js +38 -0
  140. package/dist/server/table-rea_sup.d.ts +2 -0
  141. package/dist/server/table-rea_sup.js +38 -0
  142. package/dist/server/table-recepcionistas.d.ts +2 -0
  143. package/dist/server/table-recepcionistas.js +18 -0
  144. package/dist/server/table-recuperadores.d.ts +2 -0
  145. package/dist/server/table-recuperadores.js +18 -0
  146. package/dist/server/table-roles.d.ts +2 -0
  147. package/dist/server/table-roles.js +33 -0
  148. package/dist/server/table-roles_permisos.d.ts +2 -0
  149. package/dist/server/table-roles_permisos.js +36 -0
  150. package/dist/server/table-roles_subordinados.d.ts +2 -0
  151. package/dist/server/table-roles_subordinados.js +31 -0
  152. package/dist/server/table-semanas.d.ts +2 -0
  153. package/dist/server/table-semanas.js +42 -0
  154. package/dist/server/table-sincronizaciones.d.ts +2 -0
  155. package/dist/server/table-sincronizaciones.js +30 -0
  156. package/dist/server/table-supervisores.d.ts +2 -0
  157. package/dist/server/table-supervisores.js +18 -0
  158. package/dist/server/table-tareas.d.ts +2 -0
  159. package/dist/server/table-tareas.js +48 -0
  160. package/dist/server/table-tareas_areas.d.ts +7 -0
  161. package/dist/server/table-tareas_areas.js +112 -0
  162. package/dist/server/table-tareas_proximas.d.ts +2 -0
  163. package/dist/server/table-tareas_proximas.js +48 -0
  164. package/dist/server/table-tareas_tem.d.ts +14 -0
  165. package/dist/server/table-tareas_tem.js +206 -0
  166. package/dist/server/table-tareas_tem_analisis_campo.d.ts +2 -0
  167. package/dist/server/table-tareas_tem_analisis_campo.js +31 -0
  168. package/dist/server/table-tareas_tem_fin_campo.d.ts +3 -0
  169. package/dist/server/table-tareas_tem_fin_campo.js +56 -0
  170. package/dist/server/table-tareas_tem_ingreso.d.ts +2 -0
  171. package/dist/server/table-tareas_tem_ingreso.js +31 -0
  172. package/dist/server/table-tareas_tem_procesamiento.d.ts +2 -0
  173. package/dist/server/table-tareas_tem_procesamiento.js +34 -0
  174. package/dist/server/table-tareas_tem_recepcion.d.ts +6 -0
  175. package/dist/server/table-tareas_tem_recepcion.js +59 -0
  176. package/dist/server/table-tem.d.ts +3 -0
  177. package/dist/server/table-tem.js +247 -0
  178. package/dist/server/table-tem_asignacion.d.ts +2 -0
  179. package/dist/server/table-tem_asignacion.js +50 -0
  180. package/dist/server/table-tem_borradas.d.ts +2 -0
  181. package/dist/server/table-tem_borradas.js +35 -0
  182. package/dist/server/table-usuarios.d.ts +2 -0
  183. package/dist/server/table-usuarios.js +63 -0
  184. package/dist/server/table-visitas.d.ts +2 -0
  185. package/dist/server/table-visitas.js +91 -0
  186. package/dist/server/table-visitas_sup.d.ts +2 -0
  187. package/dist/server/table-visitas_sup.js +91 -0
  188. package/dist/server/table-viviendas.d.ts +2 -0
  189. package/dist/server/table-viviendas.js +299 -0
  190. package/dist/server/types-dmencu.d.ts +114 -0
  191. package/dist/server/types-dmencu.js +34 -0
  192. package/dist/server/unlogged/tipos.d.ts +93 -41
  193. package/dist/server/unlogged/tipos.js +1 -1
  194. package/dist/test/app-para-tests.d.ts +1117 -0
  195. package/dist/test/app-para-tests.js +95 -0
  196. package/dist/test/test-ayuda.d.ts +1 -0
  197. package/dist/test/test-ayuda.js +183 -0
  198. package/dist/test/test-caches-rea.d.ts +1 -0
  199. package/dist/test/test-caches-rea.js +243 -0
  200. package/dist/test/test-helpers-casilleros.d.ts +1 -0
  201. package/dist/test/test-helpers-casilleros.js +154 -0
  202. package/dist/test/test-helpers-formulario.d.ts +1 -0
  203. package/dist/test/test-helpers-formulario.js +95 -0
  204. package/dist/test/test-impacto-rea-no-rea-en-bd.d.ts +1 -0
  205. package/dist/test/test-impacto-rea-no-rea-en-bd.js +243 -0
  206. package/dist/test/test-menu-segun-rol.d.ts +1 -0
  207. package/dist/test/test-menu-segun-rol.js +170 -0
  208. package/dist/test/test-setters-rea-no-rea.d.ts +1 -0
  209. package/dist/test/test-setters-rea-no-rea.js +95 -0
  210. package/dist/test/test.d.ts +7 -0
  211. package/dist/test/test.js +9 -2
  212. package/dist/unlogged/helpers-casilleros.d.ts +1 -1
  213. package/dist/unlogged/helpers-casilleros.js +12 -18
  214. package/dist/unlogged/helpers-formulario.d.ts +16 -0
  215. package/dist/unlogged/helpers-formulario.js +88 -0
  216. package/dist/unlogged/tipos.d.ts +20 -2
  217. package/dist/unlogged/tipos.js +1 -1
  218. package/dist/unlogged/unlogged/abrir-formulario.js +1 -1
  219. package/dist/unlogged/unlogged/bypass-formulario.d.ts +6 -42
  220. package/dist/unlogged/unlogged/bypass-formulario.js +84 -219
  221. package/dist/unlogged/unlogged/css/formulario-react.styl +9 -0
  222. package/dist/unlogged/unlogged/helpers-casilleros.js +7 -14
  223. package/dist/unlogged/unlogged/helpers-formulario.d.ts +16 -0
  224. package/dist/unlogged/unlogged/helpers-formulario.js +88 -0
  225. package/dist/unlogged/unlogged/redux-formulario.d.ts +1 -2
  226. package/dist/unlogged/unlogged/redux-formulario.js +21 -31
  227. package/dist/unlogged/unlogged/render-config.d.ts +5 -1
  228. package/dist/unlogged/unlogged/render-config.js +14 -1
  229. package/dist/unlogged/unlogged/render-formulario.d.ts +3 -6
  230. package/dist/unlogged/unlogged/render-formulario.js +71 -69
  231. package/dist/unlogged/unlogged/render-formulario.tsx +100 -57
  232. package/dist/unlogged/unlogged/render-general.d.ts +2 -0
  233. package/dist/unlogged/unlogged/render-general.js +2 -1
  234. package/dist/unlogged/unlogged/render-general.tsx +2 -1
  235. package/dist/unlogged/unlogged/render-init.d.ts +1 -0
  236. package/dist/unlogged/unlogged/render-init.js +9 -2
  237. package/dist/unlogged/unlogged/tipos.d.ts +93 -41
  238. package/dist/unlogged/unlogged/tipos.js +1 -1
  239. package/dist/unlogged/unlogged/unlogged.js +15 -2
  240. package/install/accion_cumple_condicion.sql +1 -1
  241. package/install/generador_accion_cumple_condicion.sql +2 -2
  242. package/install/tarea_cumple_condicion.sql +1 -1
  243. package/install/xcalcular_resultado_trg.sql +1 -1
  244. package/package.json +24 -18
  245. package/dist/server/server/table-no_rea copy.js +0 -38
  246. package/dist/server/server/table-no_rea_sup copy.js +0 -36
  247. package/dist/unlogged/bypass-formulario.d.ts +0 -198
  248. package/dist/unlogged/bypass-formulario.js +0 -1226
  249. package/dist/unlogged/redux-formulario.d.ts +0 -440
  250. package/dist/unlogged/redux-formulario.js +0 -324
  251. package/dist/unlogged/render-config.d.ts +0 -52
  252. package/dist/unlogged/render-config.js +0 -161
  253. package/dist/unlogged/unlogged/bypass-formulario copy.d.ts +0 -198
  254. package/dist/unlogged/unlogged/bypass-formulario copy.js +0 -1226
  255. package/dist/unlogged/unlogged/helpers.d.ts +0 -14
  256. package/dist/unlogged/unlogged/helpers.js +0 -129
  257. /package/dist/server/{server/table-no_rea copy.d.ts → table-no_rea.d.ts} +0 -0
  258. /package/dist/server/{server/table-no_rea_sup copy.d.ts → table-no_rea_sup.d.ts} +0 -0
@@ -226,7 +226,7 @@
226
226
  from tem t left join (
227
227
  select tt.operativo, tt.enc, bool_or(cargado) cargado, string_agg(cargado_dm,',') cargado_dm,jsonb_object_agg(tarea,jsonb_build_object('asignado',asignado,'cargado',cargado,'cargado_dm',cargado_dm))etareas
228
228
  from tareas_tem tt group by tt.operativo, tt.enc )tt on t.operativo=tt.operativo and t.enc=tt.enc
229
- left join no_rea y on y.no_rea::integer=t.norea
229
+ left join no_rea y on y.no_rea=t.norea
230
230
  left join ${sqlTools.quoteIdent(procesamiento_1.OperativoGenerator.mainTD)} aux on aux.operativo=t.operativo and aux.${sqlTools.quoteIdent(procesamiento_1.OperativoGenerator.mainTDPK)}=t.enc
231
231
  left join usuarios usu_enc on usu_enc.idper = tt.etareas->'encu'->>'asignado'
232
232
  left join usuarios usu_rec on usu_rec.idper = tt.etareas->'recu'->>'asignado'
@@ -244,4 +244,4 @@
244
244
  return def;
245
245
  }
246
246
  });
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS10ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFvQmIsa0JBcU5LO0lBdE9MLGlEQUFrRDtJQUNsRCxzQ0FBc0M7SUFHL0IsSUFBSSxrQkFBa0IsR0FBRyxHQUFxQixFQUFFLENBQUM7UUFDcEQsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFlLFFBQVEsRUFBQyxTQUFTLEVBQUcsUUFBUSxFQUFFLEtBQUssRUFBRztRQUN0RSxFQUFDLElBQUksRUFBQyxVQUFVLEVBQWUsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLGNBQWMsRUFBVyxRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFtQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsY0FBYyxFQUFXLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBRztRQUN0RSxFQUFDLElBQUksRUFBQyxZQUFZLEVBQWEsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBZSxRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFnQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFpQixR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QUFDO0lBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIENvbnRleHRGb3JEdW1wLCBGaWVsZERlZmluaXRpb259IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5pbXBvcnQge09wZXJhdGl2b0dlbmVyYXRvciB9IGZyb20gXCJwcm9jZXNhbWllbnRvXCI7XHJcbmltcG9ydCAqIGFzIHNxbFRvb2xzIGZyb20gJ3NxbC10b29scyc7XHJcblxyXG5cclxuZXhwb3J0IHZhciBnZXREb21pY2lsaW9GaWVsZHMgPSAoKTpGaWVsZERlZmluaXRpb25bXSA9PiBbXHJcbiAgICB7bmFtZTonY29kY2FsbGUnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J25vbWNhbGxlJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOiducm9jYXRhc3RyYWwnICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZToncGlzbycgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J2RlcGFydGFtZW50bycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOidoYWJpdGFjaW9uJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZTonc2VjdG9yJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J2VkaWZpY2lvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOidlbnRyYWRhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZTonYmFycmlvJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG5dXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGVtKGNvbnRleHQ6Q29udGV4dEZvckR1bXAsIG9wdHM/OmFueSk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIHZhciBvcHRzPW9wdHN8fHt9O1xyXG4gICAgdmFyIHJlY2VwY2lvbj1vcHRzLnJlY2VwY2lvbj8nX3JlY2VwY2lvbic6Jyc7XHJcbiAgICB2YXIgYmU9Y29udGV4dC5iZTtcclxuICAgIHZhciBwdWVkZUVkaXRhckNhbXBvID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJztcclxuICAgIHZhciBwdWVkZUVkaXRhclByb2MgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzPy5wcm9jZXNhcjtcclxuXHJcbiAgICB2YXIgY29sdW1uYXNBcmVhc1BhcmFMYVRlbT1bJ29ic19yZWNlcGNpb25pc3RhJywndmVyaWZpY2Fkb19yZWMnLCdyZWNlcGNpb25pc3RhJ107XHJcblxyXG4gICAgdmFyIGNvbHVtbmFzTm9SZWE9W1xyXG4gICAgICAgIHtuYW1lOidncnVfbm9fcmVhJywgZXhwcjogJ2dydXBvJyB9XHJcbiAgICBdO1xyXG4gICAgdmFyIGNvbHVtbmFzU29sb1RlbT1bXHJcbiAgICAgICAgICAnZW5jX29yaWdpbmFsJyAgICwgJ2pzb25fZW5jdWVzdGEnICAgICAgLCAnanNvbl9iYWNrdXAnLCAnZmVjaGFfbW9kaWZfZW5jdWVzdGEnLCAnZmVjaGFfYmFja3VwJ1xyXG4gICAgICAgICwgJ2g0JyAgICAgICAgICAgICAsICd4JyAgICAgICAsICd5JyAgICAgICwgJ2ZleHAnXHJcbiAgICBdO1xyXG4gICAgdmFyIGRlZjogVGFibGVEZWZpbml0aW9uPSB7XHJcbiAgICAgICAgbmFtZTpgdGVtJHtyZWNlcGNpb259YCxcclxuICAgICAgICB0YWJsZU5hbWU6J3RlbScsXHJcbiAgICAgICAgbXVlc3RyYUFicmlyRW5Ub2Rhc0xhc1RhcmVhczp0cnVlLFxyXG4gICAgICAgIGFsbG93OntcclxuICAgICAgICAgICAgaW5zZXJ0OmZhbHNlLFxyXG4gICAgICAgICAgICBkZWxldGU6Y29udGV4dC5mb3JEdW1wLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdGFibGU6IHB1ZWRlRWRpdGFyQ2FtcG98fHB1ZWRlRWRpdGFyUHJvYyxcclxuICAgICAgICBoaWRkZW5Db2x1bW5zOltcclxuICAgICAgICAgICAgJ3NlbGVjY2lvbmFkb19hbnQnLCdjaXRhJywnbm90YXMnLCAnY2x1c3RlcicsICdjb2R2aXZpZW5kYXBhcnRpY3VsYXInLCAnY2FzYScsICdvYnNkYXRvc2RvbWljaWxpbycsICdvYnNjb25qdW50bycsICdyZXNlcnZhJywgJ3JvdGFjaW9uX2V0b2knLCAncm90YWNpb25fZWFoJ1xyXG4gICAgICAgICAgICAsICd0cmltZXN0cmUnICAgLCAncHJvY2VkZW5jaWEnLCAnc2VsX2V0b2lfdmlsbGEnICAgLCAnbWFyY28nICAgICAgLCAnc2VtYW5hJyAsICdwZXJpb2RpY2lkYWQnIFxyXG4gICAgICAgICAgICAsICdjYXJnYWRvX2RtJywgJ2VzdGFkb3NfX3Blcm1pdGVfZWRpdGFyX2VuY3Vlc3RhJ1xyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJmaWVsZHNcIjogW1xyXG4gICAgICAgICAgICB7bmFtZTonb3BlcmF0aXZvJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAnZXRvaTIxMSd9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6IFwiYWJyaXJcIiAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2FicmlyJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiY29uc2lzdGlyXCIgICAgICAgICAgICAsIHR5cGVOYW1lOiAndGV4dCcgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidjb25zaXN0aXInfSxcclxuICAgICAgICAgICAge25hbWU6IFwiY2x1c3RlclwiICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlLCBpc05hbWU6dHJ1ZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOid0YXJlYV9hY3R1YWwnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiaGFiaWxpdGFyXCIgICAgICAgICAgICAsIHR5cGVOYW1lOiBcInRleHRcIiAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2hhYmlsaXRhcid9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImhhYmlsaXRhZGFcIiAgICAgICAgICAgLCB0eXBlTmFtZTogJ2Jvb2xlYW4nLCBlZGl0YWJsZTpwdWVkZUVkaXRhckNhbXBvLCBudWxsYWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonem9uYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jX2FudCcgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYV9hbnQnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsZWNjaW9uYWRvX2FudCcgICAgICwgdHlwZU5hbWU6J2pzb25iJyAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2l0YScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IHRydWUgICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVhJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWEnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9oJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9wJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsZWNjaW9uYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4vLyAgICAgICAgICAgIHtuYW1lOidzZXhvX3NlbCcgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbi8vICAgICAgICAgICAge25hbWU6J2VkYWRfc2VsJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VsdGFkbycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2dydV9ub19yZWEnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkbycgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXJnYWRvJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonZW5jdV9oYWJpbGl0YWRhJyAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J2VuY3VfY2FyZ2FkbycgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jdWVzdGFkb3InICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub21icmVfZW5jJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FwZWxsaWRvX2VuYycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidyZWN1X2hhYmlsaXRhZGEnICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZToncmVjdV9jYXJnYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZWN1cGVyYWRvcicgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25vbWJyZV9yZWMnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXBlbGxpZG9fcmVjJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3N1cGVfaGFiaWxpdGFkYScgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidzdXBlX2NhcmdhZG8nICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzb3InICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9tYnJlX3N1cCcgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidhcGVsbGlkb19zdXAnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlYV9zdXAnICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWFfc3VwJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkb19zdXAnICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3ByZV9zb3J0ZW8nICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UsIHZpc2libGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzaW9uX2FsZWF0b3JpYScsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb25fZGlyaWdpZGEnICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzdXBlcnZpc2lvbicgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VsdF9zdXAnICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXJDYW1wb30sXHJcbiAgICAgICAgICAgIHtuYW1lOidmaW5fY2FtcG8nICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXJDYW1wbyAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Byb2llJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhckNhbXBvfHxwdWVkZUVkaXRhclByb2MgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXNlX3RhYmxhJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC4uLmdldERvbWljaWxpb0ZpZWxkcygpLFxyXG4gICAgICAgICAgICAvL3tuYW1lOiBcInZlcmlmaWNhclwiICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nLCBlZGl0YWJsZTp0cnVlLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOid2ZXJpZmljYXJDYXNvJ30sXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwiZmluYWxpemFyX2NhbXBvXCIgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2ZpbmFsaXphckNhbXBvJ30sIC8vZmluX2RlX2NhbXBvXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwicHJvY2VzYW1pZW50b1wiICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J3Bhc2FyQVByb2Nlc2FtaWVudG8nLCBsYWJlbDogJ3Bhc2FyIGEgcHJvY2VzYW1pZW50byd9LCAvL3Byb2Nlc2FtaWVudG9cclxuICAgICAgICAgICAge25hbWU6J2ZleHAnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FyZWF1cCcgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NvZHBvcycgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2RvbWluaW8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2VzdHJhdG9faW5nJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2lkX21hcmNvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29icycgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2NvbXVuYScgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2ZyYWNjaW9uJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb3JhZGlvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb21hbnphbmEnICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2xhZG8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Vzb2RvbWljaWxpbycgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29yZGVuX3JlbGV2YW1pZW50bycgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J21hcGEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6IFwiY29uc2lzdGlkb1wiICAgICAgICAgICwgdHlwZU5hbWU6ICd0aW1lc3RhbXAnLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FyZ2Fkb19kbScgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXJ0aWNpcGFjaW9uJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncm90YWNpb24nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogdHJ1ZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NsYXNlJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYW5lbCcgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICAvL3ZhY2lvcyBvIHBvY28gaW50ZXJlc2FudGVzXHJcbiAgICAgICAgICAgIHtuYW1lOidjb2R2aXZpZW5kYXBhcnRpY3VsYXInLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXNhJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvYnNkYXRvc2RvbWljaWxpbycgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvYnNjb25qdW50bycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXNlcnZhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyb3RhY2lvbl9ldG9pJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JvdGFjaW9uX2VhaCcgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTondHJpbWVzdHJlJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwcm9jZWRlbmNpYScgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbF9ldG9pX3ZpbGxhJyAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbWFyY28nICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzZW1hbmEnICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BlcmlvZGljaWRhZCcgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3NvbG8gdGVtIFxyXG4gICAgICAgICAgICB7bmFtZTonZmVjaGFfbW9kaWZfZW5jdWVzdGEnICwgdHlwZU5hbWU6IFwidGltZXN0YW1wXCIsIGVkaXRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonanNvbl9lbmN1ZXN0YScgICAgICAgICwgdHlwZU5hbWU6J2pzb25iJyAgICAgLCBlZGl0YWJsZTpmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2ZlY2hhX2JhY2t1cCcgICAgICAgICAsIHR5cGVOYW1lOiBcInRpbWVzdGFtcFwiLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwianNvbl9iYWNrdXBcIiAgICAgICAgICAsIHR5cGVOYW1lOidqc29uYicgICAsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwidG9rZW5fYXV0b2dlbmVyYWRvX2RtXCIsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiZW5jX2F1dG9nZW5lcmFkb19kbVwiICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJlbmNfYXV0b2dlbmVyYWRvX2RtX2NhcGFcIiwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImg0XCIgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwieFwiICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidkZWNpbWFsJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJ5XCIgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2RlY2ltYWwnICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm90YXMnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlLCBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6XCJtb2RpZmljYWRvXCIgICAgICAgICAgICwgdHlwZU5hbWU6ICd0aW1lc3RhbXAnLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTogXCJsaWJyZVwiICwgdHlwZU5hbWU6IFwiYm9vbGVhblwiLCBkZWZhdWx0RGJWYWx1ZTpcInRydWVcIiAgLCB2aXNpYmxlOmZhbHNlLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImZlY2hhX2Jsb3F1ZW9cIiwgdHlwZU5hbWU6IFwidGltZXN0YW1wXCIsIHZpc2libGU6ZmFsc2UsIGVkaXRhYmxlOmZhbHNlfVxyXG4gICAgICAgICAgICAvL3tuYW1lOidvYnNfc3VwJyAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgLCBlZGl0YWJsZTogaXNTdXBlcnZpc29yICAgICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidvYnNfY29vcicgICAgICAgLCB0eXBlTmFtZTondGV4dCcgLCBlZGl0YWJsZTogaXNDb29yZGluYWRvciB8fCBpc1N1YkNvb3JkaW5hZG9yIH0sICBcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwicHJpbWFyeUtleVwiOiBbIFwib3BlcmF0aXZvXCIsIFwiZW5jXCIgXSxcclxuICAgICAgICBmb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidhcmVhcycgICAsIGZpZWxkczpbJ29wZXJhdGl2bycsICdhcmVhJ119LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOid0YXJlYXMnICwgXHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6W1xyXG4gICAgICAgICAgICAgICAgICAgIHtzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30sXHJcbiAgICAgICAgICAgICAgICAgICAge3NvdXJjZTondGFyZWFfYWN0dWFsJywgdGFyZ2V0Oid0YXJlYSd9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgYWxpYXM6J3RhcmFjdCdcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3NlbWFuYXMnLCBmaWVsZHM6W1wib3BlcmF0aXZvXCIsIFwic2VtYW5hXCJdfVxyXG4gICAgICAgIC8vICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2FfcGVyc29uYScsIHRhcmdldDonaWRwZXInfV0sIGRpc3BsYXlGaWVsZHM6WydhcGVsbGlkbycsJ25vbWJyZSddfSxcclxuICAgICAgICBdLCAgICAgICAgXHJcbiAgICAgICAgc29mdEZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3Rva2VucycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2Fkb19kbScsIHRhcmdldDondG9rZW4nfV0sIGRpc3BsYXlGaWVsZHM6Wyd1c2VybmFtZSddLCBkaXNwbGF5QWZ0ZXJGaWVsZE5hbWU6J2NhcmdhZG8nfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJkZXRhaWxUYWJsZXNcIjogW1xyXG4gICAgICAgICAgICB7dGFibGU6IFwiaW5jb25zaXN0ZW5jaWFzXCIsIGFicjogXCJJXCIsIGZpZWxkczogW3tzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30se3NvdXJjZTonZW5jJywgdGFyZ2V0Oid2aXZpZW5kYSd9XX0sXHJcbiAgICAgICAgICAgIHt0YWJsZTogXCJoaXN0b3JpYWxfdGVtXCIsIGFicjogXCJIXCIsIGZpZWxkczogWydvcGVyYXRpdm8nLCdlbmMnXX1cclxuICAgICAgICBdLFxyXG4gICAgICAgIGNvbnN0cmFpbnRzOltcclxuICAgICAgICAgICAge2NvbnN0cmFpbnRUeXBlOidjaGVjaycsIGNvbnNOYW1lOlwidnJlc3VsdF9zdXBfY2tcIiwgZXhwcjpcIihyZXN1bHRfc3VwIGJldHdlZW4gMSBhbmQgOSBvciByZXN1bHRfc3VwIGluICgxMSwxMiwyMSwyMiApIG9yIHJlc3VsdF9zdXAgYmV0d2VlbiA2MCBhbmQgNjgpXCJ9LFxyXG4gICAgICAgICAgICB7Y29uc3RyYWludFR5cGU6J3VuaXF1ZScsIGNvbnNOYW1lOlwiYXV0b2dlbmVyYWRvX2RtX3VrXCIsIGZpZWxkczpbJ3Rva2VuX2F1dG9nZW5lcmFkb19kbScsJ2VuY19hdXRvZ2VuZXJhZG9fZG0nXX0sXHJcbiAgICAgICAgICAgIHtjb25zdHJhaW50VHlwZTondW5pcXVlJywgY29uc05hbWU6XCJhdXRvZ2VuZXJhZG9fZG1fY2FwYV91a1wiLCBmaWVsZHM6Wyd0b2tlbl9hdXRvZ2VuZXJhZG9fZG0nLCdlbmNfYXV0b2dlbmVyYWRvX2RtX2NhcGEnXX1cclxuICAgICAgICBdXHJcbiAgICB9O1xyXG4gICAgaWYgKG9wdHMucmVjZXBjaW9uKSB7XHJcbiAgICAgICAgZGVmLmZpZWxkcz1kZWYuZmllbGRzLmZpbHRlcihmPT4hY29sdW1uYXNTb2xvVGVtLmluY2x1ZGVzKGYubmFtZSkgKVxyXG4gICAgICAgIGRlZi5oaWRkZW5Db2x1bW5zPVsuLi4oZGVmLmhpZGRlbkNvbHVtbnN8fFtdKSwgLi4uY29sdW1uYXNBcmVhc1BhcmFMYVRlbS5tYXAoeD0+YGFyZWFzX18ke3h9YCldXHJcbiAgICAgICAgZGVmLmZvcmVpZ25LZXlzPWRlZi5mb3JlaWduS2V5cz8ubWFwKGZ1bmN0aW9uIChmKSB7aWYgKGYucmVmZXJlbmNlcz09J2FyZWFzJyl7Zi5kaXNwbGF5RmllbGRzPWNvbHVtbmFzQXJlYXNQYXJhTGFUZW19OyByZXR1cm4gZn0pIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBkZWYuZGV0YWlsVGFibGVzPy51bnNoaWZ0KHt0YWJsZTogXCJ0YXJlYXNfdGVtXCIsIGFicjogXCJUXCIsIGZpZWxkczogWydvcGVyYXRpdm8nLCAnZW5jJ10sIGxhYmVsOid0YXJlYXMnfSlcclxuICAgICAgICBkZWYuZmllbGRzPWRlZi5maWVsZHMuZmlsdGVyKGY9PiFjb2x1bW5hc05vUmVhLm1hcChmbj0+Zm4ubmFtZSkuaW5jbHVkZXMoZi5uYW1lKSApXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcT1jb250ZXh0LmJlLmRiLnF1b3RlSWRlbnQ7XHJcbiAgICBkZWYuc3FsPSB7XHJcbiAgICAgICAgICAgIGlzVGFibGU6IW9wdHMucmVjZXBjaW9uLCAvL1RPRE86IHJlc29sdmVyIGNvbW8gc2FjYXJsbyBkZWwgZHVtcFxyXG4gICAgICAgICAgICBpc1JlZmVyYWJsZTp0cnVlLFxyXG4gICAgICAgICAgICBmcm9tOmBcclxuICAgICAgICAgICAgICAgIChzZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAke2RlZi5maWVsZHMuZmlsdGVyKGY9PmYuaW5UYWJsZT09dW5kZWZpbmVkICYmICFmLmNsaWVudFNpZGUpLm1hcChmPT4ndC4nK3EoZi5uYW1lKSkuam9pbignLCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuY2FyZ2FkbywgdHQuY2FyZ2Fkb19kbVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J2VuY3UnLT4+J2FzaWduYWRvJyBhcyBlbmN1ZXN0YWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3JlY3UnLT4+J2FzaWduYWRvJyBhcyByZWN1cGVyYWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3N1cGUnLT4+J2FzaWduYWRvJyBhcyBzdXBlcnZpc29yXHJcbiAgICAgICAgICAgICAgICAgICAgLCBudWxsIG5vdGFzXHJcbiAgICAgICAgICAgICAgICAgICAgLCBhdXguY29uc2lzdGlkb1xyXG4gICAgICAgICAgICAgICAgICAgICwgdXN1X2VuYy5ub21icmUgYXMgbm9tYnJlX2VuY1xyXG4gICAgICAgICAgICAgICAgICAgICwgdXN1X2VuYy5hcGVsbGlkbyBhcyBhcGVsbGlkb19lbmNcclxuICAgICAgICAgICAgICAgICAgICAsIHVzdV9yZWMubm9tYnJlIGFzIG5vbWJyZV9yZWNcclxuICAgICAgICAgICAgICAgICAgICAsIHVzdV9yZWMuYXBlbGxpZG8gYXMgYXBlbGxpZG9fcmVjXHJcbiAgICAgICAgICAgICAgICAgICAgLCB1c3Vfc3VwLm5vbWJyZSBhcyBub21icmVfc3VwXHJcbiAgICAgICAgICAgICAgICAgICAgLCB1c3Vfc3VwLmFwZWxsaWRvIGFzIGFwZWxsaWRvX3N1cFxyXG4gICAgICAgICAgICAgICAgICAgICR7b3B0cy5yZWNlcGNpb24/IGNvbHVtbmFzTm9SZWEubWFwKHY9PidcXG4gICAgICwgJysgdi5leHByICsnIGFzICcrIHYubmFtZSkuam9pbignJykgOicnfVxyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gdGVtIHQgbGVmdCBqb2luIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHR0Lm9wZXJhdGl2bywgdHQuZW5jLCBib29sX29yKGNhcmdhZG8pIGNhcmdhZG8sIHN0cmluZ19hZ2coY2FyZ2Fkb19kbSwnLCcpIGNhcmdhZG9fZG0sanNvbmJfb2JqZWN0X2FnZyh0YXJlYSxqc29uYl9idWlsZF9vYmplY3QoJ2FzaWduYWRvJyxhc2lnbmFkbywnY2FyZ2FkbycsY2FyZ2FkbywnY2FyZ2Fkb19kbScsY2FyZ2Fkb19kbSkpZXRhcmVhcyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGFyZWFzX3RlbSB0dCBncm91cCBieSB0dC5vcGVyYXRpdm8sIHR0LmVuYyAgKXR0IG9uIHQub3BlcmF0aXZvPXR0Lm9wZXJhdGl2byBhbmQgdC5lbmM9dHQuZW5jXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gbm9fcmVhIHkgb24geS5ub19yZWE6OmludGVnZXI9dC5ub3JlYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luICR7c3FsVG9vbHMucXVvdGVJZGVudChPcGVyYXRpdm9HZW5lcmF0b3IubWFpblREKX0gYXV4IG9uIGF1eC5vcGVyYXRpdm89dC5vcGVyYXRpdm8gYW5kIGF1eC4ke3NxbFRvb2xzLnF1b3RlSWRlbnQoT3BlcmF0aXZvR2VuZXJhdG9yLm1haW5URFBLKX09dC5lbmMgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gdXN1YXJpb3MgdXN1X2VuYyBvbiB1c3VfZW5jLmlkcGVyID0gdHQuZXRhcmVhcy0+J2VuY3UnLT4+J2FzaWduYWRvJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHVzdWFyaW9zIHVzdV9yZWMgb24gdXN1X3JlYy5pZHBlciA9IHR0LmV0YXJlYXMtPidyZWN1Jy0+Pidhc2lnbmFkbydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB1c3VhcmlvcyB1c3Vfc3VwIG9uIHVzdV9zdXAuaWRwZXIgPSB0dC5ldGFyZWFzLT4nc3VwZSctPj4nYXNpZ25hZG8nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb2luIHVzdWFyaW9zIHVzdV9jb24gb24gdXN1X2Nvbi51c3VhcmlvID0gJHtzcWxUb29scy5xdW90ZUxpdGVyYWwoY29udGV4dC51c2VyLnVzdWFyaW8pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXN1X2Nvbi5tdWVzdHJhX2VuY3Vlc3Rhc19wcm9kIGFuZCB0LmVuY19hdXRvZ2VuZXJhZG9fZG0gaXMgbm90IG51bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXN1X2Nvbi5tdWVzdHJhX2VuY3Vlc3Rhc19jYXBhIGFuZCB0LmVuY19hdXRvZ2VuZXJhZG9fZG1fY2FwYSBpcyBub3QgbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0LmVuY19hdXRvZ2VuZXJhZG9fZG0gaXMgbnVsbCBhbmQgdC5lbmNfYXV0b2dlbmVyYWRvX2RtX2NhcGEgaXMgbnVsbFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICBgICAgICBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBkZWY7XHJcbiAgICB9XHJcbiAgICAiXX0=
247
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90YWJsZS10ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBQUEsWUFBWSxDQUFDOzs7SUFvQmIsa0JBcU5LO0lBdE9MLGlEQUFrRDtJQUNsRCxzQ0FBc0M7SUFHL0IsSUFBSSxrQkFBa0IsR0FBRyxHQUFxQixFQUFFLENBQUM7UUFDcEQsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFlLFFBQVEsRUFBQyxTQUFTLEVBQUcsUUFBUSxFQUFFLEtBQUssRUFBRztRQUN0RSxFQUFDLElBQUksRUFBQyxVQUFVLEVBQWUsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLGNBQWMsRUFBVyxRQUFRLEVBQUMsU0FBUyxFQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFtQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsY0FBYyxFQUFXLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBRztRQUN0RSxFQUFDLElBQUksRUFBQyxZQUFZLEVBQWEsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHO1FBQ3RFLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBZSxRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFnQixRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUc7UUFDdEUsRUFBQyxJQUFJLEVBQUMsUUFBUSxFQUFpQixR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QUFDO0lBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIENvbnRleHRGb3JEdW1wLCBGaWVsZERlZmluaXRpb259IGZyb20gXCIuL3R5cGVzLWRtZW5jdVwiO1xyXG5pbXBvcnQge09wZXJhdGl2b0dlbmVyYXRvciB9IGZyb20gXCJwcm9jZXNhbWllbnRvXCI7XHJcbmltcG9ydCAqIGFzIHNxbFRvb2xzIGZyb20gJ3NxbC10b29scyc7XHJcblxyXG5cclxuZXhwb3J0IHZhciBnZXREb21pY2lsaW9GaWVsZHMgPSAoKTpGaWVsZERlZmluaXRpb25bXSA9PiBbXHJcbiAgICB7bmFtZTonY29kY2FsbGUnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J25vbWNhbGxlJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOiducm9jYXRhc3RyYWwnICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZToncGlzbycgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J2RlcGFydGFtZW50bycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOidoYWJpdGFjaW9uJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZTonc2VjdG9yJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAge25hbWU6J2VkaWZpY2lvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIHtuYW1lOidlbnRyYWRhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICB7bmFtZTonYmFycmlvJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG5dXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGVtKGNvbnRleHQ6Q29udGV4dEZvckR1bXAsIG9wdHM/OmFueSk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIHZhciBvcHRzPW9wdHN8fHt9O1xyXG4gICAgdmFyIHJlY2VwY2lvbj1vcHRzLnJlY2VwY2lvbj8nX3JlY2VwY2lvbic6Jyc7XHJcbiAgICB2YXIgYmU9Y29udGV4dC5iZTtcclxuICAgIHZhciBwdWVkZUVkaXRhckNhbXBvID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJztcclxuICAgIHZhciBwdWVkZUVkaXRhclByb2MgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzPy5wcm9jZXNhcjtcclxuXHJcbiAgICB2YXIgY29sdW1uYXNBcmVhc1BhcmFMYVRlbT1bJ29ic19yZWNlcGNpb25pc3RhJywndmVyaWZpY2Fkb19yZWMnLCdyZWNlcGNpb25pc3RhJ107XHJcblxyXG4gICAgdmFyIGNvbHVtbmFzTm9SZWE9W1xyXG4gICAgICAgIHtuYW1lOidncnVfbm9fcmVhJywgZXhwcjogJ2dydXBvJyB9XHJcbiAgICBdO1xyXG4gICAgdmFyIGNvbHVtbmFzU29sb1RlbT1bXHJcbiAgICAgICAgICAnZW5jX29yaWdpbmFsJyAgICwgJ2pzb25fZW5jdWVzdGEnICAgICAgLCAnanNvbl9iYWNrdXAnLCAnZmVjaGFfbW9kaWZfZW5jdWVzdGEnLCAnZmVjaGFfYmFja3VwJ1xyXG4gICAgICAgICwgJ2g0JyAgICAgICAgICAgICAsICd4JyAgICAgICAsICd5JyAgICAgICwgJ2ZleHAnXHJcbiAgICBdO1xyXG4gICAgdmFyIGRlZjogVGFibGVEZWZpbml0aW9uPSB7XHJcbiAgICAgICAgbmFtZTpgdGVtJHtyZWNlcGNpb259YCxcclxuICAgICAgICB0YWJsZU5hbWU6J3RlbScsXHJcbiAgICAgICAgbXVlc3RyYUFicmlyRW5Ub2Rhc0xhc1RhcmVhczp0cnVlLFxyXG4gICAgICAgIGFsbG93OntcclxuICAgICAgICAgICAgaW5zZXJ0OmZhbHNlLFxyXG4gICAgICAgICAgICBkZWxldGU6Y29udGV4dC5mb3JEdW1wLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZWRpdGFibGU6IHB1ZWRlRWRpdGFyQ2FtcG98fHB1ZWRlRWRpdGFyUHJvYyxcclxuICAgICAgICBoaWRkZW5Db2x1bW5zOltcclxuICAgICAgICAgICAgJ3NlbGVjY2lvbmFkb19hbnQnLCdjaXRhJywnbm90YXMnLCAnY2x1c3RlcicsICdjb2R2aXZpZW5kYXBhcnRpY3VsYXInLCAnY2FzYScsICdvYnNkYXRvc2RvbWljaWxpbycsICdvYnNjb25qdW50bycsICdyZXNlcnZhJywgJ3JvdGFjaW9uX2V0b2knLCAncm90YWNpb25fZWFoJ1xyXG4gICAgICAgICAgICAsICd0cmltZXN0cmUnICAgLCAncHJvY2VkZW5jaWEnLCAnc2VsX2V0b2lfdmlsbGEnICAgLCAnbWFyY28nICAgICAgLCAnc2VtYW5hJyAsICdwZXJpb2RpY2lkYWQnIFxyXG4gICAgICAgICAgICAsICdjYXJnYWRvX2RtJywgJ2VzdGFkb3NfX3Blcm1pdGVfZWRpdGFyX2VuY3Vlc3RhJ1xyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJmaWVsZHNcIjogW1xyXG4gICAgICAgICAgICB7bmFtZTonb3BlcmF0aXZvJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAnZXRvaTIxMSd9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6IFwiYWJyaXJcIiAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2FicmlyJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiY29uc2lzdGlyXCIgICAgICAgICAgICAsIHR5cGVOYW1lOiAndGV4dCcgICAsIGVkaXRhYmxlOiBmYWxzZSAgLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOidjb25zaXN0aXInfSxcclxuICAgICAgICAgICAge25hbWU6IFwiY2x1c3RlclwiICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlLCBpc05hbWU6dHJ1ZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOid0YXJlYV9hY3R1YWwnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiaGFiaWxpdGFyXCIgICAgICAgICAgICAsIHR5cGVOYW1lOiBcInRleHRcIiAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2hhYmlsaXRhcid9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImhhYmlsaXRhZGFcIiAgICAgICAgICAgLCB0eXBlTmFtZTogJ2Jvb2xlYW4nLCBlZGl0YWJsZTpwdWVkZUVkaXRhckNhbXBvLCBudWxsYWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonem9uYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jX2FudCcgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXJlYV9hbnQnICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsZWNjaW9uYWRvX2FudCcgICAgICwgdHlwZU5hbWU6J2pzb25iJyAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2l0YScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IHRydWUgICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVhJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWEnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9oJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FudF9wJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonc2VsZWNjaW9uYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4vLyAgICAgICAgICAgIHtuYW1lOidzZXhvX3NlbCcgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbi8vICAgICAgICAgICAge25hbWU6J2VkYWRfc2VsJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VsdGFkbycgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2dydV9ub19yZWEnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6ZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkbycgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXJnYWRvJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZTonZW5jdV9oYWJpbGl0YWRhJyAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J2VuY3VfY2FyZ2FkbycgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jdWVzdGFkb3InICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub21icmVfZW5jJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FwZWxsaWRvX2VuYycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidyZWN1X2hhYmlsaXRhZGEnICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAgLy97bmFtZToncmVjdV9jYXJnYWRvJyAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZWN1cGVyYWRvcicgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25vbWJyZV9yZWMnICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXBlbGxpZG9fcmVjJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8ve25hbWU6J3N1cGVfaGFiaWxpdGFkYScgICAgICAsIHR5cGVOYW1lOidib29sZWFuJyAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidzdXBlX2NhcmdhZG8nICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicgLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzb3InICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9tYnJlX3N1cCcgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidhcGVsbGlkb19zdXAnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBpblRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlYV9zdXAnICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm9yZWFfc3VwJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXN1bWVuX2VzdGFkb19zdXAnICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3ByZV9zb3J0ZW8nICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2UsIHZpc2libGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3N1cGVydmlzaW9uX2FsZWF0b3JpYScsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonc3VwZXJ2aXNpb25fZGlyaWdpZGEnICwgdHlwZU5hbWU6J2ludGVnZXInICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzdXBlcnZpc2lvbicgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgICAgICwgZWRpdGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J3Jlc3VsdF9zdXAnICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXJDYW1wb30sXHJcbiAgICAgICAgICAgIHtuYW1lOidmaW5fY2FtcG8nICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogcHVlZGVFZGl0YXJDYW1wbyAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Byb2llJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBwdWVkZUVkaXRhckNhbXBvfHxwdWVkZUVkaXRhclByb2MgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXNlX3RhYmxhJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC4uLmdldERvbWljaWxpb0ZpZWxkcygpLFxyXG4gICAgICAgICAgICAvL3tuYW1lOiBcInZlcmlmaWNhclwiICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nLCBlZGl0YWJsZTp0cnVlLCBpblRhYmxlOmZhbHNlLCBjbGllbnRTaWRlOid2ZXJpZmljYXJDYXNvJ30sXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwiZmluYWxpemFyX2NhbXBvXCIgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J2ZpbmFsaXphckNhbXBvJ30sIC8vZmluX2RlX2NhbXBvXHJcbiAgICAgICAgICAgIC8ve25hbWU6IFwicHJvY2VzYW1pZW50b1wiICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIGVkaXRhYmxlOnRydWUsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J3Bhc2FyQVByb2Nlc2FtaWVudG8nLCBsYWJlbDogJ3Bhc2FyIGEgcHJvY2VzYW1pZW50byd9LCAvL3Byb2Nlc2FtaWVudG9cclxuICAgICAgICAgICAge25hbWU6J2ZleHAnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2FyZWF1cCcgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NvZHBvcycgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2RvbWluaW8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2VzdHJhdG9faW5nJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2lkX21hcmNvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29icycgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2NvbXVuYScgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2ZyYWNjaW9uJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb3JhZGlvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb21hbnphbmEnICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2xhZG8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Vzb2RvbWljaWxpbycgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J29yZGVuX3JlbGV2YW1pZW50bycgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J21hcGEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6IFwiY29uc2lzdGlkb1wiICAgICAgICAgICwgdHlwZU5hbWU6ICd0aW1lc3RhbXAnLCBlZGl0YWJsZTogZmFsc2UgLCBpblRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FyZ2Fkb19kbScgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXJ0aWNpcGFjaW9uJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICB7bmFtZToncm90YWNpb24nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogdHJ1ZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NsYXNlJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYW5lbCcgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgICAvL3ZhY2lvcyBvIHBvY28gaW50ZXJlc2FudGVzXHJcbiAgICAgICAgICAgIHtuYW1lOidjb2R2aXZpZW5kYXBhcnRpY3VsYXInLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXNhJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvYnNkYXRvc2RvbWljaWxpbycgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvYnNjb25qdW50bycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyZXNlcnZhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidyb3RhY2lvbl9ldG9pJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JvdGFjaW9uX2VhaCcgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTondHJpbWVzdHJlJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwcm9jZWRlbmNpYScgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbF9ldG9pX3ZpbGxhJyAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbWFyY28nICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzZW1hbmEnICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3BlcmlvZGljaWRhZCcgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvL3NvbG8gdGVtIFxyXG4gICAgICAgICAgICB7bmFtZTonZmVjaGFfbW9kaWZfZW5jdWVzdGEnICwgdHlwZU5hbWU6IFwidGltZXN0YW1wXCIsIGVkaXRhYmxlOmZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonanNvbl9lbmN1ZXN0YScgICAgICAgICwgdHlwZU5hbWU6J2pzb25iJyAgICAgLCBlZGl0YWJsZTpmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2ZlY2hhX2JhY2t1cCcgICAgICAgICAsIHR5cGVOYW1lOiBcInRpbWVzdGFtcFwiLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwianNvbl9iYWNrdXBcIiAgICAgICAgICAsIHR5cGVOYW1lOidqc29uYicgICAsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwidG9rZW5fYXV0b2dlbmVyYWRvX2RtXCIsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSwgdmlzaWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwiZW5jX2F1dG9nZW5lcmFkb19kbVwiICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJlbmNfYXV0b2dlbmVyYWRvX2RtX2NhcGFcIiwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTpcImg0XCIgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOlwieFwiICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidkZWNpbWFsJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6XCJ5XCIgICAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2RlY2ltYWwnICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbm90YXMnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlLCBpblRhYmxlOmZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6XCJtb2RpZmljYWRvXCIgICAgICAgICAgICwgdHlwZU5hbWU6ICd0aW1lc3RhbXAnLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTogXCJsaWJyZVwiICwgdHlwZU5hbWU6IFwiYm9vbGVhblwiLCBkZWZhdWx0RGJWYWx1ZTpcInRydWVcIiAgLCB2aXNpYmxlOmZhbHNlLCBlZGl0YWJsZTpmYWxzZX0sXHJcbiAgICAgICAgICAgIHtuYW1lOiBcImZlY2hhX2Jsb3F1ZW9cIiwgdHlwZU5hbWU6IFwidGltZXN0YW1wXCIsIHZpc2libGU6ZmFsc2UsIGVkaXRhYmxlOmZhbHNlfVxyXG4gICAgICAgICAgICAvL3tuYW1lOidvYnNfc3VwJyAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgLCBlZGl0YWJsZTogaXNTdXBlcnZpc29yICAgICB9LFxyXG4gICAgICAgICAgICAvL3tuYW1lOidvYnNfY29vcicgICAgICAgLCB0eXBlTmFtZTondGV4dCcgLCBlZGl0YWJsZTogaXNDb29yZGluYWRvciB8fCBpc1N1YkNvb3JkaW5hZG9yIH0sICBcclxuICAgICAgICBdLFxyXG4gICAgICAgIFwicHJpbWFyeUtleVwiOiBbIFwib3BlcmF0aXZvXCIsIFwiZW5jXCIgXSxcclxuICAgICAgICBmb3JlaWduS2V5czpbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOidhcmVhcycgICAsIGZpZWxkczpbJ29wZXJhdGl2bycsICdhcmVhJ119LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOid0YXJlYXMnICwgXHJcbiAgICAgICAgICAgICAgICBmaWVsZHM6W1xyXG4gICAgICAgICAgICAgICAgICAgIHtzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30sXHJcbiAgICAgICAgICAgICAgICAgICAge3NvdXJjZTondGFyZWFfYWN0dWFsJywgdGFyZ2V0Oid0YXJlYSd9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgYWxpYXM6J3RhcmFjdCdcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3NlbWFuYXMnLCBmaWVsZHM6W1wib3BlcmF0aXZvXCIsIFwic2VtYW5hXCJdfVxyXG4gICAgICAgIC8vICAgIHtyZWZlcmVuY2VzOid1c3VhcmlvcycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2FfcGVyc29uYScsIHRhcmdldDonaWRwZXInfV0sIGRpc3BsYXlGaWVsZHM6WydhcGVsbGlkbycsJ25vbWJyZSddfSxcclxuICAgICAgICBdLCAgICAgICAgXHJcbiAgICAgICAgc29mdEZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3Rva2VucycsIGZpZWxkczpbe3NvdXJjZTonY2FyZ2Fkb19kbScsIHRhcmdldDondG9rZW4nfV0sIGRpc3BsYXlGaWVsZHM6Wyd1c2VybmFtZSddLCBkaXNwbGF5QWZ0ZXJGaWVsZE5hbWU6J2NhcmdhZG8nfVxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgXCJkZXRhaWxUYWJsZXNcIjogW1xyXG4gICAgICAgICAgICB7dGFibGU6IFwiaW5jb25zaXN0ZW5jaWFzXCIsIGFicjogXCJJXCIsIGZpZWxkczogW3tzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30se3NvdXJjZTonZW5jJywgdGFyZ2V0Oid2aXZpZW5kYSd9XX0sXHJcbiAgICAgICAgICAgIHt0YWJsZTogXCJoaXN0b3JpYWxfdGVtXCIsIGFicjogXCJIXCIsIGZpZWxkczogWydvcGVyYXRpdm8nLCdlbmMnXX1cclxuICAgICAgICBdLFxyXG4gICAgICAgIGNvbnN0cmFpbnRzOltcclxuICAgICAgICAgICAge2NvbnN0cmFpbnRUeXBlOidjaGVjaycsIGNvbnNOYW1lOlwidnJlc3VsdF9zdXBfY2tcIiwgZXhwcjpcIihyZXN1bHRfc3VwIGJldHdlZW4gMSBhbmQgOSBvciByZXN1bHRfc3VwIGluICgxMSwxMiwyMSwyMiApIG9yIHJlc3VsdF9zdXAgYmV0d2VlbiA2MCBhbmQgNjgpXCJ9LFxyXG4gICAgICAgICAgICB7Y29uc3RyYWludFR5cGU6J3VuaXF1ZScsIGNvbnNOYW1lOlwiYXV0b2dlbmVyYWRvX2RtX3VrXCIsIGZpZWxkczpbJ3Rva2VuX2F1dG9nZW5lcmFkb19kbScsJ2VuY19hdXRvZ2VuZXJhZG9fZG0nXX0sXHJcbiAgICAgICAgICAgIHtjb25zdHJhaW50VHlwZTondW5pcXVlJywgY29uc05hbWU6XCJhdXRvZ2VuZXJhZG9fZG1fY2FwYV91a1wiLCBmaWVsZHM6Wyd0b2tlbl9hdXRvZ2VuZXJhZG9fZG0nLCdlbmNfYXV0b2dlbmVyYWRvX2RtX2NhcGEnXX1cclxuICAgICAgICBdXHJcbiAgICB9O1xyXG4gICAgaWYgKG9wdHMucmVjZXBjaW9uKSB7XHJcbiAgICAgICAgZGVmLmZpZWxkcz1kZWYuZmllbGRzLmZpbHRlcihmPT4hY29sdW1uYXNTb2xvVGVtLmluY2x1ZGVzKGYubmFtZSkgKVxyXG4gICAgICAgIGRlZi5oaWRkZW5Db2x1bW5zPVsuLi4oZGVmLmhpZGRlbkNvbHVtbnN8fFtdKSwgLi4uY29sdW1uYXNBcmVhc1BhcmFMYVRlbS5tYXAoeD0+YGFyZWFzX18ke3h9YCldXHJcbiAgICAgICAgZGVmLmZvcmVpZ25LZXlzPWRlZi5mb3JlaWduS2V5cz8ubWFwKGZ1bmN0aW9uIChmKSB7aWYgKGYucmVmZXJlbmNlcz09J2FyZWFzJyl7Zi5kaXNwbGF5RmllbGRzPWNvbHVtbmFzQXJlYXNQYXJhTGFUZW19OyByZXR1cm4gZn0pIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBkZWYuZGV0YWlsVGFibGVzPy51bnNoaWZ0KHt0YWJsZTogXCJ0YXJlYXNfdGVtXCIsIGFicjogXCJUXCIsIGZpZWxkczogWydvcGVyYXRpdm8nLCAnZW5jJ10sIGxhYmVsOid0YXJlYXMnfSlcclxuICAgICAgICBkZWYuZmllbGRzPWRlZi5maWVsZHMuZmlsdGVyKGY9PiFjb2x1bW5hc05vUmVhLm1hcChmbj0+Zm4ubmFtZSkuaW5jbHVkZXMoZi5uYW1lKSApXHJcbiAgICB9O1xyXG4gICAgY29uc3QgcT1jb250ZXh0LmJlLmRiLnF1b3RlSWRlbnQ7XHJcbiAgICBkZWYuc3FsPSB7XHJcbiAgICAgICAgICAgIGlzVGFibGU6IW9wdHMucmVjZXBjaW9uLCAvL1RPRE86IHJlc29sdmVyIGNvbW8gc2FjYXJsbyBkZWwgZHVtcFxyXG4gICAgICAgICAgICBpc1JlZmVyYWJsZTp0cnVlLFxyXG4gICAgICAgICAgICBmcm9tOmBcclxuICAgICAgICAgICAgICAgIChzZWxlY3RcclxuICAgICAgICAgICAgICAgICAgICAke2RlZi5maWVsZHMuZmlsdGVyKGY9PmYuaW5UYWJsZT09dW5kZWZpbmVkICYmICFmLmNsaWVudFNpZGUpLm1hcChmPT4ndC4nK3EoZi5uYW1lKSkuam9pbignLCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuY2FyZ2FkbywgdHQuY2FyZ2Fkb19kbVxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J2VuY3UnLT4+J2FzaWduYWRvJyBhcyBlbmN1ZXN0YWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3JlY3UnLT4+J2FzaWduYWRvJyBhcyByZWN1cGVyYWRvclxyXG4gICAgICAgICAgICAgICAgICAgICwgdHQuZXRhcmVhcy0+J3N1cGUnLT4+J2FzaWduYWRvJyBhcyBzdXBlcnZpc29yXHJcbiAgICAgICAgICAgICAgICAgICAgLCBudWxsIG5vdGFzXHJcbiAgICAgICAgICAgICAgICAgICAgLCBhdXguY29uc2lzdGlkb1xyXG4gICAgICAgICAgICAgICAgICAgICwgdXN1X2VuYy5ub21icmUgYXMgbm9tYnJlX2VuY1xyXG4gICAgICAgICAgICAgICAgICAgICwgdXN1X2VuYy5hcGVsbGlkbyBhcyBhcGVsbGlkb19lbmNcclxuICAgICAgICAgICAgICAgICAgICAsIHVzdV9yZWMubm9tYnJlIGFzIG5vbWJyZV9yZWNcclxuICAgICAgICAgICAgICAgICAgICAsIHVzdV9yZWMuYXBlbGxpZG8gYXMgYXBlbGxpZG9fcmVjXHJcbiAgICAgICAgICAgICAgICAgICAgLCB1c3Vfc3VwLm5vbWJyZSBhcyBub21icmVfc3VwXHJcbiAgICAgICAgICAgICAgICAgICAgLCB1c3Vfc3VwLmFwZWxsaWRvIGFzIGFwZWxsaWRvX3N1cFxyXG4gICAgICAgICAgICAgICAgICAgICR7b3B0cy5yZWNlcGNpb24/IGNvbHVtbmFzTm9SZWEubWFwKHY9PidcXG4gICAgICwgJysgdi5leHByICsnIGFzICcrIHYubmFtZSkuam9pbignJykgOicnfVxyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gdGVtIHQgbGVmdCBqb2luIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0IHR0Lm9wZXJhdGl2bywgdHQuZW5jLCBib29sX29yKGNhcmdhZG8pIGNhcmdhZG8sIHN0cmluZ19hZ2coY2FyZ2Fkb19kbSwnLCcpIGNhcmdhZG9fZG0sanNvbmJfb2JqZWN0X2FnZyh0YXJlYSxqc29uYl9idWlsZF9vYmplY3QoJ2FzaWduYWRvJyxhc2lnbmFkbywnY2FyZ2FkbycsY2FyZ2FkbywnY2FyZ2Fkb19kbScsY2FyZ2Fkb19kbSkpZXRhcmVhcyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGFyZWFzX3RlbSB0dCBncm91cCBieSB0dC5vcGVyYXRpdm8sIHR0LmVuYyAgKXR0IG9uIHQub3BlcmF0aXZvPXR0Lm9wZXJhdGl2byBhbmQgdC5lbmM9dHQuZW5jXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gbm9fcmVhIHkgb24geS5ub19yZWE9dC5ub3JlYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luICR7c3FsVG9vbHMucXVvdGVJZGVudChPcGVyYXRpdm9HZW5lcmF0b3IubWFpblREKX0gYXV4IG9uIGF1eC5vcGVyYXRpdm89dC5vcGVyYXRpdm8gYW5kIGF1eC4ke3NxbFRvb2xzLnF1b3RlSWRlbnQoT3BlcmF0aXZvR2VuZXJhdG9yLm1haW5URFBLKX09dC5lbmMgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gdXN1YXJpb3MgdXN1X2VuYyBvbiB1c3VfZW5jLmlkcGVyID0gdHQuZXRhcmVhcy0+J2VuY3UnLT4+J2FzaWduYWRvJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHVzdWFyaW9zIHVzdV9yZWMgb24gdXN1X3JlYy5pZHBlciA9IHR0LmV0YXJlYXMtPidyZWN1Jy0+Pidhc2lnbmFkbydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB1c3VhcmlvcyB1c3Vfc3VwIG9uIHVzdV9zdXAuaWRwZXIgPSB0dC5ldGFyZWFzLT4nc3VwZSctPj4nYXNpZ25hZG8nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb2luIHVzdWFyaW9zIHVzdV9jb24gb24gdXN1X2Nvbi51c3VhcmlvID0gJHtzcWxUb29scy5xdW90ZUxpdGVyYWwoY29udGV4dC51c2VyLnVzdWFyaW8pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXN1X2Nvbi5tdWVzdHJhX2VuY3Vlc3Rhc19wcm9kIGFuZCB0LmVuY19hdXRvZ2VuZXJhZG9fZG0gaXMgbm90IG51bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXN1X2Nvbi5tdWVzdHJhX2VuY3Vlc3Rhc19jYXBhIGFuZCB0LmVuY19hdXRvZ2VuZXJhZG9fZG1fY2FwYSBpcyBub3QgbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0LmVuY19hdXRvZ2VuZXJhZG9fZG0gaXMgbnVsbCBhbmQgdC5lbmNfYXV0b2dlbmVyYWRvX2RtX2NhcGEgaXMgbnVsbFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICBgICAgICBcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBkZWY7XHJcbiAgICB9XHJcbiAgICAiXX0=
@@ -1,4 +1,5 @@
1
1
  import * as bePlus from "backend-plus";
2
+ import type { ModoApp, NoRea } from "../unlogged/tipos";
2
3
  export * from 'procesamiento';
3
4
  export { emergeAppMetaEnc, emergeAppRelEnc } from 'meta-enc';
4
5
  export * from './table-tem';
@@ -7,26 +8,61 @@ export type Puede = {
7
8
  relevar?: boolean;
8
9
  justificar?: boolean;
9
10
  procesar?: boolean;
11
+ ingresar?: boolean;
10
12
  borrar_ua?: boolean;
11
13
  };
12
14
  casilleros_texto?: {
13
15
  editar?: boolean;
14
16
  };
15
17
  campo?: {
18
+ ver?: boolean;
16
19
  editar?: boolean;
17
20
  administrar?: boolean;
18
21
  };
19
22
  configurar?: {
23
+ ver?: boolean;
20
24
  editar?: boolean;
21
25
  };
26
+ consistencias?: {
27
+ editar?: boolean;
28
+ };
29
+ };
30
+ export type GrupoNoRea = {
31
+ grupo: string;
32
+ codigos: NoRea[];
22
33
  };
23
34
  export type Permisos = {
24
35
  puede?: Puede;
25
36
  superuser?: boolean;
26
37
  };
27
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
+ };
56
+ export type RolFieldTarea = {
57
+ name: string;
58
+ prefijo: string;
59
+ editable: boolean;
60
+ references: string;
61
+ muestraDispositivo: boolean;
62
+ };
28
63
  export type TableDefinition = bePlus.TableDefinition & {
29
64
  muestraAbrirEnTodasLasTareas?: boolean;
65
+ tareasFields?: RolFieldTarea[];
30
66
  };
31
67
  export type TableContext = bePlus.TableContext & {
32
68
  puede?: Puede;
@@ -43,15 +79,25 @@ declare module "backend-plus" {
43
79
  tableContent: Record<string, any>;
44
80
  metaEncIncluirCasillerosSaltoREL: boolean;
45
81
  timestampEstructura: number;
46
- permisosRol: Permisos;
47
- permisosRolSoloTrue: Permisos;
82
+ permisosRol: PermisosRol;
83
+ permisosRolSoloTrue: PermisosRol;
48
84
  permisosSuperuser: Puede;
49
85
  permisosParaNadie: Puede;
86
+ ayuda: AyudaTema[];
50
87
  }
51
88
  interface Context {
52
89
  puede?: Puede;
53
90
  superuser?: true;
54
91
  }
92
+ interface WScreens {
93
+ abrir_encuesta: true;
94
+ sincronizar_dm: true;
95
+ cambiar_modo_dm: true;
96
+ ayuda: true;
97
+ }
98
+ interface AppConfigClientSetup {
99
+ skin?: string;
100
+ }
55
101
  interface OptsClientPage {
56
102
  offlineFile: boolean;
57
103
  }
@@ -59,5 +105,10 @@ declare module "backend-plus" {
59
105
  idper: string | undefined;
60
106
  }
61
107
  }
108
+ declare module "express-session" {
109
+ interface SessionData {
110
+ install: string;
111
+ }
112
+ }
62
113
  export type MenuInfoBase = bePlus.MenuInfoBase;
63
114
  export type SufijosAmbiente = '_test' | '_capa' | '';
@@ -21,6 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  define(["require", "exports", "procesamiento", "meta-enc", "./table-tem"], factory);
22
22
  }
23
23
  })(function (require, exports) {
24
+ /// <reference types="express-session" />
24
25
  "use strict";
25
26
  Object.defineProperty(exports, "__esModule", { value: true });
26
27
  exports.emergeAppRelEnc = exports.emergeAppMetaEnc = void 0;
@@ -30,4 +31,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
30
31
  Object.defineProperty(exports, "emergeAppRelEnc", { enumerable: true, get: function () { return meta_enc_1.emergeAppRelEnc; } });
31
32
  __exportStar(require("./table-tem"), exports);
32
33
  });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtZG1lbmN1LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90eXBlcy1kbWVuY3UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUliLGdEQUE4QixDQUFDLDRCQUE0QjtJQUMzRCxxQ0FBNkQsQ0FBQyxxQ0FBcUM7SUFBMUYsNEdBQUEsZ0JBQWdCLE9BQUE7SUFBRSwyR0FBQSxlQUFlLE9BQUE7SUFDMUMsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCAqIGFzIGJlUGx1cyBmcm9tIFwiYmFja2VuZC1wbHVzXCI7XG5cbmV4cG9ydCAqIGZyb20gJ3Byb2Nlc2FtaWVudG8nOyAvL2V4cG9zZSBQcm9jZXNhbWllbnRvIHR5cGVzXG5leHBvcnQgeyBlbWVyZ2VBcHBNZXRhRW5jLCBlbWVyZ2VBcHBSZWxFbmMgfSBmcm9tICdtZXRhLWVuYyc7IC8vZXhwb3NlIHR5cGVzIG9ubHkgaW4gbWV0YS1lbmMgc3RhY2tcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtdGVtJztcblxuZXhwb3J0IHR5cGUgUHVlZGUgPSB7XG4gICAgZW5jdWVzdGFzPzoge1xuICAgICAgICByZWxldmFyPzogYm9vbGVhbixcbiAgICAgICAganVzdGlmaWNhcj86IGJvb2xlYW4sXG4gICAgICAgIHByb2Nlc2FyPzogYm9vbGVhbixcbiAgICAgICAgYm9ycmFyX3VhPzogYm9vbGVhblxuICAgIH0sXG4gICAgY2FzaWxsZXJvc190ZXh0bz86IHtcbiAgICAgICAgZWRpdGFyPzogYm9vbGVhblxuICAgIH1cbiAgICBjYW1wbz86IHtcbiAgICAgICAgZWRpdGFyPzogYm9vbGVhblxuICAgICAgICBhZG1pbmlzdHJhcj86IGJvb2xlYW5cbiAgICB9XG4gICAgY29uZmlndXJhcj86IHtcbiAgICAgICAgZWRpdGFyPzogYm9vbGVhblxuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgUGVybWlzb3MgPSB7XG4gICAgcHVlZGU/OiBQdWVkZVxuICAgIHN1cGVydXNlcj86IGJvb2xlYW5cbn1cbmV4cG9ydCB0eXBlIFBlcm1pc29zUm9sID0gUmVjb3JkPHN0cmluZywgUGVybWlzb3M+XG5cbmV4cG9ydCB0eXBlIFRhYmxlRGVmaW5pdGlvbiA9IGJlUGx1cy5UYWJsZURlZmluaXRpb24gJiB7XG4gICAgbXVlc3RyYUFicmlyRW5Ub2Rhc0xhc1RhcmVhcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlQ29udGV4dCA9IGJlUGx1cy5UYWJsZUNvbnRleHQgJiB7XG4gICAgcHVlZGU/OiBQdWVkZVxufVxuXG5kZWNsYXJlIG1vZHVsZSBcImJhY2tlbmQtcGx1c1wiIHtcbiAgICBleHBvcnQgaW50ZXJmYWNlIFByb2NlZHVyZURlZiB7XG4gICAgICAgIGRlZmluZWRJbj86IHN0cmluZ1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgRmllbGREZWZpbml0aW9uIHtcbiAgICAgICAgaXNQaz86IG51bWJlcjtcbiAgICAgICAgb3JpZ2luYWxOYW1lPzogc3RyaW5nO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVzIHtcbiAgICAgICAgdGFibGVDb250ZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgICAgIG1ldGFFbmNJbmNsdWlyQ2FzaWxsZXJvc1NhbHRvUkVMOiBib29sZWFuXG4gICAgICAgIHRpbWVzdGFtcEVzdHJ1Y3R1cmE6IG51bWJlclxuICAgICAgICBwZXJtaXNvc1JvbDogUGVybWlzb3NcbiAgICAgICAgcGVybWlzb3NSb2xTb2xvVHJ1ZTogUGVybWlzb3NcbiAgICAgICAgcGVybWlzb3NTdXBlcnVzZXI6IFB1ZWRlXG4gICAgICAgIHBlcm1pc29zUGFyYU5hZGllOiBQdWVkZVxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dCB7XG4gICAgICAgIHB1ZWRlPzogUHVlZGVcbiAgICAgICAgc3VwZXJ1c2VyPzogdHJ1ZVxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgT3B0c0NsaWVudFBhZ2Uge1xuICAgICAgICBvZmZsaW5lRmlsZTogYm9vbGVhblxuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ2xpZW50U2V0dXAge1xuICAgICAgICBpZHBlcjogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBNZW51SW5mb0Jhc2UgPSBiZVBsdXMuTWVudUluZm9CYXNlO1xuXG5leHBvcnQgdHlwZSBTdWZpam9zQW1iaWVudGUgPSAnX3Rlc3QnIHwgJ19jYXBhJyB8ICcnXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMtZG1lbmN1LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZlci90eXBlcy1kbWVuY3UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFBQSx5Q0FBeUM7SUFDekMsWUFBWSxDQUFDOzs7SUFLYixnREFBOEIsQ0FBQyw0QkFBNEI7SUFDM0QscUNBQTZELENBQUMscUNBQXFDO0lBQTFGLDRHQUFBLGdCQUFnQixPQUFBO0lBQUUsMkdBQUEsZUFBZSxPQUFBO0lBQzFDLDhDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwiZXhwcmVzcy1zZXNzaW9uXCIgLz5cblwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgKiBhcyBiZVBsdXMgZnJvbSBcImJhY2tlbmQtcGx1c1wiO1xuaW1wb3J0IHR5cGUgeyBNb2RvQXBwLCBOb1JlYSB9IGZyb20gXCIuLi91bmxvZ2dlZC90aXBvc1wiO1xuXG5leHBvcnQgKiBmcm9tICdwcm9jZXNhbWllbnRvJzsgLy9leHBvc2UgUHJvY2VzYW1pZW50byB0eXBlc1xuZXhwb3J0IHsgZW1lcmdlQXBwTWV0YUVuYywgZW1lcmdlQXBwUmVsRW5jIH0gZnJvbSAnbWV0YS1lbmMnOyAvL2V4cG9zZSB0eXBlcyBvbmx5IGluIG1ldGEtZW5jIHN0YWNrXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLXRlbSc7XG5cbi8vIGNvcnJlc3BvbmRlIGEgbGEgdGFibGEgcGVybWlzb3MgKHBlcm1pc28gLT4gYWNjacOzbiksIHZlciBpbnN0YWxsL3Blcm1pc29zLnRhYlxuZXhwb3J0IHR5cGUgUHVlZGUgPSB7XG4gICAgZW5jdWVzdGFzPzoge1xuICAgICAgICByZWxldmFyPzogYm9vbGVhbixcbiAgICAgICAganVzdGlmaWNhcj86IGJvb2xlYW4sXG4gICAgICAgIHByb2Nlc2FyPzogYm9vbGVhbixcbiAgICAgICAgaW5ncmVzYXI/OiBib29sZWFuLFxuICAgICAgICBib3JyYXJfdWE/OiBib29sZWFuXG4gICAgfSxcbiAgICBjYXNpbGxlcm9zX3RleHRvPzoge1xuICAgICAgICBlZGl0YXI/OiBib29sZWFuXG4gICAgfVxuICAgIGNhbXBvPzoge1xuICAgICAgICB2ZXI/OiBib29sZWFuXG4gICAgICAgIGVkaXRhcj86IGJvb2xlYW5cbiAgICAgICAgYWRtaW5pc3RyYXI/OiBib29sZWFuXG4gICAgfVxuICAgIGNvbmZpZ3VyYXI/OiB7XG4gICAgICAgIHZlcj86IGJvb2xlYW5cbiAgICAgICAgZWRpdGFyPzogYm9vbGVhblxuICAgIH1cbiAgICBjb25zaXN0ZW5jaWFzPzoge1xuICAgICAgICBlZGl0YXI/OiBib29sZWFuXG4gICAgfVxufVxuXG4vLyBncnVwbyBkZSBjw7NkaWdvcyBkZSBub19yZWEgKGJlLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX2dyb3VwcyB5IG5vX3JlYV9ncm91cHMwLCB2ZXIgcmVmcmVzaENhY2hlcyBlbiBhcHAtZG1lbmN1LnRzKVxuZXhwb3J0IHR5cGUgR3J1cG9Ob1JlYSA9IHsgZ3J1cG86IHN0cmluZywgY29kaWdvczogTm9SZWFbXSB9XG5cbmV4cG9ydCB0eXBlIFBlcm1pc29zID0ge1xuICAgIHB1ZWRlPzogUHVlZGVcbiAgICBzdXBlcnVzZXI/OiBib29sZWFuXG59XG5leHBvcnQgdHlwZSBQZXJtaXNvc1JvbCA9IFJlY29yZDxzdHJpbmcsIFBlcm1pc29zPlxuXG4vLyBheXVkYSBlbiBsw61uZWEgcGFyYSB1c3VhcmlvcyAodmVyIGRvY3MvYXl1ZGEtb25saW5lLm1kKVxuLy8gdW5hIGNhcnBldGEgY29uIGFyY2hpdm9zIC5tZCBkZSBheXVkYTsgbGFzIGFwcHMgZmluYWxlcyBhZ3JlZ2FuIGxhcyBzdXlhcyBlbiBnZXRBeXVkYUZ1ZW50ZXNcbmV4cG9ydCB0eXBlIEF5dWRhRnVlbnRlID0ge1xuICAgIG9yaWdlbjogc3RyaW5nIC8vIG5vbWJyZSBkZSBsYSBhcHAgbyBwYXF1ZXRlLCBwYXJhIGxvcyBtZW5zYWplcyBkZSBlcnJvclxuICAgIGNhcnBldGE6IHN0cmluZ1xufVxuLy8gdW4gYXJjaGl2byBkZSBheXVkYSB5YSBsZcOtZG86IGVuY2FiZXphZG8gKyBjb250ZW5pZG8gY29udmVydGlkbyBhIGh0bWxcbmV4cG9ydCB0eXBlIEF5dWRhVGVtYSA9IHtcbiAgICBpZDogc3RyaW5nXG4gICAgdGl0dWxvOiBzdHJpbmdcbiAgICBvcmRlbjogbnVtYmVyXG4gICAgcGVybWlzb3M6IHN0cmluZ1tdIC8vIFwicGVybWlzby5hY2Npb25cIjsgYWxjYW56YSBjb24gdGVuZXIgYWxndW5vXG4gICAgcm9sZXM6IHN0cmluZ1tdIC8vIGFsY2FuemEgY29uIHRlbmVyIGFsZ3Vub1xuICAgIG1vZG86IE1vZG9BcHAgfCBudWxsIC8vIG51bGw6IGVuIGFtYm9zIG1vZG9zXG4gICAgbWVudTogc3RyaW5nW10gLy8gcnV0YXMgZGUgbGFzIG9wY2lvbmVzIGRlbCBtZW7DuiBxdWUgZXhwbGljYSwgcG9yIGVqZW1wbG8gXCJhc2lnbmFjaW9uL2VuY3Vlc3RhZG9yXCJcbiAgICBvY3VsdGFyOiBib29sZWFuIC8vIHF1aXRhIHVuIHRlbWEgZGUgb3RyYSBmdWVudGUgY29uIGVsIG1pc21vIGlkXG4gICAgb3JpZ2VuOiBzdHJpbmdcbiAgICBhcmNoaXZvOiBzdHJpbmdcbiAgICBodG1sOiBzdHJpbmdcbn1cblxuLy8gY2FtcG8gcG9yIHJvbCBxdWUgc2UgYWdyZWdhIHBhcmEgY2FkYSB0YXJlYSBlbiBhcmVhc19hc2lnbmFjaW9uX2dlbmVyYWxcbmV4cG9ydCB0eXBlIFJvbEZpZWxkVGFyZWEgPSB7XG4gICAgbmFtZTogc3RyaW5nXG4gICAgcHJlZmlqbzogc3RyaW5nXG4gICAgZWRpdGFibGU6IGJvb2xlYW5cbiAgICByZWZlcmVuY2VzOiBzdHJpbmdcbiAgICBtdWVzdHJhRGlzcG9zaXRpdm86IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgVGFibGVEZWZpbml0aW9uID0gYmVQbHVzLlRhYmxlRGVmaW5pdGlvbiAmIHtcbiAgICBtdWVzdHJhQWJyaXJFblRvZGFzTGFzVGFyZWFzPzogYm9vbGVhbjtcbiAgICB0YXJlYXNGaWVsZHM/OiBSb2xGaWVsZFRhcmVhW107XG59XG5cbmV4cG9ydCB0eXBlIFRhYmxlQ29udGV4dCA9IGJlUGx1cy5UYWJsZUNvbnRleHQgJiB7XG4gICAgcHVlZGU/OiBQdWVkZVxufVxuXG5kZWNsYXJlIG1vZHVsZSBcImJhY2tlbmQtcGx1c1wiIHtcbiAgICBleHBvcnQgaW50ZXJmYWNlIFByb2NlZHVyZURlZiB7XG4gICAgICAgIGRlZmluZWRJbj86IHN0cmluZ1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgRmllbGREZWZpbml0aW9uIHtcbiAgICAgICAgaXNQaz86IG51bWJlcjtcbiAgICAgICAgb3JpZ2luYWxOYW1lPzogc3RyaW5nO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVzIHtcbiAgICAgICAgdGFibGVDb250ZW50OiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgICAgIG1ldGFFbmNJbmNsdWlyQ2FzaWxsZXJvc1NhbHRvUkVMOiBib29sZWFuXG4gICAgICAgIHRpbWVzdGFtcEVzdHJ1Y3R1cmE6IG51bWJlclxuICAgICAgICBwZXJtaXNvc1JvbDogUGVybWlzb3NSb2xcbiAgICAgICAgcGVybWlzb3NSb2xTb2xvVHJ1ZTogUGVybWlzb3NSb2xcbiAgICAgICAgcGVybWlzb3NTdXBlcnVzZXI6IFB1ZWRlXG4gICAgICAgIHBlcm1pc29zUGFyYU5hZGllOiBQdWVkZVxuICAgICAgICBheXVkYTogQXl1ZGFUZW1hW11cbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIENvbnRleHQge1xuICAgICAgICBwdWVkZT86IFB1ZWRlXG4gICAgICAgIHN1cGVydXNlcj86IHRydWVcbiAgICB9XG5cbiAgICAvLyBwYW50YWxsYXMgcHJvcGlhcyBkZSBkbWVuY3UgcXVlIHNlIHVzYW4gY29tbyBtZW51VHlwZSAoZGVmaW5pZGFzIGVuIGNsaWVudC50cyBjb21vIG15T3duLndTY3JlZW5zLiopXG4gICAgZXhwb3J0IGludGVyZmFjZSBXU2NyZWVucyB7XG4gICAgICAgIGFicmlyX2VuY3Vlc3RhOiB0cnVlXG4gICAgICAgIHNpbmNyb25pemFyX2RtOiB0cnVlXG4gICAgICAgIGNhbWJpYXJfbW9kb19kbTogdHJ1ZVxuICAgICAgICBheXVkYTogdHJ1ZVxuICAgIH1cblxuICAgIC8vIGJhY2tlbmQtcGx1cyB1c2EgY29uZmlnWydjbGllbnQtc2V0dXAnXS5za2luIHBlcm8gbm8gbG8gZGVjbGFyYVxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQXBwQ29uZmlnQ2xpZW50U2V0dXAge1xuICAgICAgICBza2luPzogc3RyaW5nXG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBPcHRzQ2xpZW50UGFnZSB7XG4gICAgICAgIG9mZmxpbmVGaWxlOiBib29sZWFuXG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBDbGllbnRTZXR1cCB7XG4gICAgICAgIGlkcGVyOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlIFwiZXhwcmVzcy1zZXNzaW9uXCIge1xuICAgIGludGVyZmFjZSBTZXNzaW9uRGF0YSB7XG4gICAgICAgIGluc3RhbGw6IHN0cmluZyAvLyBpZGVudGlmaWNhZG9yIGRlIGxhIGluc3RhbGFjacOzbiBkZWwgZGlzcG9zaXRpdm8gKHZlciBhZGRTY2hyw7ZkaW5nZXJTZXJ2aWNlcylcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIE1lbnVJbmZvQmFzZSA9IGJlUGx1cy5NZW51SW5mb0Jhc2U7XG5cbmV4cG9ydCB0eXBlIFN1Zmlqb3NBbWJpZW50ZSA9ICdfdGVzdCcgfCAnX2NhcGEnIHwgJydcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import type { IdTarea, ResultadoResumen } from "../unlogged/tipos";
2
+ export type ParametroSql = string | number | boolean | null | object;
3
+ export type FunParams = {
4
+ tarea: IdTarea;
5
+ respuestasUAPrincipal: ResultadoResumen;
6
+ setters: string[];
7
+ params: ParametroSql[];
8
+ destino: 'tem' | 'tareas_tem';
9
+ };
10
+ export declare const getSettersAndParametersForReaNoReaResumenEstado: ({ tarea, respuestasUAPrincipal: r, setters: settersEntrada, params: paramsEntrada, destino }: FunParams) => {
11
+ setters: string[];
12
+ params: (string | number | boolean | object | null)[];
13
+ };
@@ -0,0 +1,35 @@
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"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getSettersAndParametersForReaNoReaResumenEstado = void 0;
13
+ // agrega a un update los setters (con sus parámetros $n numerados a continuación de los recibidos)
14
+ // de resumen_estado, norea y rea, o sus versiones _sup si la tarea es supe
15
+ const getSettersAndParametersForReaNoReaResumenEstado = ({ tarea, respuestasUAPrincipal: r, setters: settersEntrada, params: paramsEntrada, destino }) => {
16
+ const isSupe = tarea === 'supe';
17
+ const sufijoSupe = isSupe ? '_sup' : '';
18
+ const prefijoDm = destino === 'tareas_tem' ? 'dm_' : '';
19
+ const offset = paramsEntrada.length + 1;
20
+ const nuevosValores = isSupe
21
+ ? [r.resumenEstadoSup, r.codNoReaSup, r.codReaSup]
22
+ : [r.resumenEstado, r.codNoRea, r.codRea];
23
+ const campos = [
24
+ `${prefijoDm}resumen_estado${sufijoSupe}`,
25
+ `${prefijoDm}norea${sufijoSupe}`,
26
+ `${prefijoDm}rea${sufijoSupe}`
27
+ ];
28
+ const nuevosSetters = campos.map((campo, i) => `${campo}=$${offset + i}`);
29
+ const setters = [...settersEntrada, ...nuevosSetters];
30
+ const params = [...paramsEntrada, ...nuevosValores];
31
+ return { setters, params };
32
+ };
33
+ exports.getSettersAndParametersForReaNoReaResumenEstado = getSettersAndParametersForReaNoReaResumenEstado;
34
+ });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGVycy1yZWEtbm8tcmVhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZlci9zZXR0ZXJzLXJlYS1uby1yZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBYUEsbUdBQW1HO0lBQ25HLDJFQUEyRTtJQUNwRSxNQUFNLCtDQUErQyxHQUFHLENBQUMsRUFDNUQsS0FBSyxFQUNMLHFCQUFxQixFQUFFLENBQUMsRUFDeEIsT0FBTyxFQUFFLGNBQWMsRUFDdkIsTUFBTSxFQUFFLGFBQWEsRUFDckIsT0FBTyxFQUNDLEVBQUUsRUFBRTtRQUNaLE1BQU0sTUFBTSxHQUFHLEtBQUssS0FBSyxNQUFNLENBQUM7UUFDaEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxPQUFPLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUV4RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUV4QyxNQUFNLGFBQWEsR0FBRyxNQUFNO1lBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QyxNQUFNLE1BQU0sR0FBRztZQUNYLEdBQUcsU0FBUyxpQkFBaUIsVUFBVSxFQUFFO1lBQ3pDLEdBQUcsU0FBUyxRQUFRLFVBQVUsRUFBRTtZQUNoQyxHQUFHLFNBQVMsTUFBTSxVQUFVLEVBQUU7U0FDakMsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssS0FBSyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUUxRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLGFBQWEsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRXBELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDL0IsQ0FBQyxDQUFDO0lBN0JXLFFBQUEsK0NBQStDLG1EQTZCMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElkVGFyZWEsIFJlc3VsdGFkb1Jlc3VtZW4gfSBmcm9tIFwiLi4vdW5sb2dnZWQvdGlwb3NcIjtcblxuLy8gdmFsb3IgcXVlIHNlIHBhc2EgY29tbyBwYXLDoW1ldHJvICRuIGEgdW5hIGNvbnN1bHRhIChsb3Mgb2JqZXRvcyB2YW4gY29tbyBqc29uKVxuZXhwb3J0IHR5cGUgUGFyYW1ldHJvU3FsID0gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCBvYmplY3Q7XG5cbmV4cG9ydCB0eXBlIEZ1blBhcmFtcyA9IHtcbiAgICB0YXJlYTogSWRUYXJlYTtcbiAgICByZXNwdWVzdGFzVUFQcmluY2lwYWw6IFJlc3VsdGFkb1Jlc3VtZW47IC8vIGRlIGxhcyByZXNwdWVzdGFzIHPDs2xvIHNlIHVzYW4gZWwgcmVzdW1lbiB5IGxvcyBjw7NkaWdvcyBkZSByZWEvbm8gcmVhXG4gICAgc2V0dGVyczogc3RyaW5nW107XG4gICAgcGFyYW1zOiBQYXJhbWV0cm9TcWxbXTtcbiAgICBkZXN0aW5vOiAndGVtJyB8ICd0YXJlYXNfdGVtJztcbn07XG5cbi8vIGFncmVnYSBhIHVuIHVwZGF0ZSBsb3Mgc2V0dGVycyAoY29uIHN1cyBwYXLDoW1ldHJvcyAkbiBudW1lcmFkb3MgYSBjb250aW51YWNpw7NuIGRlIGxvcyByZWNpYmlkb3MpXG4vLyBkZSByZXN1bWVuX2VzdGFkbywgbm9yZWEgeSByZWEsIG8gc3VzIHZlcnNpb25lcyBfc3VwIHNpIGxhIHRhcmVhIGVzIHN1cGVcbmV4cG9ydCBjb25zdCBnZXRTZXR0ZXJzQW5kUGFyYW1ldGVyc0ZvclJlYU5vUmVhUmVzdW1lbkVzdGFkbyA9ICh7XG4gICAgdGFyZWEsXG4gICAgcmVzcHVlc3Rhc1VBUHJpbmNpcGFsOiByLFxuICAgIHNldHRlcnM6IHNldHRlcnNFbnRyYWRhLFxuICAgIHBhcmFtczogcGFyYW1zRW50cmFkYSxcbiAgICBkZXN0aW5vXG59OiBGdW5QYXJhbXMpID0+IHtcbiAgICBjb25zdCBpc1N1cGUgPSB0YXJlYSA9PT0gJ3N1cGUnO1xuICAgIGNvbnN0IHN1Zmlqb1N1cGUgPSBpc1N1cGUgPyAnX3N1cCcgOiAnJztcbiAgICBjb25zdCBwcmVmaWpvRG0gPSBkZXN0aW5vID09PSAndGFyZWFzX3RlbScgPyAnZG1fJyA6ICcnO1xuXG4gICAgY29uc3Qgb2Zmc2V0ID0gcGFyYW1zRW50cmFkYS5sZW5ndGggKyAxO1xuXG4gICAgY29uc3QgbnVldm9zVmFsb3JlcyA9IGlzU3VwZVxuICAgICAgICA/IFtyLnJlc3VtZW5Fc3RhZG9TdXAsIHIuY29kTm9SZWFTdXAsIHIuY29kUmVhU3VwXVxuICAgICAgICA6IFtyLnJlc3VtZW5Fc3RhZG8sIHIuY29kTm9SZWEsIHIuY29kUmVhXTtcblxuICAgIGNvbnN0IGNhbXBvcyA9IFtcbiAgICAgICAgYCR7cHJlZmlqb0RtfXJlc3VtZW5fZXN0YWRvJHtzdWZpam9TdXBlfWAsXG4gICAgICAgIGAke3ByZWZpam9EbX1ub3JlYSR7c3VmaWpvU3VwZX1gLFxuICAgICAgICBgJHtwcmVmaWpvRG19cmVhJHtzdWZpam9TdXBlfWBcbiAgICBdO1xuXG4gICAgY29uc3QgbnVldm9zU2V0dGVycyA9IGNhbXBvcy5tYXAoKGNhbXBvLCBpKSA9PiBgJHtjYW1wb309JCR7b2Zmc2V0ICsgaX1gKTtcblxuICAgIGNvbnN0IHNldHRlcnMgPSBbLi4uc2V0dGVyc0VudHJhZGEsIC4uLm51ZXZvc1NldHRlcnNdO1xuICAgIGNvbnN0IHBhcmFtcyA9IFsuLi5wYXJhbXNFbnRyYWRhLCAuLi5udWV2b3NWYWxvcmVzXTtcblxuICAgIHJldHVybiB7IHNldHRlcnMsIHBhcmFtcyB9O1xufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-dmencu";
2
+ export declare function acciones(context: TableContext): TableDefinition;
@@ -0,0 +1,45 @@
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"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.acciones = acciones;
13
+ function acciones(context) {
14
+ //var puedeEditar = context.forDump || context.puede?.campo?.administrar||context.user.rol==='recepcionista';
15
+ var esEditable = context.user.rol === 'admin';
16
+ return {
17
+ name: 'acciones',
18
+ elementName: 'accion',
19
+ editable: esEditable,
20
+ fields: [
21
+ { name: 'operativo', typeName: 'text', nullable: false },
22
+ { name: 'eaccion', typeName: 'text', nullable: false },
23
+ { name: 'abr_eaccion', typeName: 'text' },
24
+ { name: 'desactiva_boton', typeName: 'boolean', nullable: false, defaultDbValue: 'false' },
25
+ { name: 'path_icono_svg', typeName: 'text' },
26
+ { name: 'icono', typeName: 'text', editable: false, inTable: false, clientSide: 'verIconoSvg' },
27
+ { name: 'desc_eaccion', typeName: 'text' },
28
+ { name: 'confirma', typeName: 'boolean', nullable: false, defaultDbValue: 'false' },
29
+ { name: 'recepciona', typeName: 'boolean', nullable: false, defaultDbValue: 'false' },
30
+ { name: 'ingresa', typeName: 'boolean', nullable: false, defaultDbValue: 'false' },
31
+ { name: 'fin_campo', typeName: 'boolean', nullable: false, defaultDbValue: 'false' },
32
+ { name: 'analisis_campo', typeName: 'boolean', nullable: false, defaultDbValue: 'false' },
33
+ { name: 'procesa', typeName: 'boolean', nullable: false, defaultDbValue: 'false' },
34
+ ],
35
+ primaryKey: ['operativo', 'eaccion'],
36
+ foreignKeys: [
37
+ { references: "operativos", fields: ["operativo"] }
38
+ ],
39
+ detailTables: [
40
+ { table: "estados_acciones", fields: ["operativo", "eaccion"], abr: "e", label: "estados" }
41
+ ],
42
+ };
43
+ }
44
+ });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWNjaW9uZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmVyL3RhYmxlLWFjY2lvbmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7SUFJYiw0QkE4QkM7SUE5QkQsU0FBZ0IsUUFBUSxDQUFDLE9BQW9CO1FBQ3pDLDZHQUE2RztRQUM3RyxJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBRyxPQUFPLENBQUM7UUFDNUMsT0FBTztZQUNILElBQUksRUFBQyxVQUFVO1lBQ2YsV0FBVyxFQUFDLFFBQVE7WUFDcEIsUUFBUSxFQUFDLFVBQVU7WUFDbkIsTUFBTSxFQUFDO2dCQUNILEVBQUMsSUFBSSxFQUFDLFdBQVcsRUFBa0IsUUFBUSxFQUFDLE1BQU0sRUFBSyxRQUFRLEVBQUUsS0FBSyxFQUFDO2dCQUN2RSxFQUFDLElBQUksRUFBQyxTQUFTLEVBQW9CLFFBQVEsRUFBQyxNQUFNLEVBQUssUUFBUSxFQUFFLEtBQUssRUFBQztnQkFDdkUsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFnQixRQUFRLEVBQUMsTUFBTSxFQUFDO2dCQUNuRCxFQUFDLElBQUksRUFBQyxpQkFBaUIsRUFBWSxRQUFRLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBQztnQkFDaEcsRUFBQyxJQUFJLEVBQUMsZ0JBQWdCLEVBQWEsUUFBUSxFQUFDLE1BQU0sRUFBQztnQkFDbkQsRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxFQUFVLFFBQVEsRUFBQyxLQUFLLEVBQUssT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUMsYUFBYSxFQUFDO2dCQUN2SCxFQUFDLElBQUksRUFBQyxjQUFjLEVBQWUsUUFBUSxFQUFDLE1BQU0sRUFBQztnQkFDbkQsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFtQixRQUFRLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBQztnQkFDaEcsRUFBQyxJQUFJLEVBQUMsWUFBWSxFQUFpQixRQUFRLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBQztnQkFDaEcsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFvQixRQUFRLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBQztnQkFDaEcsRUFBQyxJQUFJLEVBQUMsV0FBVyxFQUFrQixRQUFRLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBQztnQkFDaEcsRUFBQyxJQUFJLEVBQUMsZ0JBQWdCLEVBQWEsUUFBUSxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUM7Z0JBQ2hHLEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBb0IsUUFBUSxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUM7YUFDbkc7WUFDRCxVQUFVLEVBQUMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO1lBQ25DLFdBQVcsRUFBRTtnQkFDVCxFQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUM7YUFDcEQ7WUFDRCxZQUFZLEVBQUU7Z0JBQ1YsRUFBQyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFDLFNBQVMsRUFBQzthQUMzRjtTQUNKLENBQUM7SUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0fSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhY2Npb25lcyhjb250ZXh0OlRhYmxlQ29udGV4dCk6VGFibGVEZWZpbml0aW9uIHtcclxuICAgIC8vdmFyIHB1ZWRlRWRpdGFyID0gY29udGV4dC5mb3JEdW1wIHx8IGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC51c2VyLnJvbD09PSdyZWNlcGNpb25pc3RhJztcclxuICAgIHZhciBlc0VkaXRhYmxlID0gY29udGV4dC51c2VyLnJvbD09PSdhZG1pbic7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIG5hbWU6J2FjY2lvbmVzJyxcclxuICAgICAgICBlbGVtZW50TmFtZTonYWNjaW9uJyxcclxuICAgICAgICBlZGl0YWJsZTplc0VkaXRhYmxlLFxyXG4gICAgICAgIGZpZWxkczpbXHJcbiAgICAgICAgICAgIHtuYW1lOidvcGVyYXRpdm8nICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnLCAgICBudWxsYWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICB7bmFtZTonZWFjY2lvbicgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JywgICAgbnVsbGFibGU6IGZhbHNlfSxcclxuICAgICAgICAgICAge25hbWU6J2Ficl9lYWNjaW9uJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCd9LFxyXG4gICAgICAgICAgICB7bmFtZTonZGVzYWN0aXZhX2JvdG9uJyAgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJywgbnVsbGFibGU6IGZhbHNlLCBkZWZhdWx0RGJWYWx1ZTogJ2ZhbHNlJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOidwYXRoX2ljb25vX3N2ZycgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSxcclxuICAgICAgICAgICAge25hbWU6J2ljb25vJyAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgICAgICwgZWRpdGFibGU6ZmFsc2UgICAsIGluVGFibGU6ZmFsc2UsIGNsaWVudFNpZGU6J3Zlckljb25vU3ZnJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOidkZXNjX2VhY2Npb24nICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnfSxcclxuICAgICAgICAgICAge25hbWU6J2NvbmZpcm1hJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdERiVmFsdWU6ICdmYWxzZSd9LFxyXG4gICAgICAgICAgICB7bmFtZToncmVjZXBjaW9uYScgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJywgbnVsbGFibGU6IGZhbHNlLCBkZWZhdWx0RGJWYWx1ZTogJ2ZhbHNlJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOidpbmdyZXNhJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nLCBudWxsYWJsZTogZmFsc2UsIGRlZmF1bHREYlZhbHVlOiAnZmFsc2UnfSxcclxuICAgICAgICAgICAge25hbWU6J2Zpbl9jYW1wbycgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYm9vbGVhbicsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdERiVmFsdWU6ICdmYWxzZSd9LFxyXG4gICAgICAgICAgICB7bmFtZTonYW5hbGlzaXNfY2FtcG8nICAgICAgICAgICAsIHR5cGVOYW1lOidib29sZWFuJywgbnVsbGFibGU6IGZhbHNlLCBkZWZhdWx0RGJWYWx1ZTogJ2ZhbHNlJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOidwcm9jZXNhJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2Jvb2xlYW4nLCBudWxsYWJsZTogZmFsc2UsIGRlZmF1bHREYlZhbHVlOiAnZmFsc2UnfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHByaW1hcnlLZXk6WydvcGVyYXRpdm8nLCAnZWFjY2lvbiddLFxyXG4gICAgICAgIGZvcmVpZ25LZXlzOiBbXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOiBcIm9wZXJhdGl2b3NcIiwgZmllbGRzOiBbXCJvcGVyYXRpdm9cIl19XHJcbiAgICAgICAgXSxcclxuICAgICAgICBkZXRhaWxUYWJsZXM6IFtcclxuICAgICAgICAgICAge3RhYmxlOiBcImVzdGFkb3NfYWNjaW9uZXNcIiwgZmllbGRzOiBbXCJvcGVyYXRpdm9cIiwgXCJlYWNjaW9uXCJdLCBhYnI6IFwiZVwiLCBsYWJlbDpcImVzdGFkb3NcIn1cclxuICAgICAgICBdLFxyXG4gICAgfTtcclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ import { TableDefinition, TableContext } from "./types-dmencu";
2
+ export declare function area_enc_proximas(context: TableContext): TableDefinition;
@@ -0,0 +1,30 @@
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"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.area_enc_proximas = area_enc_proximas;
13
+ function area_enc_proximas(context) {
14
+ return {
15
+ name: 'area_enc_proximas',
16
+ elementName: 'area_enc_proxima',
17
+ editable: context.forDump,
18
+ fields: [
19
+ { name: 'operativo', typeName: 'text' },
20
+ { name: 'area', typeName: 'integer' },
21
+ { name: 'contador', typeName: 'integer', defaultDbValue: '0' },
22
+ ],
23
+ primaryKey: ['operativo', 'area'],
24
+ foreignKeys: [
25
+ { references: 'areas', fields: ['operativo', 'area'] },
26
+ ]
27
+ };
28
+ }
29
+ });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYXJlYV9lbmNfcHJveGltYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmVyL3RhYmxlLWFyZWFfZW5jX3Byb3hpbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7SUFJYiw4Q0FlQztJQWZELFNBQWdCLGlCQUFpQixDQUFDLE9BQW9CO1FBQ2xELE9BQU87WUFDSCxJQUFJLEVBQUMsbUJBQW1CO1lBQ3hCLFdBQVcsRUFBQyxrQkFBa0I7WUFDOUIsUUFBUSxFQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQ3hCLE1BQU0sRUFBQztnQkFDSCxFQUFDLElBQUksRUFBQyxXQUFXLEVBQU8sUUFBUSxFQUFDLE1BQU0sRUFBQztnQkFDeEMsRUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFZLFFBQVEsRUFBQyxTQUFTLEVBQUM7Z0JBQzNDLEVBQUMsSUFBSSxFQUFDLFVBQVUsRUFBUSxRQUFRLEVBQUMsU0FBUyxFQUFFLGNBQWMsRUFBQyxHQUFHLEVBQUM7YUFDbEU7WUFDRCxVQUFVLEVBQUMsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO1lBQ2hDLFdBQVcsRUFBRTtnQkFDVCxFQUFDLFVBQVUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsV0FBVyxFQUFDLE1BQU0sQ0FBQyxFQUFDO2FBQ3BEO1NBQ0osQ0FBQztJQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHtUYWJsZURlZmluaXRpb24sIFRhYmxlQ29udGV4dH0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcmVhX2VuY19wcm94aW1hcyhjb250ZXh0OlRhYmxlQ29udGV4dCk6VGFibGVEZWZpbml0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOidhcmVhX2VuY19wcm94aW1hcycsXG4gICAgICAgIGVsZW1lbnROYW1lOidhcmVhX2VuY19wcm94aW1hJyxcbiAgICAgICAgZWRpdGFibGU6Y29udGV4dC5mb3JEdW1wLFxuICAgICAgICBmaWVsZHM6W1xuICAgICAgICAgICAge25hbWU6J29wZXJhdGl2bycgICAgICwgdHlwZU5hbWU6J3RleHQnfSxcbiAgICAgICAgICAgIHtuYW1lOidhcmVhJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJ30sXG4gICAgICAgICAgICB7bmFtZTonY29udGFkb3InICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicsIGRlZmF1bHREYlZhbHVlOicwJ30sXG4gICAgICAgIF0sXG4gICAgICAgIHByaW1hcnlLZXk6WydvcGVyYXRpdm8nLCAnYXJlYSddLFxuICAgICAgICBmb3JlaWduS2V5czogW1xuICAgICAgICAgICAge3JlZmVyZW5jZXM6J2FyZWFzJywgZmllbGRzOlsnb3BlcmF0aXZvJywnYXJlYSddfSxcbiAgICAgICAgXVxuICAgIH07XG59Il19
@@ -0,0 +1,4 @@
1
+ import { TableDefinition, TableContext } from "./types-dmencu";
2
+ export declare const cuentasSql: (be: any, filter: string) => string;
3
+ export declare const cuentasFields: (be: any) => any[];
4
+ export declare function areas(context: TableContext): TableDefinition;