dmencu 0.7.30 → 0.7.31

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.
@@ -408,9 +408,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
408
408
  select grupo0_sup as grupo, jsonb_agg(to_json(r.*)) as codigos from no_rea_sup r group by grupo0_sup order by 1
409
409
  `).fetchAll()).rows;
410
410
  this.caches.tableContent.conReaHogar = (await client.query(`
411
- select con_rea_hogar,operativo from operativos
411
+ select con_rea_hogar,operativo, config_sorteo from operativos
412
412
  `).fetchUniqueRow()).row;
413
- console.log('caches', this.caches.tableContent.conReaHogar);
413
+ console.log('caches ', this.caches.tableContent.conReaHogar);
414
414
  });
415
415
  console.log('caches ok');
416
416
  }
@@ -519,7 +519,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
519
519
  "img/fondo-salteado-error.png",
520
520
  "img/fondo-salteado.png",
521
521
  "img/background-test.png",
522
- "client-setup",
522
+ //"client-setup",
523
523
  "css/bootstrap.min.css",
524
524
  "css/formulario-react.css",
525
525
  "pikaday/pikaday.css",
@@ -805,4 +805,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
805
805
  exports.emergeAppDmEncu = emergeAppDmEncu;
806
806
  exports.AppDmEncu = emergeAppDmEncu((0, procesamiento_1.emergeAppProcesamiento)((0, procesamiento_1.emergeAppConsistencias)((0, procesamiento_1.emergeAppVarCal)((0, procesamiento_1.emergeAppDatosExt)((0, procesamiento_1.emergeAppOperativos)(procesamiento_1.AppBackend))))));
807
807
  });
808
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWRtZW5jdS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvYXBwLWRtZW5jdS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7O0lBR2IsaURBQTBMO0lBQzFMLDJEQUE2RjtJQUU3Rix3Q0FBd0M7SUFFeEMsd0NBQXdDO0lBUXhDLDJDQUF3QztJQUV4Qyw2QkFBNkI7SUFFN0Isa0NBQWtDO0lBQ2xDLG1DQUFtQztJQUVuQywyQkFBbUM7SUFFbkMsK0NBQW9EO0lBQ3BELHFEQUF1RDtJQUN2RCxpRUFBNkQ7SUFDN0QsK0RBQWdFO0lBQ2hFLCtEQUFnRTtJQUNoRSwrREFBZ0U7SUFDaEUsK0RBQW9FO0lBQ3BFLHVFQUFnRTtJQUNoRSwrREFBNEQ7SUFDNUQsNkRBQTJEO0lBQzNELDZEQUEyRDtJQUMzRCxxREFBdUQ7SUFDdkQsaUVBQTZEO0lBQzdELHlEQUF5RDtJQUN6RCx5RUFBaUU7SUFFakUsaURBQXFEO0lBQ3JELHlEQUF5RDtJQUN6RCwyQ0FBa0Q7SUFDbEQsK0RBQTREO0lBQzVELG1EQUFzRDtJQUN0RCxxREFBdUQ7SUFDdkQsMkRBQTBEO0lBQzFELG1EQUFzRDtJQUN0RCwrQ0FBb0Q7SUFDcEQscUVBQStEO0lBQy9ELGlEQUFxRDtJQUNyRCx5REFHeUQ7SUFDekQsNkRBQTJEO0lBQzNELHFGQUE0RTtJQUM1RSxxRUFBK0Q7SUFDL0QsNkRBQTJEO0lBQzNELDZEQUEyRDtJQUMzRCw2REFBMkQ7SUFDM0QseURBQXlEO0lBQ3pELGlFQUE2RDtJQUM3RCw2RUFBbUU7SUFDbkUseUVBQStEO0lBQy9ELDZFQUFtRTtJQUNuRSxxRkFBMkU7SUFDM0UscUVBQStEO0lBQy9ELCtEQUE0RDtJQUM1RCxtRUFBOEQ7SUFDOUQseUVBQWlFO0lBQ2pFLHVEQUF3RDtJQUN4RCxtREFBc0Q7SUFDdEQsbURBQXNEO0lBQ3RELHFEQUF1RDtJQUN2RCwyREFB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QUksQ0FBQyxHQUFHLENBQUEsS0FBRSxNQUFBLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssMENBQUUsS0FBSywwQ0FBRSxXQUFXLENBQUEsQ0FBQztvQkFDbEYsZUFBZSxDQUFDLEtBQUssR0FBRyxFQUFDLE1BQU0sRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUM7Z0JBQzVFLENBQUMsQ0FBQyxDQUFBO2dCQUNGLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUMsVUFBUyxRQUFRLEVBQUUsT0FBTzs7b0JBQzdELElBQUksT0FBTyxHQUFFLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksQ0FBQyxHQUFHLE1BQUcsT0FBTyxDQUFDO29CQUN6QyxRQUFRLENBQUMsUUFBUSxHQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUksTUFBQSxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLDBDQUFFLFNBQVMsMENBQUUsUUFBUSxDQUFBLENBQUM7b0JBQzNFLFFBQVEsQ0FBQyxLQUFLLEdBQUMsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFDLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxDQUFBO2dCQUVGLHVFQUF1RTtnQkFDdkUsZ0dBQWdHO2dCQUNoRyxLQUFLO1lBQ1QsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0lBN3RCRCwwQ0E2dEJDO0lBRVUsUUFBQSxTQUFTLEdBQUcsZUFBZSxDQUFDLElBQUEsc0NBQXNCLEVBQUMsSUFBQSxzQ0FBc0IsRUFBQyxJQUFBLCtCQUFlLEVBQUMsSUFBQSxpQ0FBaUIsRUFBQyxJQUFBLG1DQUFtQixFQUFDLDBCQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCAqIGFzIHByb2Nlc2FtaWVudG8gZnJvbSBcInByb2Nlc2FtaWVudG9cIjtcclxuaW1wb3J0IHtlbWVyZ2VBcHBQcm9jZXNhbWllbnRvLCBlbWVyZ2VBcHBDb25zaXN0ZW5jaWFzLCBlbWVyZ2VBcHBWYXJDYWwsIGVtZXJnZUFwcERhdG9zRXh0LCBlbWVyZ2VBcHBPcGVyYXRpdm9zLCBBcHBCYWNrZW5kLCBDbGllbnRNb2R1bGVEZWZpbml0aW9uLCBPcHRzQ2xpZW50UGFnZX0gZnJvbSBcInByb2Nlc2FtaWVudG9cIjtcclxuaW1wb3J0IHtBQ0NJT05fUEFTQVJfUFJPSUUsIGdldE9wZXJhdGl2b0FjdHVhbCwgUHJvY2VkdXJlc0RtRW5jdX0gZnJvbSBcIi4vcHJvY2VkdXJlcy1kbWVuY3VcIjtcclxuXHJcbmltcG9ydCAqIGFzIHBnIGZyb20gXCJwZy1wcm9taXNlLXN0cmljdFwiO1xyXG5pbXBvcnQge2pzb259IGZyb20gXCJwZy1wcm9taXNlLXN0cmljdFwiO1xyXG5pbXBvcnQgKiBhcyBtaW5pVG9vbHMgZnJvbSBcIm1pbmktdG9vbHNcIjtcclxuaW1wb3J0IHtcclxuICAgIENsaWVudCwgQ29udGV4dCwgQ29yZUZ1bmN0aW9uUGFyYW1ldGVycywgXHJcbiAgICBNZW51SW5mb0Jhc2UsIFxyXG4gICAgUmVxdWVzdCwgUmVzcG9uc2UsXHJcbiAgICBTdWZpam9zQW1iaWVudGUsXHJcbn0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcblxyXG5pbXBvcnQgeyB1bmV4cGVjdGVkIH0gZnJvbSBcImNhc3QtZXJyb3JcIjtcclxuXHJcbmltcG9ydCAqIGFzIHlhemwgZnJvbSBcInlhemxcIjtcclxuaW1wb3J0IHsgTmV4dEZ1bmN0aW9uIH0gZnJvbSBcImV4cHJlc3Mtc2VydmUtc3RhdGljLWNvcmVcIjtcclxuaW1wb3J0ICogYXMgbGlrZUFyIGZyb20gXCJsaWtlLWFyXCI7XHJcbmltcG9ydCAqIGFzIGV4cHJlc3MgZnJvbSBcImV4cHJlc3NcIjtcclxuXHJcbmltcG9ydCB7cHJvbWlzZXMgYXMgZnMgfSBmcm9tIFwiZnNcIjtcclxuXHJcbmltcG9ydCB7IHJvbGVzICAgICAgICAgICAgICAgfSBmcm9tIFwiLi90YWJsZS1yb2xlc1wiO1xyXG5pbXBvcnQgeyBwZXJzb25hbCAgICAgICAgICAgIH0gZnJvbSBcIi4vdGFibGUtcGVyc29uYWxcIjtcclxuaW1wb3J0IHsgcmVjZXBjaW9uaXN0YXMgICAgICB9IGZyb20gXCIuL3RhYmxlLXJlY2VwY2lvbmlzdGFzXCI7XHJcbmltcG9ydCB7IGVuY3Vlc3RhZG9yZXNfYXNpZ25hZG9zIH0gZnJvbSBcIi4vdGFibGUtZW5jdWVzdGFkb3Jlc1wiO1xyXG5pbXBvcnQgeyByZWN1cGVyYWRvcmVzX2FzaWduYWRvcyB9IGZyb20gXCIuL3RhYmxlLWVuY3Vlc3RhZG9yZXNcIjtcclxuaW1wb3J0IHsgc3VwZXJ2aXNvcmVzX2FzaWduYWRvcyAgfSBmcm9tIFwiLi90YWJsZS1lbmN1ZXN0YWRvcmVzXCI7XHJcbmltcG9ydCB7IG1pc19zdXBlcnZpc29yZXNfYXNpZ25hZG9zICB9IGZyb20gXCIuL3RhYmxlLWVuY3Vlc3RhZG9yZXNcIjtcclxuaW1wb3J0IHsgbWlzX2VuY3Vlc3RhZG9yZXMgICB9IGZyb20gXCIuL3RhYmxlLW1pc19lbmN1ZXN0YWRvcmVzXCI7XHJcbmltcG9ydCB7IHJlY3VwZXJhZG9yZXMgICAgICAgfSBmcm9tIFwiLi90YWJsZS1yZWN1cGVyYWRvcmVzXCI7XHJcbmltcG9ydCB7IHN1cGVydmlzb3JlcyAgICAgICAgfSBmcm9tIFwiLi90YWJsZS1zdXBlcnZpc29yZXNcIjtcclxuaW1wb3J0IHsgcGVyc29uYWxfcm9sICAgICAgICB9IGZyb20gXCIuL3RhYmxlLXBlcnNvbmFsX3JvbFwiO1xyXG5pbXBvcnQgeyBwZXJtaXNvcyAgICAgICAgICAgIH0gZnJvbSBcIi4vdGFibGUtcGVybWlzb3NcIjtcclxuaW1wb3J0IHsgcm9sZXNfcGVybWlzb3MgICAgICB9IGZyb20gXCIuL3RhYmxlLXJvbGVzX3Blcm1pc29zXCI7XHJcbmltcG9ydCB7IHBhcmFtZXRyb3MgICAgICAgICAgfSBmcm9tIFwiLi90YWJsZS1wYXJhbWV0cm9zXCI7XHJcbmltcG9ydCB7IHJvbGVzX3N1Ym9yZGluYWRvcyAgfSBmcm9tIFwiLi90YWJsZS1yb2xlc19zdWJvcmRpbmFkb3NcIjtcclxuXHJcbmltcG9ydCB7bm9fcmVhICAgICAgICAgICAgICAgfSBmcm9tIFwiLi90YWJsZS1ub19yZWFcIjtcclxuaW1wb3J0IHtub19yZWFfc3VwICAgICAgICAgICB9IGZyb20gXCIuL3RhYmxlLW5vX3JlYV9zdXBcIjtcclxuaW1wb3J0IHt0ZW0gICAgICAgICAgICAgICAgICB9IGZyb20gXCIuL3RhYmxlLXRlbVwiO1xyXG5pbXBvcnQge3RlbV9yZWNlcGNpb24gICAgICAgIH0gZnJvbSBcIi4vdGFibGUtdGVtX3JlY2VwY2lvblwiO1xyXG5pbXBvcnQge3NlbWFuYXMgICAgICAgICAgICAgIH0gZnJvbSBcIi4vdGFibGUtc2VtYW5hc1wiO1xyXG5pbXBvcnQgeyB1c3VhcmlvcyAgICAgICAgICAgIH0gZnJvbSAnLi90YWJsZS11c3Vhcmlvcyc7XHJcbmltcG9ydCB7IG9wZXJhY2lvbmVzICAgICAgICAgfSBmcm9tICcuL3RhYmxlLW9wZXJhY2lvbmVzJztcclxuaW1wb3J0IHsgY29tdW5hcyAgICAgICAgICAgICB9IGZyb20gJy4vdGFibGUtY29tdW5hcyc7XHJcbmltcG9ydCB7IGFyZWFzICAgICAgICAgICAgICAgfSBmcm9tICcuL3RhYmxlLWFyZWFzJztcclxuaW1wb3J0IHsgc2luY3Jvbml6YWNpb25lcyAgICB9IGZyb20gJy4vdGFibGUtc2luY3Jvbml6YWNpb25lcyc7XHJcbmltcG9ydCB7IHRhcmVhcyAgICAgICAgICAgICAgfSBmcm9tICcuL3RhYmxlLXRhcmVhcyc7XHJcbmltcG9ydCB7IHRhcmVhc190ZW0sIFxyXG4gICAgICAgICB0YXJlYXNfdGVtX2VuY3UsIFxyXG4gICAgICAgICB0YXJlYXNfdGVtX3JlY3UsIFxyXG4gICAgICAgICB0YXJlYXNfdGVtX3N1cGUgICAgIH0gZnJvbSAnLi90YWJsZS10YXJlYXNfdGVtJztcclxuaW1wb3J0IHsgdGFyZWFzX2FyZWFzICAgICAgICB9IGZyb20gJy4vdGFibGUtdGFyZWFzX2FyZWFzJztcclxuaW1wb3J0IHsgYXJlYXNfYXNpZ25hY2lvbl9nZW5lcmFsIH0gZnJvbSAnLi90YWJsZS1hcmVhc19hc2lnbmFjaW9uX2dlbmVyYWwnO1xyXG5pbXBvcnQgeyBncmlsbGFfaG9qYV9ydXRhICAgIH0gZnJvbSAnLi90YWJsZS1ncmlsbGFfaG9qYV9ydXRhJztcclxuaW1wb3J0IHsgdF9lbmN1X2FyZWFzICAgICAgICB9IGZyb20gJy4vdGFibGUtdGFyZWFzX2FyZWFzJztcclxuaW1wb3J0IHsgdF9yZWN1X2FyZWFzICAgICAgICB9IGZyb20gJy4vdGFibGUtdGFyZWFzX2FyZWFzJztcclxuaW1wb3J0IHsgdF9zdXBlX2FyZWFzICAgICAgICB9IGZyb20gJy4vdGFibGUtdGFyZWFzX2FyZWFzJztcclxuaW1wb3J0IHsgbWlzX3RhcmVhcyAgICAgICAgICB9IGZyb20gJy4vdGFibGUtbWlzX3RhcmVhcyc7XHJcbmltcG9ydCB7IHRlbV9hc2lnbmFjaW9uICAgICAgfSBmcm9tICcuL3RhYmxlLXRlbV9hc2lnbmFjaW9uJztcclxuaW1wb3J0IHsgdGFyZWFzX3RlbV9yZWNlcGNpb259IGZyb20gJy4vdGFibGUtdGFyZWFzX3RlbV9yZWNlcGNpb24nO1xyXG5pbXBvcnQgeyB0YXJlYXNfdGVtX2luZ3Jlc299IGZyb20gJy4vdGFibGUtdGFyZWFzX3RlbV9pbmdyZXNvJztcclxuaW1wb3J0IHsgdGFyZWFzX3RlbV9maW5fY2FtcG99IGZyb20gJy4vdGFibGUtdGFyZWFzX3RlbV9maW5fY2FtcG8nO1xyXG5pbXBvcnQgeyB0YXJlYXNfdGVtX3Byb2Nlc2FtaWVudG99IGZyb20gJy4vdGFibGUtdGFyZWFzX3RlbV9wcm9jZXNhbWllbnRvJztcclxuaW1wb3J0IHsgbWlzX3RhcmVhc19hcmVhcyAgICB9IGZyb20gJy4vdGFibGUtbWlzX3RhcmVhc19hcmVhcyc7XHJcbmltcG9ydCB7IGNvbnRyb2xfY2FtcG8gICAgICAgfSBmcm9tICcuL3RhYmxlLWNvbnRyb2xfY2FtcG8nO1xyXG5pbXBvcnQgeyBjb250cm9sX3Jlc3VtZW4gICAgIH0gZnJvbSAnLi90YWJsZS1jb250cm9sX3Jlc3VtZW4nO1xyXG5pbXBvcnQgeyBjb250cm9sX2RpYXNfY2FyZ2EgIH0gZnJvbSAnLi90YWJsZS1jb250cm9sX2RpYXNfY2FyZ2EnO1xyXG5pbXBvcnQgeyB2aXZpZW5kYXMgICAgICAgICAgIH0gZnJvbSAnLi90YWJsZS12aXZpZW5kYXMnO1xyXG5pbXBvcnQgeyB2aXNpdGFzICAgICAgICAgICAgIH0gZnJvbSAnLi90YWJsZS12aXNpdGFzJztcclxuaW1wb3J0IHsgaG9nYXJlcyAgICAgICAgICAgICB9IGZyb20gJy4vdGFibGUtaG9nYXJlcyc7XHJcbmltcG9ydCB7IHBlcnNvbmFzICAgICAgICAgICAgfSBmcm9tICcuL3RhYmxlLXBlcnNvbmFzJztcclxuaW1wb3J0IHsgdmlzaXRhc19zdXAgICAgICAgICB9IGZyb20gJy4vdGFibGUtdmlzaXRhc19zdXAnO1xyXG5pbXBvcnQgeyBob2dhcmVzX3N1cCAgICAgICAgIH0gZnJvbSAnLi90YWJsZS1ob2dhcmVzX3N1cCc7XHJcbmltcG9ydCB7IHBlcnNvbmFzX3N1cCAgICAgICAgfSBmcm9tICcuL3RhYmxlLXBlcnNvbmFzX3N1cCc7XHJcblxyXG5pbXBvcnQgeyBlc3RhZG9zICAgICAgICAgICAgIH0gZnJvbSAnLi90YWJsZS1lc3RhZG9zJztcclxuaW1wb3J0IHsgYWNjaW9uZXMgICAgICAgICAgICB9IGZyb20gJy4vdGFibGUtYWNjaW9uZXMnO1xyXG5pbXBvcnQgeyBlc3RhZG9zX2FjY2lvbmVzICAgIH0gZnJvbSAnLi90YWJsZS1lc3RhZG9zX2FjY2lvbmVzJztcclxuXHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuaW1wb3J0IHtkZWZDb25maWd9IGZyb20gXCIuL2RlZi1jb25maWdcIlxyXG5pbXBvcnQgeyBQcm9jZWR1cmVEZWYgfSBmcm9tIFwiYmFja2VuZC1wbHVzXCI7XHJcbmltcG9ydCB7IHRhYmxlIH0gZnJvbSBcImNvbnNvbGVcIjtcclxuXHJcbmNvbnN0IEFQUF9ETV9WRVJTSU9OPVwiIzIyLTEyLTE1XCI7XHJcblxyXG52YXIgcmVnaXN0cmFyQ3JvbkpvYlBhc2FyQVByb2llID0gYXN5bmMgKGJlKSA9PiB7XHJcbiAgICBsZXQgcHJvY2VkdXJlcyA9IGF3YWl0IGJlLmdldFByb2NlZHVyZXMoKVxyXG4gICAgdmFyIHByb2NQYXNhciA9IHByb2NlZHVyZXMuZmluZCgocHJvYzpQcm9jZWR1cmVEZWYpPT5wcm9jLmFjdGlvbiA9PSBBQ0NJT05fUEFTQVJfUFJPSUUpXHJcbiAgICB2YXIgY29udGV4dCA9IGJlLmdldENvbnRleHRGb3JEdW1wKCk7XHJcbiAgICBzZXRJbnRlcnZhbChhc3luYyAoKT0+e1xyXG4gICAgICAgIHRyeXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ2luaWNpYSBjcm9uIHBvc2FqZSBhIHByb2llJylcclxuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGF3YWl0IGJlLmluVHJhbnNhY3Rpb24obnVsbCwgYXN5bmMgKGNsaWVudCk9PntcclxuICAgICAgICAgICAgICAgIGNvbnRleHQuY2xpZW50PWNsaWVudDtcclxuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBwcm9jUGFzYXIuY29yZUZ1bmN0aW9uKGNvbnRleHQsW10pO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInJlc3VsdCBwcm9jIHBhc2FqZSBhIHByb2llOiBcIiwgcmVzdWx0KVxyXG4gICAgICAgIH1jYXRjaChlcnIpe1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgZXJyb3IgcGFzYWplIGEgcHJvaWUuICR7ZXJyLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgfWZpbmFsbHl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0ZXJtaW5hIGNyb24gcHJvaWUnKVxyXG4gICAgICAgIH1cclxuICAgIH0sMTAwMCo2MCo2MClcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVtZXJnZUFwcERtRW5jdTxUIGV4dGVuZHMgcHJvY2VzYW1pZW50by5Db25zdHJ1Y3Rvcjxwcm9jZXNhbWllbnRvLkFwcFByb2Nlc2FtaWVudG9UeXBlPj4oQmFzZTpUKXtcclxuICByZXR1cm4gY2xhc3MgQXBwRG1FbmN1IGV4dGVuZHMgQmFzZXtcclxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6YW55W10peyBcclxuICAgICAgICBzdXBlcihhcmdzKTsgXHJcbiAgICAgICAgdGhpcy5jYWNoZXMudGFibGVDb250ZW50ID0gdGhpcy5jYWNoZXMudGFibGVDb250ZW50IHx8IHt9O1xyXG4gICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5ub19yZWE9W11cclxuICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX2dyb3Vwcz1bXVxyXG4gICAgICAgIHRoaXMuY2FjaGVzLm1ldGFFbmNJbmNsdWlyQ2FzaWxsZXJvc1NhbHRvUkVMID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYWNoZXMudGltZXN0YW1wRXN0cnVjdHVyYSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5jb25SZWFIb2dhciA9IHt9O1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgYXN5bmMgY2FuQ2hhbmdlUGFzcyhyZXFPckNvbnRleHQsIHVzZXJUb0NoYW5nZVBhc3Mpe1xyXG4gICAgICAgIHZhciBiZSA9IHRoaXM7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGF3YWl0IGJlLmluRGJDbGllbnQobnVsbCwgYXN5bmMgKGNsaWVudCk9PntcclxuICAgICAgICAgICAgdmFyIHEgPSBiZS5kYi5xdW90ZUxpdGVyYWw7XHJcbiAgICAgICAgICAgIHZhciByb2wgPSByZXFPckNvbnRleHQudXNlci5yb2w7XHJcbiAgICAgICAgICAgIHJldHVybiAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBcclxuICAgICAgICAgICAgICAgIHNlbGVjdCAqIFxyXG4gICAgICAgICAgICAgICAgICBmcm9tIHVzdWFyaW9zIFxyXG4gICAgICAgICAgICAgICAgICB3aGVyZSByb2wgaW4gKHNlbGVjdCByb2xfc3Vib3JkaW5hZG8gZnJvbSByb2xlc19zdWJvcmRpbmFkb3Mgd2hlcmUgcm9sID0gJHtxKHJvbCl9KWApLmZldGNoQWxsKCkpLnJvd3M7XHJcbiAgICAgICAgfSlcclxuICAgICAgICB2YXIgcHVlZGUgPSAhIXJlc3VsdC5maW5kKCh1c2VyKT0+dXNlci51c3VhcmlvID09IHVzZXJUb0NoYW5nZVBhc3MpO1xyXG4gICAgICAgIHZhciBpc0FkbWluID0gYmUuaXNBZG1pbihyZXFPckNvbnRleHQpO1xyXG4gICAgICAgIHJldHVybiBpc0FkbWluIHx8IHB1ZWRlXHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhc3luYyBnZXRQcm9jZWR1cmVzKCl7XHJcbiAgICAgICAgdmFyIGJlID0gdGhpcztcclxuICAgICAgICB2YXIgcHJvY2VkaW1pZW50b0FSZWVtcGxhemFyPVtcImNhc29fZ3VhcmRhclwiLFwiY2Fzb190cmFlclwiXTtcclxuICAgICAgICB2YXIgcGFyZW50UHJvYyA9IGF3YWl0IHN1cGVyLmdldFByb2NlZHVyZXMoKTtcclxuICAgICAgICBwYXJlbnRQcm9jID0gcGFyZW50UHJvYy5maWx0ZXIoKHByb2NlZHVyZTphbnkpID0+ICFwcm9jZWRpbWllbnRvQVJlZW1wbGF6YXIuaW5jbHVkZXMocHJvY2VkdXJlLmFjdGlvbikpO1xyXG4gICAgICAgIHBhcmVudFByb2MgPSBwYXJlbnRQcm9jLm1hcChwcm9jRGVmPT57XHJcbiAgICAgICAgICAgIGlmKHByb2NEZWYuYWN0aW9uID09ICd0YWJsZV9yZWNvcmRfc2F2ZScgfHwgcHJvY0RlZi5hY3Rpb24gPT0gJ3RhYmxlX3JlY29yZF9kZWxldGUnKXtcclxuICAgICAgICAgICAgICAgIHZhciBjb3JlRnVuY3Rpb25JbnRlcm5vID0gcHJvY0RlZi5jb3JlRnVuY3Rpb247XHJcbiAgICAgICAgICAgICAgICBwcm9jRGVmLmNvcmVGdW5jdGlvbiA9IGFzeW5jIGZ1bmN0aW9uKGNvbnRleHQ6Q29udGV4dCwgcGFyYW1ldGVyczpDb3JlRnVuY3Rpb25QYXJhbWV0ZXJzKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gYXdhaXQgY29yZUZ1bmN0aW9uSW50ZXJubyhjb250ZXh0LCBwYXJhbWV0ZXJzKVxyXG4gICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtZXRlcnMudGFibGUgPT0gJ2Nhc2lsbGVyb3MnKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmUuY2FjaGVzLnRpbWVzdGFtcEVzdHJ1Y3R1cmEgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3NlIHRvY8OzIGxhIGVzdHJ1Y3R1cmEnLCBiZS5jYWNoZXMudGltZXN0YW1wRXN0cnVjdHVyYSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvY0RlZjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBwYXJlbnRQcm9jLmNvbmNhdChQcm9jZWR1cmVzRG1FbmN1KTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGFzeW5jIGNoZWNrRGF0YWJhc2VTdHJ1Y3R1cmUoX2NsaWVudDpDbGllbnQpe1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgYWRkU2NocsO2ZGluZ2VyU2VydmljZXMobWFpbkFwcDpwcm9jZXNhbWllbnRvLkV4cHJlc3MsIGJhc2VVcmw6c3RyaW5nKXtcclxuICAgICAgICBsZXQgYmU9dGhpcztcclxuICAgICAgICBzdXBlci5hZGRTY2hyw7ZkaW5nZXJTZXJ2aWNlcyhtYWluQXBwLCBiYXNlVXJsKTtcclxuICAgICAgICAvL3Blcm1pdG8gbGV2YW50YXIgbWlzIGltYWdlbmVzIGVuIGFwbGljYWNpb25lcyBkZXBlbmRpZW50ZXNcclxuICAgICAgICBiZS5hcHAudXNlKCcvaW1nJywgZXhwcmVzcy5zdGF0aWMoJ25vZGVfbW9kdWxlcy9kbWVuY3UvZGlzdC91bmxvZ2dlZC91bmxvZ2dlZC9pbWcnKSlcclxuICAgICAgICBtYWluQXBwLnVzZShmdW5jdGlvbihyZXE6UmVxdWVzdCxfcmVzOlJlc3BvbnNlLCBuZXh0Ok5leHRGdW5jdGlvbil7XHJcbiAgICAgICAgICAgIGlmKHJlcS5zZXNzaW9uICYmICFyZXEuc2Vzc2lvbi5pbnN0YWxsKXtcclxuICAgICAgICAgICAgICAgIHJlcS5zZXNzaW9uLmluc3RhbGw9TWF0aC5yYW5kb20oKS50b1N0cmluZygpLnJlcGxhY2UoJy4nLCcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuZXh0KCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBtYWluQXBwLmdldChiYXNlVXJsKycvc2FsdmFyJyxhc3luYyBmdW5jdGlvbihyZXEscmVzLF9uZXh0KXtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBzw6kgcXVlIHZveSBhIHJlY2liaXIgdXNlcmFnZW50IHBvciBsb3MgbWlkZGxld2FyZXMgZGUgQmFja2VuZC1wbHVzXHJcbiAgICAgICAgICAgIHZhciB7dXNlcmFnZW50fSA9IHJlcTtcclxuICAgICAgICAgICAgdmFyIGh0bWxNYWluPWJlLm1haW5QYWdlKHt1c2VyYWdlbnR9LCBmYWxzZSwge3NraXBNZW51OnRydWUsIG9mZmxpbmVGaWxlOnRydWV9KS50b0h0bWxEb2MoKTtcclxuICAgICAgICAgICAgbWluaVRvb2xzLnNlcnZlVGV4dChodG1sTWFpbiwnaHRtbCcpKHJlcSxyZXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG1haW5BcHAuZ2V0KGJhc2VVcmwrJy9jYW1wbycsYXN5bmMgZnVuY3Rpb24ocmVxLHJlcyxfbmV4dCl7XHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgc8OpIHF1ZSB2b3kgYSByZWNpYmlyIHVzZXJhZ2VudCBwb3IgbG9zIG1pZGRsZXdhcmVzIGRlIEJhY2tlbmQtcGx1c1xyXG4gICAgICAgICAgICB2YXIge3VzZXJhZ2VudCwgdXNlcn0gPSByZXE7XHJcbiAgICAgICAgICAgIGlmKHVzZXIpe1xyXG4gICAgICAgICAgICAgICAgLyoqIEB0eXBlIHt7dHlwZTonanMnLCBzcmM6c3RyaW5nfVtdfSAqL1xyXG4gICAgICAgICAgICAgICAgdmFyIHdlYk1hbmlmZXN0UGF0aCA9ICdjYXJnYS1kbS93ZWItbWFuaWZlc3Qud2VibWFuaWZlc3QnO1xyXG4gICAgICAgICAgICAgICAgdmFyIGh0bWxNYWluPWJlLm1haW5QYWdlKHt1c2VyYWdlbnQsIHVzZXJ9LCBmYWxzZSwge3NraXBNZW51OnRydWUsIHdlYk1hbmlmZXN0UGF0aCwgb2ZmbGluZUZpbGU6dHJ1ZX0pLnRvSHRtbERvYygpO1xyXG4gICAgICAgICAgICAgICBtaW5pVG9vbHMuc2VydmVUZXh0KGh0bWxNYWluLCdodG1sJykocmVxLHJlcyk7XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgcmVzLnJlZGlyZWN0KDQwMSwgYmFzZVVybCsnL2xvZ2luI3c9cGF0aCZwYXRoPS9jYW1wbycpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgY3JlYXRlU2VydmljZVdvcmtlciA9IGFzeW5jIGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIHZhciBzdyA9IGF3YWl0IGZzLnJlYWRGaWxlKCdub2RlX21vZHVsZXMvc2VydmljZS13b3JrZXItYWRtaW4vZGlzdC9zZXJ2aWNlLXdvcmtlci13by1tYW5pZmVzdC5qcycsICd1dGY4Jyk7XHJcbiAgICAgICAgICAgIHZhciBtYW5pZmVzdCA9IGJlLmNyZWF0ZVJlc291cmNlc0ZvckNhY2hlSnNvbigpO1xyXG4gICAgICAgICAgICB2YXIgc3dNYW5pZmVzdCA9IHN3XHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShcIicvKnZlcnNpb24qLydcIiwgSlNPTi5zdHJpbmdpZnkobWFuaWZlc3QudmVyc2lvbikpXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShcIicvKmFwcE5hbWUqLydcIiwgSlNPTi5zdHJpbmdpZnkobWFuaWZlc3QuYXBwTmFtZSkpXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxbXFxzKlxcL1xcKnVybHNUb0NhY2hlXFwqXFwvXFxzKlxcXS8sIEpTT04uc3RyaW5naWZ5KG1hbmlmZXN0LmNhY2hlKSlcclxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFtcXHMqXFwvXFwqZmFsbGJhY2tzXFwqXFwvXFxzKlxcXS8sIEpTT04uc3RyaW5naWZ5KG1hbmlmZXN0LmZhbGxiYWNrIHx8IFtdKSk7XHJcbiAgICAgICAgICAgICAgICAvLy5yZXBsYWNlKFwiLyNDQUNIRSQvXCIsIFwiLyhhXFxcXGQrbVxcXFxkK3BcXFxcZCt0XFxcXGQrX2VzdHJ1Y3R1cmEuanMpfChhXFxcXGQrbVxcXFxkK3BcXFxcZCt0XFxcXGQrX2hkci5qc29uKS9cIik7XHJcbiAgICAgICAgICAgIHJldHVybiBzd01hbmlmZXN0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1haW5BcHAuZ2V0KGJhc2VVcmwrYC9zdy1tYW5pZmVzdC5qc2AsIGFzeW5jIGZ1bmN0aW9uKHJlcSwgcmVzLCBuZXh0KXtcclxuICAgICAgICAgICAgdHJ5e1xyXG4gICAgICAgICAgICAgICAgbWluaVRvb2xzLnNlcnZlVGV4dChhd2FpdCBjcmVhdGVTZXJ2aWNlV29ya2VyKCksJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnKShyZXEscmVzKTtcclxuICAgICAgICAgICAgfWNhdGNoKGVycil7XHJcbiAgICAgICAgICAgICAgICBtaW5pVG9vbHMuc2VydmVFcnIocmVxLHJlcyxuZXh0KSh1bmV4cGVjdGVkKGVycikpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbWFpbkFwcC5nZXQoYmFzZVVybCtgL2NhcmdhLWRtL3dlYi1tYW5pZmVzdC53ZWJtYW5pZmVzdGAsIGFzeW5jIGZ1bmN0aW9uKHJlcSwgcmVzLCBuZXh0KXtcclxuICAgICAgICAgICAgY29uc3QgQVBQX05BTUUgPSAoYXdhaXQgYmUuaW5UcmFuc2FjdGlvbihudWxsLCAoY2xpZW50OnBnLkNsaWVudCk9PlxyXG4gICAgICAgICAgICAgICAgY2xpZW50LnF1ZXJ5KFwic2VsZWN0IG9wZXJhdGl2byBmcm9tIHBhcmFtZXRyb3Mgd2hlcmUgdW5pY29fcmVnaXN0cm9cIikuZmV0Y2hVbmlxdWVWYWx1ZSgpXHJcbiAgICAgICAgICAgICkpLnZhbHVlO1xyXG4gICAgICAgICAgICB2YXIgc3VmaWpvID0gYmFzZVVybC5pbmNsdWRlcygndGVzdCcpIHx8IGJhc2VVcmwuaW5jbHVkZXMoJy9wcicpPydfdGVzdCc6XHJcbiAgICAgICAgICAgICAgICBiYXNlVXJsLmluY2x1ZGVzKCdjYXBhJyk/J19jYXBhJzonJztcclxuICAgICAgICAgICAgdHJ5e1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHtcclxuICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IGAke0FQUF9OQU1FfSR7c3VmaWpvfSBQcm9ncmVzc2l2ZSBXZWIgQXBwYCxcclxuICAgICAgICAgICAgICAgICAgXCJzaG9ydF9uYW1lXCI6IGAke0FQUF9OQU1FfSR7c3VmaWpvfSBQV0FgLFxyXG4gICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IGBQcm9ncmVzc2l2ZSBXZWIgQXBwIGZvciAke0FQUF9OQU1FfSR7c3VmaWpvfS5gLFxyXG4gICAgICAgICAgICAgICAgICBcImljb25zXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBcInNyY1wiOiBgLi4vaW1nLyR7QVBQX05BTUV9LWxvZ28tZG0tMzIke3N1Zmlqb30ucG5nYCxcclxuICAgICAgICAgICAgICAgICAgICAgIFwic2l6ZXNcIjogXCIzMngzMlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaW1hZ2UvcG5nXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIFwic3JjXCI6IGAuLi9pbWcvJHtBUFBfTkFNRX0tbG9nby1kbS00OCR7c3VmaWpvfS5wbmdgLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJzaXplc1wiOiBcIjQ4eDQ4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJpbWFnZS9wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCJzcmNcIjogYC4uL2ltZy8ke0FQUF9OQU1FfS1sb2dvLWRtLTY0JHtzdWZpam99LnBuZ2AsXHJcbiAgICAgICAgICAgICAgICAgICAgICBcInNpemVzXCI6IFwiNjR4NjRcIixcclxuICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImltYWdlL3BuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBcInNyY1wiOiBgLi4vaW1nLyR7QVBQX05BTUV9LWxvZ28tZG0tNzIke3N1Zmlqb30ucG5nYCxcclxuICAgICAgICAgICAgICAgICAgICAgIFwic2l6ZXNcIjogXCI3Mng3MlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaW1hZ2UvcG5nXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIFwic3JjXCI6IGAuLi9pbWcvJHtBUFBfTkFNRX0tbG9nby1kbS0xOTIke3N1Zmlqb30ucG5nYCxcclxuICAgICAgICAgICAgICAgICAgICAgIFwic2l6ZXNcIjogXCIxOTJ4MTkyXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJpbWFnZS9wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCJzcmNcIjogYC4uL2ltZy8ke0FQUF9OQU1FfS1sb2dvLWRtLTUxMiR7c3VmaWpvfS5wbmdgLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJzaXplc1wiOiBcIjUxMng1MTJcIixcclxuICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImltYWdlL3BuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgICAuLi5iZS5nZXRDb2xvcnNKc29uKHN1ZmlqbyBhcyBTdWZpam9zQW1iaWVudGUpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtaW5pVG9vbHMuc2VydmVUZXh0KEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpLCAnYXBwbGljYXRpb24vanNvbicpKHJlcSxyZXMpO1xyXG4gICAgICAgICAgICB9Y2F0Y2goZXJyKXtcclxuICAgICAgICAgICAgICAgIG1pbmlUb29scy5zZXJ2ZUVycihyZXEsIHJlcywgbmV4dCkodW5leHBlY3RlZChlcnIpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29sb3JzSnNvbihfc3VmaWpvOiBTdWZpam9zQW1iaWVudGUpe1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIFwic3RhcnRfdXJsXCI6IFwiLi4vY2FtcG9cIixcclxuICAgICAgICAgICAgXCJkaXNwbGF5XCI6IFwic3RhbmRhbG9uZVwiLFxyXG4gICAgICAgICAgICBcInRoZW1lX2NvbG9yXCI6IFwiIzNGNTFCNVwiLFxyXG4gICAgICAgICAgICBcImJhY2tncm91bmRfY29sb3JcIjogXCIjNmQ2MGVkXCJcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhZGRMb2dnZWRTZXJ2aWNlcygpe1xyXG4gICAgICAgIHZhciBiZSA9IHRoaXM7XHJcbiAgICAgICAgc3VwZXIuYWRkTG9nZ2VkU2VydmljZXMoKTtcclxuICAgICAgICBiZS5hcHAuZ2V0KCcvbWFuaWZlc3QubWFuaWZlc3QnLCBhc3luYyBmdW5jdGlvbihyZXE6UmVxdWVzdCwgcmVzOlJlc3BvbnNlLCBfbmV4dDpOZXh0RnVuY3Rpb24pe1xyXG4gICAgICAgICAgICBtaW5pVG9vbHMuc2VydmVGaWxlKCdzcmMvY2xpZW50L21hbmlmZXN0Lm1hbmlmZXN0Jyx7fSkocmVxLHJlcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hcHAuZ2V0KCcvZmlsZScsIGFzeW5jIGZ1bmN0aW9uKHJlcTpSZXF1ZXN0LHJlczpSZXNwb25zZSl7XHJcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBiZS5pblRyYW5zYWN0aW9uKHJlcSwgXHJcbiAgICAgICAgICAgICAgICAoY2xpZW50OnBnLkNsaWVudCk9PlxyXG4gICAgICAgICAgICAgICAgY2xpZW50LnF1ZXJ5KFwic2VsZWN0IHJ1dGEgZnJvbSBhZGp1bnRvcyB3aGVyZSBpZF9hZGp1bnRvID0gJDFcIixbcmVxLnF1ZXJ5LmlkX2FkanVudG9dKVxyXG4gICAgICAgICAgICAgICAgLmZldGNoVW5pcXVlVmFsdWUoKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB2YXIgcGF0aCA9IHJlc3VsdC52YWx1ZTtcclxuICAgICAgICAgICAgbWluaVRvb2xzLnNlcnZlRmlsZShwYXRoLHt9KShyZXEscmVzKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFwcC5nZXQoJy9pbWFnZW5lcycsIGFzeW5jIGZ1bmN0aW9uKHJlcTpSZXF1ZXN0LHJlczpSZXNwb25zZSl7XHJcbiAgICAgICAgICAgIG1pbmlUb29scy5zZXJ2ZUZpbGUoJ2xvY2FsLWltYWdlcy8nK3JlcS5xdWVyeS5wZGYse30pKHJlcSxyZXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYXBwLmdldCgnL2Rvd25sb2FkL2FsbCcsYXN5bmMgZnVuY3Rpb24ocmVxOlJlcXVlc3QsIHJlczpSZXNwb25zZSwgbmV4dDooKT0+dm9pZCl7XHJcbiAgICAgICAgICAgIGlmKHJlcS51c2VyPT1udWxsIHx8IHJlcS51c2VyLnJvbCE9J2FkbWluJyl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnbm8gZXN0w6EgYXV0b3JpemFkbyBhIGJhamFyc2UgdG9kbycscmVxLnVzZXIpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV4dCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCB6aXAgPSBuZXcgeWF6bC5aaXBGaWxlKCk7XHJcbiAgICAgICAgICAgIHppcC5vdXRwdXRTdHJlYW0ucGlwZShyZXMpO1xyXG4gICAgICAgICAgICBsZXQgYmFzZSA9ICdsb2NhbC1hdHRhY2htZW50cydcclxuICAgICAgICAgICAgbGV0IGZpbGVzID0gYXdhaXQgZnMucmVhZGRpcihiYXNlKTtcclxuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoZmlsZXMubWFwKGFzeW5jIGZ1bmN0aW9uKGZpbGVOYW1lOnN0cmluZyl7XHJcbiAgICAgICAgICAgICAgICB2YXIgcGF0aCA9IGJhc2UrJy8nK2ZpbGVOYW1lO1xyXG4gICAgICAgICAgICAgICAgdmFyIHN0YXQgPSBhd2FpdCBmcy5zdGF0KHBhdGgpO1xyXG4gICAgICAgICAgICAgICAgaWYoc3RhdC5pc0ZpbGUoKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgemlwLmFkZEZpbGUocGF0aCxmaWxlTmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgemlwLmVuZCgpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhc3luYyBwb3N0Q29uZmlnKCl7XHJcbiAgICAgICAgYXdhaXQgc3VwZXIucG9zdENvbmZpZygpO1xyXG4gICAgICAgIHZhciBiZT10aGlzO1xyXG4gICAgICAgIGJlLmNhY2hlcy5tZXRhRW5jSW5jbHVpckNhc2lsbGVyb3NTYWx0b1JFTCA9IGZhbHNlO1xyXG4gICAgICAgIGF3YWl0IGJlLmluVHJhbnNhY3Rpb24obnVsbCwgYXN5bmMgZnVuY3Rpb24oY2xpZW50OnBnLkNsaWVudCl7XHJcbiAgICAgICAgICAgIHZhciBxUGVybWlzb3M9YFxyXG4gICAgICAgICAgICBTRUxFQ1QganNvbmJfb2JqZWN0X2FnZyhyLnJvbCxqc29uYl9idWlsZF9vYmplY3QoJ3N1cGVydXNlcicsci5zdXBlcnVzZXIsJ3B1ZWRlJywoXHJcbiAgICAgICAgICAgICAgICAgIFNFTEVDVCBqc29uYl9vYmplY3RfYWdnKHJwLnBlcm1pc28sKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBTRUxFQ1QganNvbmJfb2JqZWN0X2FnZyhycGEuYWNjaW9uLHJwYS5oYWJpbGl0YWRvKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEZST00gcm9sZXNfcGVybWlzb3MgcnBhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcnBhLnJvbD1ycC5yb2wgQU5EIHJwYS5wZXJtaXNvPXJwLnBlcm1pc29cclxuICAgICAgICAgICAgICAgICAgICApKVxyXG4gICAgICAgICAgICAgICAgICAgIEZST00gcm9sZXNfcGVybWlzb3MgcnBcclxuICAgICAgICAgICAgICAgICAgICBXSEVSRSBycC5yb2w9ci5yb2wgI2NvbmRIYWJpbGl0YWRvI1xyXG4gICAgICAgICAgICAgICkpKVxyXG4gICAgICAgICAgICAgIEZST00gcm9sZXMgclxyXG4gICAgICAgICAgICBgO1xyXG4gICAgICAgICAgICB2YXIgcmVzdWx0cyA9IFtcclxuICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5xdWVyeShxUGVybWlzb3MucmVwbGFjZSgnI2NvbmRIYWJpbGl0YWRvIycsJycpKS5mZXRjaFVuaXF1ZVZhbHVlKCksXHJcbiAgICAgICAgICAgICAgICBhd2FpdCBjbGllbnQucXVlcnkocVBlcm1pc29zLnJlcGxhY2UoJyNjb25kSGFiaWxpdGFkbyMnLGAgYW5kIHJwLiR7cGcucXVvdGVJZGVudCgnaGFiaWxpdGFkbycpfWApKS5mZXRjaFVuaXF1ZVZhbHVlKCksXHJcbiAgICAgICAgICAgICAgICBhd2FpdCBjbGllbnQucXVlcnkoYFxyXG4gICAgICAgICAgICAgICAgICAgIFNFTEVDVCBqc29uYl9vYmplY3RfYWdnKHBlcm1pc28sKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBTRUxFQ1QganNvbmJfb2JqZWN0X2FnZyhhY2Npb24sdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBGUk9NIHBlcm1pc29zIHBhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcGEucGVybWlzbz1wLnBlcm1pc29cclxuICAgICAgICAgICAgICAgICAgICAgICkpXHJcbiAgICAgICAgICAgICAgICAgICAgICBGUk9NIHBlcm1pc29zIHBcclxuICAgICAgICAgICAgICAgIGApLmZldGNoVW5pcXVlVmFsdWUoKVxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICBiZS5jYWNoZXMucGVybWlzb3NSb2w9cmVzdWx0c1swXS52YWx1ZTtcclxuICAgICAgICAgICAgYmUuY2FjaGVzLnBlcm1pc29zUm9sU29sb1RydWU9cmVzdWx0c1sxXS52YWx1ZTtcclxuICAgICAgICAgICAgYmUuY2FjaGVzLnBlcm1pc29zU3VwZXJ1c2VyPXJlc3VsdHNbMl0udmFsdWU7XHJcbiAgICAgICAgICAgIGJlLmNhY2hlcy5wZXJtaXNvc1BhcmFOYWRpZT1saWtlQXIoYmUuY2FjaGVzLnBlcm1pc29zU3VwZXJ1c2VyKS5tYXAocD0+bGlrZUFyKHApLm1hcChfPT5mYWxzZSkucGxhaW4oKSkucGxhaW4oKVxyXG4gICAgICAgICAgICAvL2NvbnNvbGUuZGlyKGJlLmNhY2hlcy5wZXJtaXNvc1JvbFNvbG9UcnVlLHtkZXB0aDo5fSk7XHJcbiAgICAgICAgICAgIC8vY29uc29sZS5kaXIoYmUuY2FjaGVzLnBlcm1pc29zU3VwZXJ1c2VyLHtkZXB0aDo5fSk7XHJcbiAgICAgICAgICAgIC8vY29uc29sZS5kaXIoYmUuY2FjaGVzLnBlcm1pc29zUGFyYU5hZGllLHtkZXB0aDo5fSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoQ2FjaGVzKCk7XHJcbiAgICAgICAgYXdhaXQgcmVnaXN0cmFyQ3JvbkpvYlBhc2FyQVByb2llKGJlKTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGNvbmZpZ1N0YXRpY0NvbmZpZygpe1xyXG4gICAgICAgIHN1cGVyLmNvbmZpZ1N0YXRpY0NvbmZpZygpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGljQ29uZmlnKGRlZkNvbmZpZyk7XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBjbGllbnRJbmNsdWRlcyhyZXE6UmVxdWVzdCwgb3B0czpPcHRzQ2xpZW50UGFnZSk6Q2xpZW50TW9kdWxlRGVmaW5pdGlvbltdIHtcclxuICAgICAgICB2YXIgYmUgPSB0aGlzO1xyXG4gICAgICAgIHZhciB1bmxvZ2dlZCA9IG9wdHMgJiYgb3B0cy5vZmZsaW5lRmlsZTtcclxuICAgICAgICB2YXIgbWVudWVkUmVzb3VyY2VzOkNsaWVudE1vZHVsZURlZmluaXRpb25bXT0gdW5sb2dnZWQ/W1xyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi91bmxvZ2dlZC91bmxvZ2dlZCcsIGZpbGU6ICd1bmxvZ2dlZC5qcycsIHBhdGg6ICdkbWVuY3UnIH0sXHJcbiAgICAgICAgXTpbXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL2NsaWVudC9jbGllbnQnLCBmaWxlOiAnY2xpZW50LmpzJywgcGF0aDogJ2RtZW5jdScgfSxcclxuICAgICAgICBdO1xyXG4gICAgICAgIGlmKG9wdHMgJiYgb3B0cy5leHRyYUZpbGVzKXtcclxuICAgICAgICAgICAgbWVudWVkUmVzb3VyY2VzID0gbWVudWVkUmVzb3VyY2VzLmNvbmNhdChvcHRzLmV4dHJhRmlsZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZXh0ZXJuYWxSZXNvdXJjZXM6Q2xpZW50TW9kdWxlRGVmaW5pdGlvbltdID0gW1xyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ3JlYWN0JywgbW9kUGF0aDogJ3VtZCcsIGZpbGVEZXZlbG9wbWVudDoncmVhY3QuZGV2ZWxvcG1lbnQuanMnLCBmaWxlOidyZWFjdC5wcm9kdWN0aW9uLm1pbi5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdyZWFjdC1kb20nLCBtb2RQYXRoOiAndW1kJywgZmlsZURldmVsb3BtZW50OidyZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMnLCBmaWxlOidyZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnQG1hdGVyaWFsLXVpL2NvcmUnLCBtb2RQYXRoOiAndW1kJywgZmlsZURldmVsb3BtZW50OidtYXRlcmlhbC11aS5kZXZlbG9wbWVudC5qcycsIGZpbGU6J21hdGVyaWFsLXVpLnByb2R1Y3Rpb24ubWluLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ2Nsc3gnLCBmaWxlOidjbHN4Lm1pbi5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdyZWR1eCcsIG1vZFBhdGg6Jy4uL2Rpc3QnLCBmaWxlRGV2ZWxvcG1lbnQ6J3JlZHV4LmpzJywgZmlsZToncmVkdXgubWluLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ3JlYWN0LXJlZHV4JywgbW9kUGF0aDonLi4vZGlzdCcsIGZpbGVEZXZlbG9wbWVudDoncmVhY3QtcmVkdXguanMnLCBmaWxlOidyZWFjdC1yZWR1eC5taW4uanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnbWVtb2l6ZS1vbmUnLCAgZmlsZTonbWVtb2l6ZS1vbmUuanMnIH0sXHJcbiAgICAgICAgICAgIC8veyB0eXBlOiAnanMnLCBtb2R1bGU6ICdxcmNvZGUnLCBtb2RQYXRoOiAnLi4vYnVpbGQnLCBmaWxlOiAncXJjb2RlLmpzJ30sXHJcbiAgICAgICAgICAgIC4uLnN1cGVyLmNsaWVudEluY2x1ZGVzKHJlcSwgb3B0cykuZmlsdGVyKG09Pm0uZmlsZSE9J2Zvcm11bGFyaW9zLmNzcycpXHJcbiAgICAgICAgICAgIC5maWx0ZXIobT0+IXVubG9nZ2VkIHx8IHRydWVcclxuICAgICAgICAgICAgICAgICYmIG0uZmlsZSE9J3Zhci1jYWwuanMnXHJcbiAgICAgICAgICAgICAgICAmJiBtLmZpbGUhPSd2YXItY2FsLmpzJyAgICAgXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnc2VydmljZS13b3JrZXItYWRtaW4nLCAgZmlsZTonc2VydmljZS13b3JrZXItYWRtaW4uanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAncmVkdXgtdHlwZWQtcmVkdWNlcicsIG1vZFBhdGg6Jy4uL2Rpc3QnLCBmaWxlOidyZWR1eC10eXBlZC1yZWR1Y2VyLmpzJyB9XHJcbiAgICAgICAgXTtcclxuICAgICAgICB2YXIgcmVzb3VyY2VzOkNsaWVudE1vZHVsZURlZmluaXRpb25bXSA9IFtcclxuICAgICAgICAgICAgLi4uZXh0ZXJuYWxSZXNvdXJjZXMsXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL3VubG9nZ2VkL3VubG9nZ2VkJywgZmlsZTogJ2FkYXB0LmpzJywgcGF0aDogJ2RtZW5jdScgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdkbWVuY3UnLCBtb2RQYXRoOiAnLi4vLi4vdW5sb2dnZWQvdW5sb2dnZWQnLCBmaWxlOiAndGlwb3MuanMnLCBwYXRoOiAnZG1lbmN1JyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi91bmxvZ2dlZC91bmxvZ2dlZCcsIGZpbGU6ICdieXBhc3MtZm9ybXVsYXJpby5qcycsIHBhdGg6ICdkbWVuY3UnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL3VubG9nZ2VkL3VubG9nZ2VkJywgZmlsZTogJ3JlZHV4LWZvcm11bGFyaW8uanMnLCBwYXRoOiAnZG1lbmN1JyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi91bmxvZ2dlZC91bmxvZ2dlZCcsIGZpbGU6ICdyZW5kZXItZ2VuZXJhbC5qcycsIHBhdGg6ICdkbWVuY3UnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL3VubG9nZ2VkL3VubG9nZ2VkJywgZmlsZTogJ3JlbmRlci1mb3JtdWxhcmlvLmpzJywgcGF0aDogJ2RtZW5jdScgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdkbWVuY3UnLCBtb2RQYXRoOiAnLi4vLi4vdW5sb2dnZWQvdW5sb2dnZWQnLCBmaWxlOiAnYWJyaXItZm9ybXVsYXJpby5qcycsIHBhdGg6ICdkbWVuY3UnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2NzcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi9jbGllbnQvY2xpZW50L2NzcycsIGZpbGU6ICdtZW51LmNzcycsIHBhdGg6ICdjc3MnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2NzcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi91bmxvZ2dlZC91bmxvZ2dlZC9jc3MnLCBmaWxlOiAnZm9ybXVsYXJpby1yZWFjdC5jc3MnLCBwYXRoOiAnY3NzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdjc3MnLCBtb2R1bGU6ICdkbWVuY3UnLCBtb2RQYXRoOiAnLi4vLi4vdW5sb2dnZWQvdW5sb2dnZWQvY3NzJywgZmlsZTogJ2Jvb3RzdHJhcC5taW4uY3NzJywgcGF0aDogJ2NzcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAndHRmJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL3VubG9nZ2VkL3VubG9nZ2VkL2NzcycsIGZpbGU6ICdSb2JvdG8tUmVndWxhci50dGYnLCBwYXRoOiAnY3NzJyB9LFxyXG4gICAgICAgICAgICAuLi4gbWVudWVkUmVzb3VyY2VzLFxyXG4gICAgICAgIF1cclxuICAgICAgICByZXR1cm4gcmVzb3VyY2VzXHJcbiAgICAgICAgLy8gLm1hcChtPT4oey4uLm0sIGZpbGU6bS5maWxlRGV2ZWxvcG1lbnR8fG0uZmlsZX0pKTtcclxuICAgIH1cclxuICAgIGFzeW5jIHJlZnJlc2hDYWNoZXMoKXtcclxuICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQgPSB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQgfHwge307XHJcbiAgICAgICAgYXdhaXQgdGhpcy5pbkRiQ2xpZW50KG51bGwsIGFzeW5jIChjbGllbnQpPT57XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5ub19yZWEgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBzZWxlY3QgKiBmcm9tIG5vX3JlYSBvcmRlciBieSBub19yZWFgKS5mZXRjaEFsbCgpKS5yb3dzO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGVzJyx0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhKVxyXG4gICAgICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX2dyb3VwcyA9IChhd2FpdCBjbGllbnQucXVlcnkoYFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0IGdydXBvLCBqc29uYl9hZ2codG9fanNvbihyLiopKSBhcyBjb2RpZ29zIGZyb20gbm9fcmVhIHIgZ3JvdXAgYnkgZ3J1cG8gb3JkZXIgYnkgMVxyXG4gICAgICAgICAgICBgKS5mZXRjaEFsbCgpKS5yb3dzO1xyXG4gICAgICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX2dyb3VwczAgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBcclxuICAgICAgICAgICAgICAgIHNlbGVjdCBncnVwbzAgYXMgZ3J1cG8sIGpzb25iX2FnZyh0b19qc29uKHIuKikpIGFzIGNvZGlnb3MgZnJvbSBub19yZWEgciBncm91cCBieSBncnVwbzAgb3JkZXIgYnkgMVxyXG4gICAgICAgICAgICBgKS5mZXRjaEFsbCgpKS5yb3dzO1xyXG4gICAgICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX3N1cCA9IChhd2FpdCBjbGllbnQucXVlcnkoYHNlbGVjdCAqIGZyb20gbm9fcmVhX3N1cCBvcmRlciBieSBub19yZWFfc3VwYCkuZmV0Y2hBbGwoKSkucm93cztcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ2NhY2hlcycsdGhpcy5jYWNoZXMudGFibGVDb250ZW50Lm5vX3JlYV9zdXApXHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5ub19yZWFfc3VwX2dyb3VwcyA9IChhd2FpdCBjbGllbnQucXVlcnkoYFxyXG4gICAgICAgICAgICBzZWxlY3QgZ3J1cG9fc3VwLCBqc29uYl9hZ2codG9fanNvbihyLiopKSBhcyBjb2RpZ29zIGZyb20gbm9fcmVhX3N1cCByIGdyb3VwIGJ5IGdydXBvX3N1cCBvcmRlciBieSAxXHJcbiAgICAgICAgICAgIGApLmZldGNoQWxsKCkpLnJvd3M7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5ub19yZWFfc3VwX2dyb3VwczAgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBcclxuICAgICAgICAgICAgc2VsZWN0IGdydXBvMF9zdXAgYXMgZ3J1cG8sIGpzb25iX2FnZyh0b19qc29uKHIuKikpIGFzIGNvZGlnb3MgZnJvbSBub19yZWFfc3VwIHIgZ3JvdXAgYnkgZ3J1cG8wX3N1cCBvcmRlciBieSAxXHJcbiAgICAgICAgYCkuZmV0Y2hBbGwoKSkucm93cztcclxuICAgICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQuY29uUmVhSG9nYXIgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBcclxuICAgICAgICAgICAgc2VsZWN0IGNvbl9yZWFfaG9nYXIsb3BlcmF0aXZvIGZyb20gb3BlcmF0aXZvc1xyXG4gICAgICAgICAgICAgYCkuZmV0Y2hVbmlxdWVSb3coKSkucm93O1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGVzJyx0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQuY29uUmVhSG9nYXIpXHJcbiAgICAgICAgfSlcclxuICAgICAgICBjb25zb2xlLmxvZygnY2FjaGVzIG9rJyk7XHJcbiAgICB9XHJcbiAgICAvL3NxbE5vcmVhQ2FzZShjYW1wb05lY2VzYXJpbzpzdHJpbmcpe1xyXG4gICAgLy8gICAgdmFyIGJlPXRoaXM7XHJcbiAgICAvLyAgICByZXR1cm4gYENBU0UgJHtiZS5jYWNoZXMudGFibGVDb250ZW50Lm5vX3JlYS5tYXAoeD0+XHJcbiAgICAvLyAgICAgICAgYCBXSEVOIG5vcmVhICA9ICR7YmUuZGIucXVvdGVMaXRlcmFsKHgubm9fcmVhKX06OmludGVnZXIgVEhFTiAke2JlLmRiLnF1b3RlTGl0ZXJhbCh4W2NhbXBvTmVjZXNhcmlvXSl9YFxyXG4gICAgLy8gICAgKS5qb2luKCcnKX0gV0hFTiBUUlVFIFRIRU4gTlVMTCBFTkRgXHJcbiAgICAvL30gICAgXHJcbiAgICBvdmVycmlkZSBnZXRDb250ZXh0KHJlcTpSZXF1ZXN0KTpDb250ZXh0e1xyXG4gICAgICAgIHZhciBiZSA9IHRoaXM7XHJcbiAgICAgICAgdmFyIGZhdGhlckNvbnRleHQgPSBzdXBlci5nZXRDb250ZXh0KHJlcSk7XHJcbiAgICAgICAgaWYoZmF0aGVyQ29udGV4dC51c2VyKXtcclxuICAgICAgICAgICAgaWYocmVxLnVzZXI/LnJvbCAhPW51bGwgJiYgYmUuY2FjaGVzLnBlcm1pc29zUm9sW3JlcS51c2VyLnJvbF0/LnN1cGVydXNlcil7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge3N1cGVydXNlcjp0cnVlLCBwdWVkZTogYmUuY2FjaGVzLnBlcm1pc29zU3VwZXJ1c2VyLCAuLi5mYXRoZXJDb250ZXh0fVxyXG4gICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7cHVlZGU6IGJlLmNhY2hlcy5wZXJtaXNvc1JvbFtyZXEudXNlci5yb2xdPy5wdWVkZSwgLi4uZmF0aGVyQ29udGV4dH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge3B1ZWRlOmJlLmNhY2hlcy5wZXJtaXNvc1BhcmFOYWRpZSwgLi4uZmF0aGVyQ29udGV4dH07XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBnZXRDb250ZXh0Rm9yRHVtcCgpOkNvbnRleHR7XHJcbiAgICAgICAgdmFyIGZhdGhlckNvbnRleHQgPSBzdXBlci5nZXRDb250ZXh0Rm9yRHVtcCgpO1xyXG4gICAgICAgIHJldHVybiB7c3VwZXJ1c2VyOnRydWUsIHB1ZWRlOiB0aGlzLmNhY2hlcy5wZXJtaXNvc1N1cGVydXNlciwgLi4uZmF0aGVyQ29udGV4dH07XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhc3luYyBnZXRDbGllbnRTZXR1cEZvclNlbmRUb0Zyb250RW5kKHJlcTpSZXF1ZXN0KXtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi4oYXdhaXQgc3VwZXIuZ2V0Q2xpZW50U2V0dXBGb3JTZW5kVG9Gcm9udEVuZChyZXEpKSxcclxuICAgICAgICAgICAgaWRwZXI6IHJlcS51c2VyPy5pZHBlclxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGNyZWF0ZVJlc291cmNlc0ZvckNhY2hlSnNvbigpe1xyXG4gICAgICAgIHZhciBiZSA9IHRoaXM7XHJcbiAgICAgICAgdmFyIGpzb25SZXN1bHQgPSB7XHJcbiAgICAgICAgICAgIHZlcnNpb246IEFQUF9ETV9WRVJTSU9OLFxyXG4gICAgICAgICAgICBhcHBOYW1lOiAnZG1lbmN1JyxcclxuICAgICAgICAgICAgY2FjaGU6IFtcclxuICAgICAgICAgICAgICAgIFwiY2FtcG9cIixcclxuICAgICAgICAgICAgICAgIFwib2ZmbGluZVwiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvcmVhY3QucHJvZHVjdGlvbi5taW4uanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL3JlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbWF0ZXJpYWwtdWkucHJvZHVjdGlvbi5taW4uanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL2Nsc3gubWluLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9yZWR1eC5taW4uanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL3JlYWN0LXJlZHV4Lm1pbi5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbWVtb2l6ZS1vbmUuanNcIixcclxuICAgICAgICAgICAgICAgIC8vXCJsaWIvcXJjb2RlLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9yZXF1aXJlLWJyby5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvY2FzdC1lcnJvci5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbGlrZS1hci5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvYmVzdC1nbG9iYWxzLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9qc29uNGFsbC5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvanMtdG8taHRtbC5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvcmVkdXgtdHlwZWQtcmVkdWNlci5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJkbWVuY3UvYWRhcHQuanNcIixcclxuICAgICAgICAgICAgICAgIFwiZG1lbmN1L3VubG9nZ2VkLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9qcy15YW1sLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi94bHN4LmNvcmUubWluLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9sYXp5LXNvbWUuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL3NxbC10b29scy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJkaWFsb2ctcHJvbWlzZS9kaWFsb2ctcHJvbWlzZS5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJtb21lbnQvbWluL21vbWVudC5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJwaWthZGF5L3Bpa2FkYXkuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL3BvbHlmaWxscy1icm8uanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL2JpZy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvdHlwZS1zdG9yZS5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvdHlwZWQtY29udHJvbHMuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL2FqYXgtYmVzdC1wcm9taXNlLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcIm15LWFqYXguanNcIixcclxuICAgICAgICAgICAgICAgIFwibXktc3RhcnQuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL215LWxvY2FsZGIuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL215LXdlYnNxbGRiLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9teS1sb2NhbGRiLmpzLm1hcFwiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbXktd2Vic3FsZGIuanMubWFwXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9teS10aGluZ3MuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL215LXRhYmxlcy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbXktaW5mb3JtLW5ldC1zdGF0dXMuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL215LW1lbnUuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL215LXNraW4uanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL2NsaWVudGUtZW4tY2FzdGVsbGFuby5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvc2VydmljZS13b3JrZXItYWRtaW4uanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL3JlZHV4LXR5cGVkLXJlZHVjZXIuanNcIixcclxuICAgICAgICAgICAgICAgIFwiY2xpZW50X21vZHVsZXMvb3BlcmF0aXZvcy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjbGllbnRfbW9kdWxlcy92YXJjYWwuanNcIixcclxuICAgICAgICAgICAgICAgIFwiY2xpZW50X21vZHVsZXMvZm9ybS1zdHJ1Y3R1cmUuanNcIixcclxuICAgICAgICAgICAgICAgIFwiY2xpZW50X21vZHVsZXMvbWV0YS1lbmMuanNcIixcclxuICAgICAgICAgICAgICAgIFwiY2xpZW50X21vZHVsZXMvZGF0b3MtZXh0LmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImNsaWVudF9tb2R1bGVzL2NvbnNpc3RlbmNpYXMuanNcIixcclxuICAgICAgICAgICAgICAgIFwiY2xpZW50X21vZHVsZXMvcHJvY2VzYW1pZW50by5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJkbWVuY3UvdGlwb3MuanNcIixcclxuICAgICAgICAgICAgICAgIFwiZG1lbmN1L2J5cGFzcy1mb3JtdWxhcmlvLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImRtZW5jdS9yZWR1eC1mb3JtdWxhcmlvLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImRtZW5jdS9yZW5kZXItZ2VuZXJhbC5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJkbWVuY3UvcmVuZGVyLWZvcm11bGFyaW8uanNcIixcclxuICAgICAgICAgICAgICAgIFwiZG1lbmN1L2FicmlyLWZvcm11bGFyaW8uanNcIixcclxuICAgICAgICAgICAgICAgIFwiY2xpZW50X21vZHVsZXMvcm93LXZhbGlkYXRvci5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjbGllbnQvbWVudS5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpbWcvbG9nby5wbmdcIixcclxuICAgICAgICAgICAgICAgIC8vXCJpbWcvbG9nby1kbS5wbmdcIixcclxuICAgICAgICAgICAgICAgIFwiaW1nL2xvZ28tMTI4LnBuZ1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpbWcvbWFpbi1sb2FkaW5nLmdpZlwiLFxyXG4gICAgICAgICAgICAgICAgXCJpbWcvYm9ycmFyLXZhbG9yLnBuZ1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpbWcvZm9uZG8tc2FsdGVhZG8tZXJyb3IucG5nXCIsXHJcbiAgICAgICAgICAgICAgICBcImltZy9mb25kby1zYWx0ZWFkby5wbmdcIixcclxuICAgICAgICAgICAgICAgIFwiaW1nL2JhY2tncm91bmQtdGVzdC5wbmdcIixcclxuICAgICAgICAgICAgICAgIFwiY2xpZW50LXNldHVwXCIsXHJcbiAgICAgICAgICAgICAgICBcImNzcy9ib290c3RyYXAubWluLmNzc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjc3MvZm9ybXVsYXJpby1yZWFjdC5jc3NcIixcclxuICAgICAgICAgICAgICAgIFwicGlrYWRheS9waWthZGF5LmNzc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJkaWFsb2ctcHJvbWlzZS9kaWFsb2ctcHJvbWlzZS5jc3NcIixcclxuICAgICAgICAgICAgICAgIFwicmVsLWVuYy9lc3RhZG9zLmNzc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjc3MvbXktdGFibGVzLmNzc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjc3MvbXktbWVudS5jc3NcIixcclxuICAgICAgICAgICAgICAgIFwiY3NzL215LXRoaW5ncy5jc3NcIixcclxuICAgICAgICAgICAgICAgIFwiY3NzL21lbnUuY3NzXCIsXHJcbiAgICAgICAgICAgICAgICBcInJlbC1lbmMvbXktdGhpbmdzMi5jc3NcIixcclxuICAgICAgICAgICAgICAgIFwiY3NzL2Zvcm11bGFyaW8tcmVhY3QuY3NzXCIsXHJcbiAgICAgICAgICAgICAgICBcImNzcy9Sb2JvdG8tUmVndWxhci50dGZcIlxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBmYWxsYmFjazogW1xyXG4gICAgICAgICAgICAgICAge1wicGF0aFwiOlwibG9naW5cIiwgXCJmYWxsYmFja1wiOlwib2ZmbGluZVwifSxcclxuICAgICAgICAgICAgICAgIHtcInBhdGhcIjpcImxvZ291dFwiLCBcImZhbGxiYWNrXCI6XCJvZmZsaW5lXCJ9LFxyXG4gICAgICAgICAgICAgICAge1wicGF0aFwiOlwibG9naW4jaT1zaW5jcm9uaXphclwiLCBcImZhbGxiYWNrXCI6XCJvZmZsaW5lXCJ9LFxyXG4gICAgICAgICAgICAgICAge1wicGF0aFwiOlwibWVudSNpPXNpbmNyb25pemFyXCIsIFwiZmFsbGJhY2tcIjpcIm9mZmxpbmVcIn1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIGpzb25SZXN1bHRcclxuICAgIH1cclxuICAgIGdldE1lbnVDb250cm9sZXMoY29udGV4dDpDb250ZXh0KSB7IHJldHVybiBbXHJcbiAgICAgICAge21lbnVUeXBlOidwcm9jJywgbmFtZTonZW5jdWVzdGFzX3Byb2Nlc2FtaWVudG9fcGFzYXInLCBsYWJlbDogJ3Bhc2FyIGVuY3Vlc3RhcyBhIHByb2Nlc2FtaWVudG8nfSxcclxuICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZToncmVzdW1lbicsIHRhYmxlOidjb250cm9sX3Jlc3VtZW4nLCBzZWxlY3RlZEJ5RGVmYXVsdDp0cnVlfSxcclxuICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonZG9taW5pbycsIHRhYmxlOidjb250cm9sX2NhbXBvX2RvbWluaW8nfSxcclxuICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonem9uYScgICAsIHRhYmxlOidjb250cm9sX2NhbXBvX3pvbmEnICB9LFxyXG4gICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidjb211bmEnICwgdGFibGU6J2NvbnRyb2xfY2FtcG9fY29tdW5hJ30sXHJcbiAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J8OhcmVhJyAgICwgdGFibGU6J2NvbnRyb2xfY2FtcG9fYXJlYScgIH0sXHJcbiAgICBdO1xyXG4gICAgfVxyXG4gICAgZ2V0TWVudUxpbXBpZXphKGNvbnRleHQ6Q29udGV4dCkgeyBcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICB7bWVudVR5cGU6J3Byb2MnLCBuYW1lOidpbnRlcmNhbWJpYXJfZW5jdWVzdGFzJ30sXHJcbiAgICAgICAgXTtcclxuICAgIH0gICAgXHJcbiAgICBnZXRNZW51KGNvbnRleHQ6Q29udGV4dCl7XHJcbiAgICAgICAgbGV0IG1lbnU6TWVudUluZm9CYXNlW10gPSBbXTtcclxuICAgICAgICBsZXQgZmlsdHJvUmVjZXBjaW9uaXN0YSA9IGNvbnRleHQudXNlci5yb2w9PSdyZWNlcGNpb25pc3RhJyA/IHtyZWNlcGNpb25pc3RhOiBjb250ZXh0LnVzZXIuaWRwZXJ9IDoge307XHJcbiAgICAgICAgaWYodGhpcy5jb25maWcuc2VydmVyLnBvbGljeT09J3dlYicpe1xyXG4gICAgICAgICAgICBpZihjb250ZXh0LnB1ZWRlPy5lbmN1ZXN0YXMucmVsZXZhcil7XHJcbiAgICAgICAgICAgICAgICBpZih0aGlzLmNvbmZpZ1snY2xpZW50LXNldHVwJ10uYW1iaWVudGU9PSdkZW1vJyB8fCB0aGlzLmNvbmZpZ1snY2xpZW50LXNldHVwJ10uYW1iaWVudGU9PSd0ZXN0JyB8fCB0aGlzLmNvbmZpZ1snY2xpZW50LXNldHVwJ10uYW1iaWVudGU9PSdjYXBhJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVudS5wdXNoKHttZW51VHlwZTonZGVtbycsIG5hbWU6J2RlbW8nLCBzZWxlY3RlZEJ5RGVmYXVsdDp0cnVlfSlcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIG1lbnUucHVzaCh7bWVudVR5cGU6J3BhdGgnLCBuYW1lOidyZWxldmFtaWVudG8nLCBwYXRoOicvY2FtcG8nfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG1lbnUucHVzaChcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3NpbmNyb25pemFyX2RtJywgbmFtZTonc2luY3Jvbml6YXInfSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgaWYoY29udGV4dC5wdWVkZT8uY2FtcG8/LmVkaXRhcil7XHJcbiAgICAgICAgICAgICAgICBsZXQgc3VibWVudUFzaWduYWNpb246TWVudUluZm9CYXNlW10gPSBbXVxyXG4gICAgICAgICAgICAgICAgbGV0IHN1Ym1lbnVSZWNlcGNpb246TWVudUluZm9CYXNlW10gPSBbXVxyXG4gICAgICAgICAgICAgICAgaWYgKGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHN1Ym1lbnVBc2lnbmFjaW9uLnB1c2goeyBtZW51VHlwZTogJ3RhYmxlJywgbmFtZTogJ2dlbmVyYWwnLCB0YWJsZTogJ2FyZWFzX2FzaWduYWNpb25fZ2VuZXJhbCcgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzdWJtZW51QXNpZ25hY2lvbi5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgIHsgbWVudVR5cGU6ICd0YWJsZScsIG5hbWU6ICdlbmN1ZXN0YWRvcicsIHRhYmxlOiAndF9lbmN1X2FyZWFzJywgZmY6IHsgdGFyZWE6ICdlbmN1JywgLi4uZmlsdHJvUmVjZXBjaW9uaXN0YSB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgeyBtZW51VHlwZTogJ3RhYmxlJywgbmFtZTogJ3JlY3VwZXJhZG9yJywgdGFibGU6ICd0YXJlYXNfdGVtX3JlY3UnLCBmZjogeyB0YXJlYV9hc2lnbmFyOiAncmVjdScsIHRhcmVhOiAncmVjdScsIC4uLmZpbHRyb1JlY2VwY2lvbmlzdGEgfSB9LFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcil7XHJcbiAgICAgICAgICAgICAgICAgICAgc3VibWVudUFzaWduYWNpb24ucHVzaChcclxuICAgICAgICAgICAgICAgICAgICAgICAgeyBtZW51VHlwZTogJ3RhYmxlJywgbmFtZTogJ3N1cGVydmlzb3InICwgdGFibGU6ICd0YXJlYXNfdGVtX3N1cGUnLCBmZjogeyB0YXJlYV9hc2lnbmFyOiAnc3VwZScsIHRhcmVhOiAnc3VwZScsIC4uLmZpbHRyb1JlY2VwY2lvbmlzdGEgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzdWJtZW51UmVjZXBjaW9uLnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2VuY3Vlc3RhZG9yJywgdGFibGU6J2VuY3Vlc3RhZG9yZXNfYXNpZ25hZG9zJ30sXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3JlY3VwZXJhZG9yJywgdGFibGU6J3JlY3VwZXJhZG9yZXNfYXNpZ25hZG9zJ30sXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICBtZW51LnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZTonYXNpZ25hY2lvbicsIGxhYmVsOidhc2lnbmFjacOzbicgLG1lbnVDb250ZW50OiBzdWJtZW51QXNpZ25hY2lvbn0sXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZToncmVjZXBjaW9uJywgbGFiZWw6J3JlY2VwY2nDs24nICxtZW51Q29udGVudDpzdWJtZW51UmVjZXBjaW9ufSwgIFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcil7XHJcbiAgICAgICAgICAgICAgICAgICAgc3VibWVudVJlY2VwY2lvbi5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonc3VwZXJ2aXNvcicgLCB0YWJsZTonc3VwZXJ2aXNvcmVzX2FzaWduYWRvcycgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6ICdtaXNfc3VwZXJ2aXNvcmVzJyAsIHRhYmxlOiAnbWlzX3N1cGVydmlzb3Jlc19hc2lnbmFkb3MnfVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVudS5wdXNoKHttZW51VHlwZTondGFibGUnLCBuYW1lOid0YXJlYXNfdGVtX2Zpbl9jYW1wbycsIGxhYmVsOidmaW4gY2FtcG8nfSlcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIG1lbnUucHVzaChcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZTonc3VwZXJ2aXNpb24nLCBsYWJlbDonc3VwZXJ2aXNpw7NuJyAsbWVudUNvbnRlbnQ6W1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3N1cGVydmlzYXInICwgdGFibGU6J3RhcmVhc190ZW1faW5ncmVzbycsIGZmOnt0YXJlYTonc3VwZScsIGFzaWduYWRvOmNvbnRleHQudXNlci5pZHBlciB9IH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgXX1cclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICB9ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmNhbXBvPy5lZGl0YXJ8fGNvbnRleHQucHVlZGU/LmVuY3Vlc3Rhcz8ucHJvY2VzYXIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHN1Ym1lbnVWYXJpb3M6TWVudUluZm9CYXNlW10gPSBbe21lbnVUeXBlOiAnYWJyaXJfZW5jdWVzdGEnLCBuYW1lOiAnYWJyaXJfZW5jdWVzdGEnfV1cclxuICAgICAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmNhbXBvPy5lZGl0YXIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1Ym1lbnVWYXJpb3MucHVzaCh7bWVudVR5cGU6ICd0YWJsZScsIG5hbWU6ICdob2phX3J1dGEnLCB0YWJsZTogJ2dyaWxsYV9ob2phX3J1dGEnLCBsYWJlbDogJ2hvamEgZGUgcnV0YSd9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYoY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyKXtcclxuICAgICAgICAgICAgICAgICAgICBzdWJtZW51VmFyaW9zLnB1c2goe21lbnVUeXBlOidwcm9jJywgbmFtZTonZW5jdWVzdGFkb3JfZG1zX21vc3RyYXInLCBsYWJlbDonZm9yemFyIGRlc2NhcmdhIGVuY3Vlc3RhcyBETSd9KVxyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIG1lbnUucHVzaCggICAgICBcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6ICdtZW51JywgbmFtZTogJ3ZhcmlvcycsIG1lbnVDb250ZW50OiBzdWJtZW51VmFyaW9zfVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSAgICBcclxuICAgICAgICAgICAgaWYoY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyfHxjb250ZXh0LnB1ZWRlPy5lbmN1ZXN0YXM/LnByb2Nlc2FyKXtcclxuICAgICAgICAgICAgICAgIG1lbnUucHVzaChcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J21lbnUnLCBuYW1lOidjb250cm9sJywgbWVudUNvbnRlbnQ6ICB0aGlzLmdldE1lbnVDb250cm9sZXMoY29udGV4dCkgfSApICA7XHJcbiAgICAgICAgICAgICAgICAgLyp7bWVudVR5cGU6J3RhYmxlJywgbmFtZToncGFydGljaXBhY2lvbicgICAgICAgICwgdGFibGU6J2NvbnRyb2xfY2FtcG9fcGFydGljaXBhY2lvbicgIH0sKi9cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzPy5wcm9jZXNhcil7XHJcbiAgICAgICAgICAgICAgICBtZW51LnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZToncHJvY2VzYXInLCBtZW51Q29udGVudDpbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOid2YXJpYWJsZXMnICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidjb25zaXN0ZW5jaWFzJ30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidpbmNvbnNpc3RlbmNpYXMnfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3RhYmxhX2RhdG9zJyAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2RpY2Npb25hcmlvJyAgLCBsYWJlbDonZGljY2lvbmFyaW9zJyB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTondGFyZWFzX3RlbV9wcm9jZXNhbWllbnRvJywgbGFiZWw6J2VuY3Vlc3Rhcyd9XHJcbiAgICAgICAgICAgICAgICAgICAgXX0sXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZ2V0TWVudUxpbXBpZXphKGNvbnRleHQpLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICAgICAgbWVudS5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J21lbnUnLCBuYW1lOidsaW1waWV6YScsIG1lbnVDb250ZW50OnRoaXMuZ2V0TWVudUxpbXBpZXphKGNvbnRleHQpfSwgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhciBtZW51Q29uZmlndXJhcjpNZW51SW5mb0Jhc2VbXSA9IFtdO1xyXG4gICAgICAgICAgICBpZihjb250ZXh0LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXJ8fGNvbnRleHQucHVlZGU/LmVuY3Vlc3Rhcz8ucHJvY2VzYXIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHN1Ym1lbnVNdWVzdHJhOk1lbnVJbmZvQmFzZVtdID0gW3ttZW51VHlwZTondGFibGUnLCBuYW1lOid0ZW0nLCBsYWJlbDogJ1RFTSd9XVxyXG4gICAgICAgICAgICAgICAgaWYoY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyKXtcclxuICAgICAgICAgICAgICAgICAgICBzdWJtZW51TXVlc3RyYS5wdXNoKHttZW51VHlwZTondGFibGUnLCBuYW1lOid0YXJlYXMnfSlcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBtZW51Q29uZmlndXJhci5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTonbWVudScsIG5hbWU6J211ZXN0cmEnLCBsYWJlbDonbXVlc3RyYScsIG1lbnVDb250ZW50OnN1Ym1lbnVNdWVzdHJhfVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihjb250ZXh0LnB1ZWRlPy5jYXNpbGxlcm9zX3RleHRvPy5lZGl0YXIpe1xyXG4gICAgICAgICAgICAgICAgbWVudUNvbmZpZ3VyYXIucHVzaChcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J21lbnUnLCBuYW1lOidtZXRhZGF0b3MnLCBtZW51Q29udGVudDpbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidvcGVyYXRpdm9zJ30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidmb3JtdWxhcmlvcycgLCB0YWJsZTonY2FzaWxsZXJvc19wcmluY2lwYWxlcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZToncGxhbm8nICAgICAgICwgdGFibGU6J2Nhc2lsbGVyb3MnfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3RpcG9jJyAgICAgICAsIGxhYmVsOid0aXBvcyBkZSBjZWxkYXMnfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3RpcG9jX3RpcG9jJyAsIGxhYmVsOidpbmNsdXNpb25lcyBkZSBjZWxkYXMnfSxcclxuICAgICAgICAgICAgICAgICAgICBdfSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoY29udGV4dC5zdXBlcnVzZXIpe1xyXG4gICAgICAgICAgICAgICAgbWVudUNvbmZpZ3VyYXIucHVzaChcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J21lbnUnLCBuYW1lOidlc3RhZG9zX2FjY2lvbmVzJywgbGFiZWw6J2VzdGFkb3MvYWNjaW9uZXMnLCBtZW51Q29udGVudDpbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidlc3RhZG9zJ30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidhY2Npb25lcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonZXN0YWRvc19hY2Npb25lcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgIF19LFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidwYXJhbWV0cm9zJ30sXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyIHx8IGNvbnRleHQucHVlZGU/LmVuY3Vlc3Rhcz8ucHJvY2VzYXIpe1xyXG4gICAgICAgICAgICAgICAgbWVudUNvbmZpZ3VyYXIucHVzaChcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J21lbnUnLCBuYW1lOid1c3VhcmlvcycsIG1lbnVDb250ZW50OltcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3VzdWFyaW9zJywgc2VsZWN0ZWRCeURlZmF1bHQ6dHJ1ZX0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidyb2xlcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZToncGVybWlzb3MnfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3JvbGVzX3Blcm1pc29zJ30sXHJcbiAgICAgICAgICAgICAgICAgICAgXX0sXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYobWVudUNvbmZpZ3VyYXIubGVuZ3RoKXtcclxuICAgICAgICAgICAgICAgIG1lbnUucHVzaCh7bWVudVR5cGU6J21lbnUnLCBuYW1lOidjb25maWd1cmFyJywgbWVudUNvbnRlbnQ6bWVudUNvbmZpZ3VyYXJ9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge21lbnV9O1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgcHJlcGFyZUdldFRhYmxlcygpe1xyXG4gICAgICAgIHZhciBiZT10aGlzO1xyXG4gICAgICAgIHN1cGVyLnByZXBhcmVHZXRUYWJsZXMoKTtcclxuICAgICAgICB0aGlzLmdldFRhYmxlRGVmaW5pdGlvbj17XHJcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0VGFibGVEZWZpbml0aW9uXHJcbiAgICAgICAgICAgICwgcm9sZXNcclxuICAgICAgICAgICAgLCB1c3Vhcmlvc1xyXG4gICAgICAgICAgICAsIHBlcnNvbmFsXHJcbiAgICAgICAgICAgICwgcmVjZXBjaW9uaXN0YXNcclxuICAgICAgICAgICAgLCBlbmN1ZXN0YWRvcmVzX2FzaWduYWRvc1xyXG4gICAgICAgICAgICAsIHJlY3VwZXJhZG9yZXNfYXNpZ25hZG9zXHJcbiAgICAgICAgICAgICwgc3VwZXJ2aXNvcmVzX2FzaWduYWRvc1xyXG4gICAgICAgICAgICAsIG1pc19zdXBlcnZpc29yZXNfYXNpZ25hZG9zXHJcbiAgICAgICAgICAgICwgbWlzX2VuY3Vlc3RhZG9yZXNcclxuICAgICAgICAgICAgLCByZWN1cGVyYWRvcmVzXHJcbiAgICAgICAgICAgICwgc3VwZXJ2aXNvcmVzXHJcbiAgICAgICAgICAgICwgcGVyc29uYWxfcm9sXHJcbiAgICAgICAgICAgICwgcGVybWlzb3NcclxuICAgICAgICAgICAgLCByb2xlc19wZXJtaXNvc1xyXG4gICAgICAgICAgICAsIHJvbGVzX3N1Ym9yZGluYWRvc1xyXG4gICAgICAgICAgICAsIG5vX3JlYVxyXG4gICAgICAgICAgICAsIG5vX3JlYV9zdXBcclxuICAgICAgICAgICAgLCBzZW1hbmFzXHJcbiAgICAgICAgICAgICwgZXN0YWRvc1xyXG4gICAgICAgICAgICAsIGFjY2lvbmVzXHJcbiAgICAgICAgICAgICwgZXN0YWRvc19hY2Npb25lc1xyXG4gICAgICAgICAgICAsIHRlbVxyXG4gICAgICAgICAgICAsIHRlbV9yZWNlcGNpb25cclxuICAgICAgICAgICAgLCBwYXJhbWV0cm9zXHJcbiAgICAgICAgICAgICwgb3BlcmFjaW9uZXNcclxuICAgICAgICAgICAgLCBjb211bmFzXHJcbiAgICAgICAgICAgICwgYXJlYXNcclxuICAgICAgICAgICAgLCBzaW5jcm9uaXphY2lvbmVzXHJcbiAgICAgICAgICAgICwgdGFyZWFzXHJcbiAgICAgICAgICAgICwgdGFyZWFzX3RlbVxyXG4gICAgICAgICAgICAsIHRhcmVhc190ZW1fZW5jdVxyXG4gICAgICAgICAgICAsIHRhcmVhc190ZW1fcmVjdVxyXG4gICAgICAgICAgICAsIHRhcmVhc190ZW1fc3VwZVxyXG4gICAgICAgICAgICAsIHRhcmVhc19hcmVhc1xyXG4gICAgICAgICAgICAsIGFyZWFzX2FzaWduYWNpb25fZ2VuZXJhbFxyXG4gICAgICAgICAgICAsIGdyaWxsYV9ob2phX3J1dGFcclxuICAgICAgICAgICAgLCB0X2VuY3VfYXJlYXNcclxuICAgICAgICAgICAgLCB0X3JlY3VfYXJlYXNcclxuICAgICAgICAgICAgLCB0X3N1cGVfYXJlYXNcclxuICAgICAgICAgICAgLCBtaXNfdGFyZWFzXHJcbiAgICAgICAgICAgICwgdGVtX2FzaWduYWNpb25cclxuICAgICAgICAgICAgLCB0YXJlYXNfdGVtX3JlY2VwY2lvblxyXG4gICAgICAgICAgICAsIHRhcmVhc190ZW1faW5ncmVzb1xyXG4gICAgICAgICAgICAsIHRhcmVhc190ZW1fZmluX2NhbXBvXHJcbiAgICAgICAgICAgICwgdGFyZWFzX3RlbV9wcm9jZXNhbWllbnRvXHJcbiAgICAgICAgICAgICwgbWlzX3RhcmVhc19hcmVhc1xyXG4gICAgICAgICAgICAsIGNvbnRyb2xfY2FtcG9cclxuICAgICAgICAgICAgLCBjb250cm9sX3Jlc3VtZW5cclxuICAgICAgICAgICAgLCBjb250cm9sX2NhbXBvX3pvbmE6IGNvbnRleHQ9PmNvbnRyb2xfY2FtcG8oY29udGV4dCwgXHJcbiAgICAgICAgICAgICAgICB7bm9tYnJlOidjb250cm9sX2NhbXBvX2NvbXVuYScsIHRpdGxlOidjb250cm9sIGNhbXBvIHggem9uYSBzb2xvIGNlbWVudG8nLCBjYW1wb3NDb3J0ZTpbe25hbWU6J3pvbmEnLCB0eXBlTmFtZTondGV4dCd9XSwgc2luaG9nZmluOiFjb250ZXh0LmJlLmNhY2hlcy50YWJsZUNvbnRlbnQuY29uUmVhSG9nYXIuY29uX3JlYV9ob2dhcixmaWx0cm9XaGVyZTonZG9taW5pbz0zJyB9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLCBjb250cm9sX2NhbXBvX2NvbXVuYTogY29udGV4dD0+Y29udHJvbF9jYW1wbyhjb250ZXh0LCBcclxuICAgICAgICAgICAgICAgIHtub21icmU6J2NvbnRyb2xfY2FtcG9fY29tdW5hJywgdGl0bGU6J2NvbnRyb2wgY2FtcG8geCBjb211bmEgc29sbyBjZW1lbnRvJywgY2FtcG9zQ29ydGU6W3tuYW1lOid6b25hJywgdHlwZU5hbWU6J3RleHQnfSx7bmFtZTonbnJvY29tdW5hJywgdHlwZU5hbWU6J2ludGVnZXInfV0sIHNpbmhvZ2ZpbjohY29udGV4dC5iZS5jYWNoZXMudGFibGVDb250ZW50LmNvblJlYUhvZ2FyLmNvbl9yZWFfaG9nYXIsZmlsdHJvV2hlcmU6J2RvbWluaW89MycgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgICwgY29udHJvbF9jYW1wb19hcmVhOiBjb250ZXh0PT5jb250cm9sX2NhbXBvKGNvbnRleHQsIFxyXG4gICAgICAgICAgICAgICAge25vbWJyZTonY29udHJvbF9jYW1wb19jb211bmEnLCB0aXRsZTonY29udHJvbCBjYW1wbyB4IGFyZWEnLCBjYW1wb3NDb3J0ZTpbe25hbWU6J3pvbmEnLCB0eXBlTmFtZTondGV4dCd9LHtuYW1lOiducm9jb211bmEnLCB0eXBlTmFtZTonaW50ZWdlcid9LHtuYW1lOidhcmVhJywgdHlwZU5hbWU6J2ludGVnZXInfSx7bmFtZToncGFydGljaXBhY2lvbl9hJywgdHlwZU5hbWU6J3RleHQnfSx7bmFtZTonY2xhc2VfYScsIHR5cGVOYW1lOid0ZXh0J31dICxzaW5ob2dmaW46IWNvbnRleHQuYmUuY2FjaGVzLnRhYmxlQ29udGVudC5jb25SZWFIb2dhci5jb25fcmVhX2hvZ2FyfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgICwgY29udHJvbF9jYW1wb19wYXJ0aWNpcGFjaW9uOiBjb250ZXh0PT5jb250cm9sX2NhbXBvKGNvbnRleHQsIFxyXG4gICAgICAgICAgICAgICAge25vbWJyZTonY29udHJvbF9jYW1wb19jb211bmEnLCB0aXRsZTonY29udHJvbCBjYW1wbyB4IHBhcnRpY2lwYWNpb24nLCBjYW1wb3NDb3J0ZTpbe25hbWU6J3BhcnRpY2lwYWNpb24nLCB0eXBlTmFtZTonYmlnaW50J31dLHNpbmhvZ2ZpbjohY29udGV4dC5iZS5jYWNoZXMudGFibGVDb250ZW50LmNvblJlYUhvZ2FyLmNvbl9yZWFfaG9nYXJ9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLCBjb250cm9sX2NhbXBvX2RvbWluaW86IGNvbnRleHQ9PmNvbnRyb2xfY2FtcG8oY29udGV4dCwgXHJcbiAgICAgICAgICAgICAgICB7bm9tYnJlOidjb250cm9sX2NhbXBvX2NvbXVuYScsIHRpdGxlOidjb250cm9sIGNhbXBvIHggZG9taW5pbycsIGNhbXBvc0NvcnRlOlt7bmFtZTonZG9taW5pbycsIHR5cGVOYW1lOidpbnRlZ2VyJ31dLHNpbmhvZ2ZpbjohY29udGV4dC5iZS5jYWNoZXMudGFibGVDb250ZW50LmNvblJlYUhvZ2FyLmNvbl9yZWFfaG9nYXJ9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLCBjb250cm9sX2RpYXNfY2FyZ2FcclxuICAgICAgICAgICAgLCB2aXZpZW5kYXNcclxuICAgICAgICAgICAgLCB2aXNpdGFzXHJcbiAgICAgICAgICAgICwgaG9nYXJlc1xyXG4gICAgICAgICAgICAsIHBlcnNvbmFzXHJcbiAgICAgICAgICAgICwgdmlzaXRhc19zdXBcclxuICAgICAgICAgICAgLCBob2dhcmVzX3N1cFxyXG4gICAgICAgICAgICAsIHBlcnNvbmFzX3N1cFxyXG4gICAgICAgIH1cclxuICAgICAgICBiZS5hcHBlbmRUb1RhYmxlRGVmaW5pdGlvbignY29uc2lzdGVuY2lhcycsZnVuY3Rpb24odGFibGVEZWYsIGNvbnRleHQpe1xyXG4gICAgICAgICAgICB0YWJsZURlZi5lZGl0YWJsZT10YWJsZURlZi5lZGl0YWJsZSB8fCBjb250ZXh0LnB1ZWRlPy5lbmN1ZXN0YXM/LnByb2Nlc2FyO1xyXG4gICAgICAgICAgICB0YWJsZURlZi5maWVsZHMuZm9yRWFjaChmdW5jdGlvbihmaWVsZCl7XHJcbiAgICAgICAgICAgICAgICBpZihmaWVsZC5uYW1lPT0nZXJyb3JfY29tcGlsYWNpb24nKXtcclxuICAgICAgICAgICAgICAgICAgICBpZihmaWVsZC52aXNpYmxlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignKioqKioqKioqKioqIFFVSVRBUiBFU1RPIGVycm9yX2NvbXBpbGFjaW9uIHlhIGVzIHZpc2libGUnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudmlzaWJsZT10cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgYmUuYXBwZW5kVG9UYWJsZURlZmluaXRpb24oJ2luY29uc2lzdGVuY2lhcycsZnVuY3Rpb24odGFibGVEZWYsIGNvbnRleHQpe1xyXG4gICAgICAgICAgICB0YWJsZURlZi5zcWw9ey4uLnRhYmxlRGVmLnNxbCwgaXNUYWJsZTp0cnVlfTtcclxuICAgICAgICAgICAgdGFibGVEZWYuZmllbGRzLnNwbGljZSgyLDAsXHJcbiAgICAgICAgICAgICAgICB7bmFtZTondml2aWVuZGEnICAgICwgdHlwZU5hbWU6J3RleHQnICAgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgICAgICB7bmFtZTonaG9nYXInICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgICAgICB7bmFtZToncGVyc29uYScgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgICAgICB7bmFtZTondmlzaXRhJyAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcgICAsIGVkaXRhYmxlOiBmYWxzZX0sXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRhYmxlRGVmLmVkaXRhYmxlPXRhYmxlRGVmLmVkaXRhYmxlIHx8IGNvbnRleHQucHVlZGU/LmVuY3Vlc3Rhcy5qdXN0aWZpY2FyO1xyXG4gICAgICAgICAgICB0YWJsZURlZi5maWVsZHMuZm9yRWFjaChmdW5jdGlvbihmaWVsZCl7XHJcbiAgICAgICAgICAgICAgICBpZihmaWVsZC5uYW1lPT0ncGtfaW50ZWdyYWRhJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudmlzaWJsZT1mYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGZpZWxkLm5hbWU9PSdqdXN0aWZpY2FjaW9uJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgZmllbGQuZWRpdGFibGU9Y29udGV4dD8uZm9yRHVtcCB8fCBjb250ZXh0Py5wdWVkZT8uZW5jdWVzdGFzLmp1c3RpZmljYXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIHRhYmxlRGVmLmZpZWxkcz10YWJsZURlZi5maWVsZHMuY29uY2F0KFsndGFyZWFfYWN0dWFsJywndGFyZWFfYW50ZXJpb3InXS5tYXAoZm49PntcclxuICAgICAgICAgICAgICAgIHJldHVybiB7bmFtZTogZm4gICAsIHR5cGVOYW1lOiAndGV4dCcgICwgZWRpdGFibGU6IGZhbHNlLCBpblRhYmxlOiBmYWxzZX1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICAgIHRhYmxlRGVmLnNxbCEuZnJvbT1gXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0IGkuKiwgdC50YXJlYV9hY3R1YWwsdHQudGFyZWFfYW50ZXJpb3JcclxuICAgICAgICAgICAgICAgICAgZnJvbSBpbmNvbnNpc3RlbmNpYXMgaSBqb2luIHRlbSB0IG9uIGkudml2aWVuZGE9dC5lbmMgYW5kIGkub3BlcmF0aXZvPXQub3BlcmF0aXZvIFxyXG4gICAgICAgICAgICAgICAgICBsZWZ0IGpvaW4gdGFyZWFzX3RlbSB0dCBvbiB0Lm9wZXJhdGl2bz10dC5vcGVyYXRpdm8gYW5kIHQuZW5jPXR0LmVuYyBhbmQgdC50YXJlYV9hY3R1YWw9dHQudGFyZWEgXHJcbiAgICAgICAgICAgICAgICApICBcclxuICAgICAgICAgICAgYFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgYmUuYXBwZW5kVG9UYWJsZURlZmluaXRpb24oJ29wZXJhdGl2b3MnLGZ1bmN0aW9uKHRhYmxlRGVmLCBjb250ZXh0KXtcclxuICAgICAgICAgICAgdGFibGVEZWYuZmllbGRzLnNwbGljZSgyLDAse1xyXG4gICAgICAgICAgICAgICAgbmFtZTonY29uZmlnX3NvcnRlbycsIFxyXG4gICAgICAgICAgICAgICAgdHlwZU5hbWU6J2pzb25iJyxcclxuICAgICAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LHtcclxuICAgICAgICAgICAgICAgIG5hbWU6J2hhYmlsaXRhY2lvbl9ib3Rvbl9mb3JtdWxhcmlvJywgXHJcbiAgICAgICAgICAgICAgICB0eXBlTmFtZTonanNvbmInLFxyXG4gICAgICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlXHJcbiAgICAgICAgICAgIH0se1xyXG4gICAgICAgICAgICAgICAgbmFtZTonZGlzZm9ybV9jZXJyYWRvJywgXHJcbiAgICAgICAgICAgICAgICB0eXBlTmFtZTonYm9vbGVhbicsIFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiBmYWxzZSwgXHJcbiAgICAgICAgICAgICAgICBlZGl0YWJsZTogY29udGV4dD8uZm9yRHVtcHx8WydhZG1pbicsJ2Rpc19jb25jZXB0dWFsJ10uaW5jbHVkZXMoY29udGV4dC51c2VyLnJvbClcclxuICAgICAgICAgICAgfSx7XHJcbiAgICAgICAgICAgICAgICBuYW1lOidjb25fcmVhX2hvZ2FyJywgXHJcbiAgICAgICAgICAgICAgICB0eXBlTmFtZTonYm9vbGVhbicsIFxyXG4gICAgICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdERiVmFsdWU6ICd0cnVlJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIGJlLmFwcGVuZFRvVGFibGVEZWZpbml0aW9uKCd1c3VhcmlvcycsZnVuY3Rpb24odGFibGVEZWYsIGNvbnRleHQpe1xyXG4gICAgICAgICAgICBsZXQgY2xhdmVOdWV2YUZpZWxkID0gdGFibGVEZWYuZmllbGRzLmZpbmQoKGZpZWxkKT0+ZmllbGQubmFtZSA9PSAnY2xhdmVfbnVldmEnKSE7XHJcbiAgICAgICAgICAgIHZhciBhZG1pbk9Db29yZCA9ICdhZG1pbic9PT1jb250ZXh0Py51c2VyLnJvbHx8Y29udGV4dD8ucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcjtcclxuICAgICAgICAgICAgY2xhdmVOdWV2YUZpZWxkLmFsbG93ID0ge3NlbGVjdDphZG1pbk9Db29yZCwgdXBkYXRlOnRydWUsIGluc2VydDpmYWxzZX07XHJcbiAgICAgICAgfSlcclxuICAgICAgICBiZS5hcHBlbmRUb1RhYmxlRGVmaW5pdGlvbigndmFyaWFibGVzJyxmdW5jdGlvbih0YWJsZURlZiwgY29udGV4dCl7XHJcbiAgICAgICAgICAgIHZhciBlc0FkbWluPSBjb250ZXh0Py51c2VyLnJvbD09PSdhZG1pbic7XHJcbiAgICAgICAgICAgIHRhYmxlRGVmLmVkaXRhYmxlPXRhYmxlRGVmLmVkaXRhYmxlIHx8IGNvbnRleHQ/LnB1ZWRlPy5lbmN1ZXN0YXM/LnByb2Nlc2FyO1xyXG4gICAgICAgICAgICB0YWJsZURlZi5hbGxvdz17ZGVsZXRlOiBlc0FkbWlufTsgICAgICAgICAgICBcclxuICAgICAgICB9KVxyXG5cclxuICAgICAgICAvLyBiZS5hcHBlbmRUb1RhYmxlRGVmaW5pdGlvbignY2FzaWxsZXJvcycsZnVuY3Rpb24odGFibGVEZWYsIGNvbnRleHQpe1xyXG4gICAgICAgIC8vICAgICB0YWJsZURlZi5jb25zdHJhaW50cyA9IHRhYmxlRGVmLmNvbnN0cmFpbnRzLmZpbHRlcihjPT5jLmNvbnNOYW1lIT0nY2FzaWxsZXJvcyBzYWx0byBSRUwnKVxyXG4gICAgICAgIC8vIH0pXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdmFyIEFwcERtRW5jdSA9IGVtZXJnZUFwcERtRW5jdShlbWVyZ2VBcHBQcm9jZXNhbWllbnRvKGVtZXJnZUFwcENvbnNpc3RlbmNpYXMoZW1lcmdlQXBwVmFyQ2FsKGVtZXJnZUFwcERhdG9zRXh0KGVtZXJnZUFwcE9wZXJhdGl2b3MoQXBwQmFja2VuZCkpKSkpKTtcclxuZXhwb3J0IHR5cGUgQXBwQXBwRG1FbmN1VHlwZSA9IEluc3RhbmNlVHlwZTx0eXBlb2YgQXBwRG1FbmN1PjsiXX0=
808
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWRtZW5jdS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvYXBwLWRtZW5jdS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUFBLFlBQVksQ0FBQzs7O0lBR2IsaURBQTBMO0lBQzFMLDJEQUE2RjtJQUU3Rix3Q0FBd0M7SUFFeEMsd0NBQXdDO0lBUXhDLDJDQUF3QztJQUV4Qyw2QkFBNkI7SUFFN0Isa0NBQWtDO0lBQ2xDLG1DQUFtQztJQUVuQywyQkFBbUM7SUFFbkMsK0NBQW9EO0lBQ3BELHFEQUF1RDtJQUN2RCxpRUFBNkQ7SUFDN0QsK0RBQWdFO0lBQ2hFLCtEQUFnRTtJQUNoRSwrREFBZ0U7SUFDaEUsK0RBQW9FO0lBQ3BFLHVFQUFnRTtJQUNoRSwrREFBNEQ7SUFDNUQsNkRBQTJEO0lBQzNELDZEQUEyRDtJQUMzRCxxREFBdUQ7SUFDdkQsaUVBQTZEO0lBQzdELHlEQUF5RDtJQUN6RCx5RUFBaUU7SUFFakUsaURBQXFEO0lBQ3JELHlEQUF5RDtJQUN6RCwyQ0FBa0Q7SUFDbEQsK0RBQTREO0lBQzVELG1EQUFzRDtJQUN0RCxxREFBdUQ7SUFDdkQsMkRBQTBEO0lBQzFELG1EQUFzRDtJQUN0RCwrQ0FBb0Q7SUFDcEQscUVBQStEO0lBQy9ELGlEQUFxRDtJQUNyRCx5REFHeUQ7SUFDekQsNkRBQTJEO0lBQzNELHFGQUE0RTtJQUM1RSxxRUFBK0Q7SUFDL0QsNkRBQTJEO0lBQzNELDZEQUEyRDtJQUMzRCw2REFBMkQ7SUFDM0QseURBQXlEO0lBQ3pELGlFQUE2RDtJQUM3RCw2RUFBbUU7SUFDbkUseUVBQStEO0lBQy9ELDZFQUFtRTtJQUNuRSxxRkFBMkU7SUFDM0UscUVBQStEO0lBQy9ELCtEQUE0RDtJQUM1RCxtRUFBOEQ7SUFDOUQseUVBQWlFO0lBQ2pFLHVEQUF3RDtJQUN4RCxtREFBc0Q7SUFDdEQsbURBQXNEO0lBQ3RELHFEQUF1RDtJQUN2RCwyREFB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LElBQUksQ0FBQyxHQUFHLENBQUEsS0FBRSxNQUFBLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEtBQUssMENBQUUsS0FBSywwQ0FBRSxXQUFXLENBQUEsQ0FBQztvQkFDbEYsZUFBZSxDQUFDLEtBQUssR0FBRyxFQUFDLE1BQU0sRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsS0FBSyxFQUFDLENBQUM7Z0JBQzVFLENBQUMsQ0FBQyxDQUFBO2dCQUNGLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUMsVUFBUyxRQUFRLEVBQUUsT0FBTzs7b0JBQzdELElBQUksT0FBTyxHQUFFLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLElBQUksQ0FBQyxHQUFHLE1BQUcsT0FBTyxDQUFDO29CQUN6QyxRQUFRLENBQUMsUUFBUSxHQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUksTUFBQSxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLDBDQUFFLFNBQVMsMENBQUUsUUFBUSxDQUFBLENBQUM7b0JBQzNFLFFBQVEsQ0FBQyxLQUFLLEdBQUMsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFDLENBQUM7Z0JBQ3JDLENBQUMsQ0FBQyxDQUFBO2dCQUVGLHVFQUF1RTtnQkFDdkUsZ0dBQWdHO2dCQUNoRyxLQUFLO1lBQ1QsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0lBN3RCRCwwQ0E2dEJDO0lBRVUsUUFBQSxTQUFTLEdBQUcsZUFBZSxDQUFDLElBQUEsc0NBQXNCLEVBQUMsSUFBQSxzQ0FBc0IsRUFBQyxJQUFBLCtCQUFlLEVBQUMsSUFBQSxpQ0FBaUIsRUFBQyxJQUFBLG1DQUFtQixFQUFDLDBCQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuXHJcbmltcG9ydCAqIGFzIHByb2Nlc2FtaWVudG8gZnJvbSBcInByb2Nlc2FtaWVudG9cIjtcclxuaW1wb3J0IHtlbWVyZ2VBcHBQcm9jZXNhbWllbnRvLCBlbWVyZ2VBcHBDb25zaXN0ZW5jaWFzLCBlbWVyZ2VBcHBWYXJDYWwsIGVtZXJnZUFwcERhdG9zRXh0LCBlbWVyZ2VBcHBPcGVyYXRpdm9zLCBBcHBCYWNrZW5kLCBDbGllbnRNb2R1bGVEZWZpbml0aW9uLCBPcHRzQ2xpZW50UGFnZX0gZnJvbSBcInByb2Nlc2FtaWVudG9cIjtcclxuaW1wb3J0IHtBQ0NJT05fUEFTQVJfUFJPSUUsIGdldE9wZXJhdGl2b0FjdHVhbCwgUHJvY2VkdXJlc0RtRW5jdX0gZnJvbSBcIi4vcHJvY2VkdXJlcy1kbWVuY3VcIjtcclxuXHJcbmltcG9ydCAqIGFzIHBnIGZyb20gXCJwZy1wcm9taXNlLXN0cmljdFwiO1xyXG5pbXBvcnQge2pzb259IGZyb20gXCJwZy1wcm9taXNlLXN0cmljdFwiO1xyXG5pbXBvcnQgKiBhcyBtaW5pVG9vbHMgZnJvbSBcIm1pbmktdG9vbHNcIjtcclxuaW1wb3J0IHtcclxuICAgIENsaWVudCwgQ29udGV4dCwgQ29yZUZ1bmN0aW9uUGFyYW1ldGVycywgXHJcbiAgICBNZW51SW5mb0Jhc2UsIFxyXG4gICAgUmVxdWVzdCwgUmVzcG9uc2UsXHJcbiAgICBTdWZpam9zQW1iaWVudGUsXHJcbn0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcblxyXG5pbXBvcnQgeyB1bmV4cGVjdGVkIH0gZnJvbSBcImNhc3QtZXJyb3JcIjtcclxuXHJcbmltcG9ydCAqIGFzIHlhemwgZnJvbSBcInlhemxcIjtcclxuaW1wb3J0IHsgTmV4dEZ1bmN0aW9uIH0gZnJvbSBcImV4cHJlc3Mtc2VydmUtc3RhdGljLWNvcmVcIjtcclxuaW1wb3J0ICogYXMgbGlrZUFyIGZyb20gXCJsaWtlLWFyXCI7XHJcbmltcG9ydCAqIGFzIGV4cHJlc3MgZnJvbSBcImV4cHJlc3NcIjtcclxuXHJcbmltcG9ydCB7cHJvbWlzZXMgYXMgZnMgfSBmcm9tIFwiZnNcIjtcclxuXHJcbmltcG9ydCB7IHJvbGVzICAgICAgICAgICAgICAgfSBmcm9tIFwiLi90YWJsZS1yb2xlc1wiO1xyXG5pbXBvcnQgeyBwZXJzb25hbCAgICAgICAgICAgIH0gZnJvbSBcIi4vdGFibGUtcGVyc29uYWxcIjtcclxuaW1wb3J0IHsgcmVjZXBjaW9uaXN0YXMgICAgICB9IGZyb20gXCIuL3RhYmxlLXJlY2VwY2lvbmlzdGFzXCI7XHJcbmltcG9ydCB7IGVuY3Vlc3RhZG9yZXNfYXNpZ25hZG9zIH0gZnJvbSBcIi4vdGFibGUtZW5jdWVzdGFkb3Jlc1wiO1xyXG5pbXBvcnQgeyByZWN1cGVyYWRvcmVzX2FzaWduYWRvcyB9IGZyb20gXCIuL3RhYmxlLWVuY3Vlc3RhZG9yZXNcIjtcclxuaW1wb3J0IHsgc3VwZXJ2aXNvcmVzX2FzaWduYWRvcyAgfSBmcm9tIFwiLi90YWJsZS1lbmN1ZXN0YWRvcmVzXCI7XHJcbmltcG9ydCB7IG1pc19zdXBlcnZpc29yZXNfYXNpZ25hZG9zICB9IGZyb20gXCIuL3RhYmxlLWVuY3Vlc3RhZG9yZXNcIjtcclxuaW1wb3J0IHsgbWlzX2VuY3Vlc3RhZG9yZXMgICB9IGZyb20gXCIuL3RhYmxlLW1pc19lbmN1ZXN0YWRvcmVzXCI7XHJcbmltcG9ydCB7IHJlY3VwZXJhZG9yZXMgICAgICAgfSBmcm9tIFwiLi90YWJsZS1yZWN1cGVyYWRvcmVzXCI7XHJcbmltcG9ydCB7IHN1cGVydmlzb3JlcyAgICAgICAgfSBmcm9tIFwiLi90YWJsZS1zdXBlcnZpc29yZXNcIjtcclxuaW1wb3J0IHsgcGVyc29uYWxfcm9sICAgICAgICB9IGZyb20gXCIuL3RhYmxlLXBlcnNvbmFsX3JvbFwiO1xyXG5pbXBvcnQgeyBwZXJtaXNvcyAgICAgICAgICAgIH0gZnJvbSBcIi4vdGFibGUtcGVybWlzb3NcIjtcclxuaW1wb3J0IHsgcm9sZXNfcGVybWlzb3MgICAgICB9IGZyb20gXCIuL3RhYmxlLXJvbGVzX3Blcm1pc29zXCI7XHJcbmltcG9ydCB7IHBhcmFtZXRyb3MgICAgICAgICAgfSBmcm9tIFwiLi90YWJsZS1wYXJhbWV0cm9zXCI7XHJcbmltcG9ydCB7IHJvbGVzX3N1Ym9yZGluYWRvcyAgfSBmcm9tIFwiLi90YWJsZS1yb2xlc19zdWJvcmRpbmFkb3NcIjtcclxuXHJcbmltcG9ydCB7bm9fcmVhICAgICAgICAgICAgICAgfSBmcm9tIFwiLi90YWJsZS1ub19yZWFcIjtcclxuaW1wb3J0IHtub19yZWFfc3VwICAgICAgICAgICB9IGZyb20gXCIuL3RhYmxlLW5vX3JlYV9zdXBcIjtcclxuaW1wb3J0IHt0ZW0gICAgICAgICAgICAgICAgICB9IGZyb20gXCIuL3RhYmxlLXRlbVwiO1xyXG5pbXBvcnQge3RlbV9yZWNlcGNpb24gICAgICAgIH0gZnJvbSBcIi4vdGFibGUtdGVtX3JlY2VwY2lvblwiO1xyXG5pbXBvcnQge3NlbWFuYXMgICAgICAgICAgICAgIH0gZnJvbSBcIi4vdGFibGUtc2VtYW5hc1wiO1xyXG5pbXBvcnQgeyB1c3VhcmlvcyAgICAgICAgICAgIH0gZnJvbSAnLi90YWJsZS11c3Vhcmlvcyc7XHJcbmltcG9ydCB7IG9wZXJhY2lvbmVzICAgICAgICAgfSBmcm9tICcuL3RhYmxlLW9wZXJhY2lvbmVzJztcclxuaW1wb3J0IHsgY29tdW5hcyAgICAgICAgICAgICB9IGZyb20gJy4vdGFibGUtY29tdW5hcyc7XHJcbmltcG9ydCB7IGFyZWFzICAgICAgICAgICAgICAgfSBmcm9tICcuL3RhYmxlLWFyZWFzJztcclxuaW1wb3J0IHsgc2luY3Jvbml6YWNpb25lcyAgICB9IGZyb20gJy4vdGFibGUtc2luY3Jvbml6YWNpb25lcyc7XHJcbmltcG9ydCB7IHRhcmVhcyAgICAgICAgICAgICAgfSBmcm9tICcuL3RhYmxlLXRhcmVhcyc7XHJcbmltcG9ydCB7IHRhcmVhc190ZW0sIFxyXG4gICAgICAgICB0YXJlYXNfdGVtX2VuY3UsIFxyXG4gICAgICAgICB0YXJlYXNfdGVtX3JlY3UsIFxyXG4gICAgICAgICB0YXJlYXNfdGVtX3N1cGUgICAgIH0gZnJvbSAnLi90YWJsZS10YXJlYXNfdGVtJztcclxuaW1wb3J0IHsgdGFyZWFzX2FyZWFzICAgICAgICB9IGZyb20gJy4vdGFibGUtdGFyZWFzX2FyZWFzJztcclxuaW1wb3J0IHsgYXJlYXNfYXNpZ25hY2lvbl9nZW5lcmFsIH0gZnJvbSAnLi90YWJsZS1hcmVhc19hc2lnbmFjaW9uX2dlbmVyYWwnO1xyXG5pbXBvcnQgeyBncmlsbGFfaG9qYV9ydXRhICAgIH0gZnJvbSAnLi90YWJsZS1ncmlsbGFfaG9qYV9ydXRhJztcclxuaW1wb3J0IHsgdF9lbmN1X2FyZWFzICAgICAgICB9IGZyb20gJy4vdGFibGUtdGFyZWFzX2FyZWFzJztcclxuaW1wb3J0IHsgdF9yZWN1X2FyZWFzICAgICAgICB9IGZyb20gJy4vdGFibGUtdGFyZWFzX2FyZWFzJztcclxuaW1wb3J0IHsgdF9zdXBlX2FyZWFzICAgICAgICB9IGZyb20gJy4vdGFibGUtdGFyZWFzX2FyZWFzJztcclxuaW1wb3J0IHsgbWlzX3RhcmVhcyAgICAgICAgICB9IGZyb20gJy4vdGFibGUtbWlzX3RhcmVhcyc7XHJcbmltcG9ydCB7IHRlbV9hc2lnbmFjaW9uICAgICAgfSBmcm9tICcuL3RhYmxlLXRlbV9hc2lnbmFjaW9uJztcclxuaW1wb3J0IHsgdGFyZWFzX3RlbV9yZWNlcGNpb259IGZyb20gJy4vdGFibGUtdGFyZWFzX3RlbV9yZWNlcGNpb24nO1xyXG5pbXBvcnQgeyB0YXJlYXNfdGVtX2luZ3Jlc299IGZyb20gJy4vdGFibGUtdGFyZWFzX3RlbV9pbmdyZXNvJztcclxuaW1wb3J0IHsgdGFyZWFzX3RlbV9maW5fY2FtcG99IGZyb20gJy4vdGFibGUtdGFyZWFzX3RlbV9maW5fY2FtcG8nO1xyXG5pbXBvcnQgeyB0YXJlYXNfdGVtX3Byb2Nlc2FtaWVudG99IGZyb20gJy4vdGFibGUtdGFyZWFzX3RlbV9wcm9jZXNhbWllbnRvJztcclxuaW1wb3J0IHsgbWlzX3RhcmVhc19hcmVhcyAgICB9IGZyb20gJy4vdGFibGUtbWlzX3RhcmVhc19hcmVhcyc7XHJcbmltcG9ydCB7IGNvbnRyb2xfY2FtcG8gICAgICAgfSBmcm9tICcuL3RhYmxlLWNvbnRyb2xfY2FtcG8nO1xyXG5pbXBvcnQgeyBjb250cm9sX3Jlc3VtZW4gICAgIH0gZnJvbSAnLi90YWJsZS1jb250cm9sX3Jlc3VtZW4nO1xyXG5pbXBvcnQgeyBjb250cm9sX2RpYXNfY2FyZ2EgIH0gZnJvbSAnLi90YWJsZS1jb250cm9sX2RpYXNfY2FyZ2EnO1xyXG5pbXBvcnQgeyB2aXZpZW5kYXMgICAgICAgICAgIH0gZnJvbSAnLi90YWJsZS12aXZpZW5kYXMnO1xyXG5pbXBvcnQgeyB2aXNpdGFzICAgICAgICAgICAgIH0gZnJvbSAnLi90YWJsZS12aXNpdGFzJztcclxuaW1wb3J0IHsgaG9nYXJlcyAgICAgICAgICAgICB9IGZyb20gJy4vdGFibGUtaG9nYXJlcyc7XHJcbmltcG9ydCB7IHBlcnNvbmFzICAgICAgICAgICAgfSBmcm9tICcuL3RhYmxlLXBlcnNvbmFzJztcclxuaW1wb3J0IHsgdmlzaXRhc19zdXAgICAgICAgICB9IGZyb20gJy4vdGFibGUtdmlzaXRhc19zdXAnO1xyXG5pbXBvcnQgeyBob2dhcmVzX3N1cCAgICAgICAgIH0gZnJvbSAnLi90YWJsZS1ob2dhcmVzX3N1cCc7XHJcbmltcG9ydCB7IHBlcnNvbmFzX3N1cCAgICAgICAgfSBmcm9tICcuL3RhYmxlLXBlcnNvbmFzX3N1cCc7XHJcblxyXG5pbXBvcnQgeyBlc3RhZG9zICAgICAgICAgICAgIH0gZnJvbSAnLi90YWJsZS1lc3RhZG9zJztcclxuaW1wb3J0IHsgYWNjaW9uZXMgICAgICAgICAgICB9IGZyb20gJy4vdGFibGUtYWNjaW9uZXMnO1xyXG5pbXBvcnQgeyBlc3RhZG9zX2FjY2lvbmVzICAgIH0gZnJvbSAnLi90YWJsZS1lc3RhZG9zX2FjY2lvbmVzJztcclxuXHJcblxyXG5leHBvcnQgKiBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuaW1wb3J0IHtkZWZDb25maWd9IGZyb20gXCIuL2RlZi1jb25maWdcIlxyXG5pbXBvcnQgeyBQcm9jZWR1cmVEZWYgfSBmcm9tIFwiYmFja2VuZC1wbHVzXCI7XHJcbmltcG9ydCB7IHRhYmxlIH0gZnJvbSBcImNvbnNvbGVcIjtcclxuXHJcbmNvbnN0IEFQUF9ETV9WRVJTSU9OPVwiIzIyLTEyLTE1XCI7XHJcblxyXG52YXIgcmVnaXN0cmFyQ3JvbkpvYlBhc2FyQVByb2llID0gYXN5bmMgKGJlKSA9PiB7XHJcbiAgICBsZXQgcHJvY2VkdXJlcyA9IGF3YWl0IGJlLmdldFByb2NlZHVyZXMoKVxyXG4gICAgdmFyIHByb2NQYXNhciA9IHByb2NlZHVyZXMuZmluZCgocHJvYzpQcm9jZWR1cmVEZWYpPT5wcm9jLmFjdGlvbiA9PSBBQ0NJT05fUEFTQVJfUFJPSUUpXHJcbiAgICB2YXIgY29udGV4dCA9IGJlLmdldENvbnRleHRGb3JEdW1wKCk7XHJcbiAgICBzZXRJbnRlcnZhbChhc3luYyAoKT0+e1xyXG4gICAgICAgIHRyeXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ2luaWNpYSBjcm9uIHBvc2FqZSBhIHByb2llJylcclxuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGF3YWl0IGJlLmluVHJhbnNhY3Rpb24obnVsbCwgYXN5bmMgKGNsaWVudCk9PntcclxuICAgICAgICAgICAgICAgIGNvbnRleHQuY2xpZW50PWNsaWVudDtcclxuICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBwcm9jUGFzYXIuY29yZUZ1bmN0aW9uKGNvbnRleHQsW10pO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInJlc3VsdCBwcm9jIHBhc2FqZSBhIHByb2llOiBcIiwgcmVzdWx0KVxyXG4gICAgICAgIH1jYXRjaChlcnIpe1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgZXJyb3IgcGFzYWplIGEgcHJvaWUuICR7ZXJyLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgfWZpbmFsbHl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd0ZXJtaW5hIGNyb24gcHJvaWUnKVxyXG4gICAgICAgIH1cclxuICAgIH0sMTAwMCo2MCo2MClcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVtZXJnZUFwcERtRW5jdTxUIGV4dGVuZHMgcHJvY2VzYW1pZW50by5Db25zdHJ1Y3Rvcjxwcm9jZXNhbWllbnRvLkFwcFByb2Nlc2FtaWVudG9UeXBlPj4oQmFzZTpUKXtcclxuICByZXR1cm4gY2xhc3MgQXBwRG1FbmN1IGV4dGVuZHMgQmFzZXtcclxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6YW55W10peyBcclxuICAgICAgICBzdXBlcihhcmdzKTsgXHJcbiAgICAgICAgdGhpcy5jYWNoZXMudGFibGVDb250ZW50ID0gdGhpcy5jYWNoZXMudGFibGVDb250ZW50IHx8IHt9O1xyXG4gICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5ub19yZWE9W11cclxuICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX2dyb3Vwcz1bXVxyXG4gICAgICAgIHRoaXMuY2FjaGVzLm1ldGFFbmNJbmNsdWlyQ2FzaWxsZXJvc1NhbHRvUkVMID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYWNoZXMudGltZXN0YW1wRXN0cnVjdHVyYSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5jb25SZWFIb2dhciA9IHt9O1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgYXN5bmMgY2FuQ2hhbmdlUGFzcyhyZXFPckNvbnRleHQsIHVzZXJUb0NoYW5nZVBhc3Mpe1xyXG4gICAgICAgIHZhciBiZSA9IHRoaXM7XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9IGF3YWl0IGJlLmluRGJDbGllbnQobnVsbCwgYXN5bmMgKGNsaWVudCk9PntcclxuICAgICAgICAgICAgdmFyIHEgPSBiZS5kYi5xdW90ZUxpdGVyYWw7XHJcbiAgICAgICAgICAgIHZhciByb2wgPSByZXFPckNvbnRleHQudXNlci5yb2w7XHJcbiAgICAgICAgICAgIHJldHVybiAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBcclxuICAgICAgICAgICAgICAgIHNlbGVjdCAqIFxyXG4gICAgICAgICAgICAgICAgICBmcm9tIHVzdWFyaW9zIFxyXG4gICAgICAgICAgICAgICAgICB3aGVyZSByb2wgaW4gKHNlbGVjdCByb2xfc3Vib3JkaW5hZG8gZnJvbSByb2xlc19zdWJvcmRpbmFkb3Mgd2hlcmUgcm9sID0gJHtxKHJvbCl9KWApLmZldGNoQWxsKCkpLnJvd3M7XHJcbiAgICAgICAgfSlcclxuICAgICAgICB2YXIgcHVlZGUgPSAhIXJlc3VsdC5maW5kKCh1c2VyKT0+dXNlci51c3VhcmlvID09IHVzZXJUb0NoYW5nZVBhc3MpO1xyXG4gICAgICAgIHZhciBpc0FkbWluID0gYmUuaXNBZG1pbihyZXFPckNvbnRleHQpO1xyXG4gICAgICAgIHJldHVybiBpc0FkbWluIHx8IHB1ZWRlXHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhc3luYyBnZXRQcm9jZWR1cmVzKCl7XHJcbiAgICAgICAgdmFyIGJlID0gdGhpcztcclxuICAgICAgICB2YXIgcHJvY2VkaW1pZW50b0FSZWVtcGxhemFyPVtcImNhc29fZ3VhcmRhclwiLFwiY2Fzb190cmFlclwiXTtcclxuICAgICAgICB2YXIgcGFyZW50UHJvYyA9IGF3YWl0IHN1cGVyLmdldFByb2NlZHVyZXMoKTtcclxuICAgICAgICBwYXJlbnRQcm9jID0gcGFyZW50UHJvYy5maWx0ZXIoKHByb2NlZHVyZTphbnkpID0+ICFwcm9jZWRpbWllbnRvQVJlZW1wbGF6YXIuaW5jbHVkZXMocHJvY2VkdXJlLmFjdGlvbikpO1xyXG4gICAgICAgIHBhcmVudFByb2MgPSBwYXJlbnRQcm9jLm1hcChwcm9jRGVmPT57XHJcbiAgICAgICAgICAgIGlmKHByb2NEZWYuYWN0aW9uID09ICd0YWJsZV9yZWNvcmRfc2F2ZScgfHwgcHJvY0RlZi5hY3Rpb24gPT0gJ3RhYmxlX3JlY29yZF9kZWxldGUnKXtcclxuICAgICAgICAgICAgICAgIHZhciBjb3JlRnVuY3Rpb25JbnRlcm5vID0gcHJvY0RlZi5jb3JlRnVuY3Rpb247XHJcbiAgICAgICAgICAgICAgICBwcm9jRGVmLmNvcmVGdW5jdGlvbiA9IGFzeW5jIGZ1bmN0aW9uKGNvbnRleHQ6Q29udGV4dCwgcGFyYW1ldGVyczpDb3JlRnVuY3Rpb25QYXJhbWV0ZXJzKXtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gYXdhaXQgY29yZUZ1bmN0aW9uSW50ZXJubyhjb250ZXh0LCBwYXJhbWV0ZXJzKVxyXG4gICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtZXRlcnMudGFibGUgPT0gJ2Nhc2lsbGVyb3MnKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmUuY2FjaGVzLnRpbWVzdGFtcEVzdHJ1Y3R1cmEgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3NlIHRvY8OzIGxhIGVzdHJ1Y3R1cmEnLCBiZS5jYWNoZXMudGltZXN0YW1wRXN0cnVjdHVyYSlcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gcHJvY0RlZjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBwYXJlbnRQcm9jLmNvbmNhdChQcm9jZWR1cmVzRG1FbmN1KTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGFzeW5jIGNoZWNrRGF0YWJhc2VTdHJ1Y3R1cmUoX2NsaWVudDpDbGllbnQpe1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgYWRkU2NocsO2ZGluZ2VyU2VydmljZXMobWFpbkFwcDpwcm9jZXNhbWllbnRvLkV4cHJlc3MsIGJhc2VVcmw6c3RyaW5nKXtcclxuICAgICAgICBsZXQgYmU9dGhpcztcclxuICAgICAgICBzdXBlci5hZGRTY2hyw7ZkaW5nZXJTZXJ2aWNlcyhtYWluQXBwLCBiYXNlVXJsKTtcclxuICAgICAgICAvL3Blcm1pdG8gbGV2YW50YXIgbWlzIGltYWdlbmVzIGVuIGFwbGljYWNpb25lcyBkZXBlbmRpZW50ZXNcclxuICAgICAgICBiZS5hcHAudXNlKCcvaW1nJywgZXhwcmVzcy5zdGF0aWMoJ25vZGVfbW9kdWxlcy9kbWVuY3UvZGlzdC91bmxvZ2dlZC91bmxvZ2dlZC9pbWcnKSlcclxuICAgICAgICBtYWluQXBwLnVzZShmdW5jdGlvbihyZXE6UmVxdWVzdCxfcmVzOlJlc3BvbnNlLCBuZXh0Ok5leHRGdW5jdGlvbil7XHJcbiAgICAgICAgICAgIGlmKHJlcS5zZXNzaW9uICYmICFyZXEuc2Vzc2lvbi5pbnN0YWxsKXtcclxuICAgICAgICAgICAgICAgIHJlcS5zZXNzaW9uLmluc3RhbGw9TWF0aC5yYW5kb20oKS50b1N0cmluZygpLnJlcGxhY2UoJy4nLCcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuZXh0KCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBtYWluQXBwLmdldChiYXNlVXJsKycvc2FsdmFyJyxhc3luYyBmdW5jdGlvbihyZXEscmVzLF9uZXh0KXtcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBzw6kgcXVlIHZveSBhIHJlY2liaXIgdXNlcmFnZW50IHBvciBsb3MgbWlkZGxld2FyZXMgZGUgQmFja2VuZC1wbHVzXHJcbiAgICAgICAgICAgIHZhciB7dXNlcmFnZW50fSA9IHJlcTtcclxuICAgICAgICAgICAgdmFyIGh0bWxNYWluPWJlLm1haW5QYWdlKHt1c2VyYWdlbnR9LCBmYWxzZSwge3NraXBNZW51OnRydWUsIG9mZmxpbmVGaWxlOnRydWV9KS50b0h0bWxEb2MoKTtcclxuICAgICAgICAgICAgbWluaVRvb2xzLnNlcnZlVGV4dChodG1sTWFpbiwnaHRtbCcpKHJlcSxyZXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG1haW5BcHAuZ2V0KGJhc2VVcmwrJy9jYW1wbycsYXN5bmMgZnVuY3Rpb24ocmVxLHJlcyxfbmV4dCl7XHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgc8OpIHF1ZSB2b3kgYSByZWNpYmlyIHVzZXJhZ2VudCBwb3IgbG9zIG1pZGRsZXdhcmVzIGRlIEJhY2tlbmQtcGx1c1xyXG4gICAgICAgICAgICB2YXIge3VzZXJhZ2VudCwgdXNlcn0gPSByZXE7XHJcbiAgICAgICAgICAgIGlmKHVzZXIpe1xyXG4gICAgICAgICAgICAgICAgLyoqIEB0eXBlIHt7dHlwZTonanMnLCBzcmM6c3RyaW5nfVtdfSAqL1xyXG4gICAgICAgICAgICAgICAgdmFyIHdlYk1hbmlmZXN0UGF0aCA9ICdjYXJnYS1kbS93ZWItbWFuaWZlc3Qud2VibWFuaWZlc3QnO1xyXG4gICAgICAgICAgICAgICAgdmFyIGh0bWxNYWluPWJlLm1haW5QYWdlKHt1c2VyYWdlbnQsIHVzZXJ9LCBmYWxzZSwge3NraXBNZW51OnRydWUsIHdlYk1hbmlmZXN0UGF0aCwgb2ZmbGluZUZpbGU6dHJ1ZX0pLnRvSHRtbERvYygpO1xyXG4gICAgICAgICAgICAgICBtaW5pVG9vbHMuc2VydmVUZXh0KGh0bWxNYWluLCdodG1sJykocmVxLHJlcyk7XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgcmVzLnJlZGlyZWN0KDQwMSwgYmFzZVVybCsnL2xvZ2luI3c9cGF0aCZwYXRoPS9jYW1wbycpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgY3JlYXRlU2VydmljZVdvcmtlciA9IGFzeW5jIGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIHZhciBzdyA9IGF3YWl0IGZzLnJlYWRGaWxlKCdub2RlX21vZHVsZXMvc2VydmljZS13b3JrZXItYWRtaW4vZGlzdC9zZXJ2aWNlLXdvcmtlci13by1tYW5pZmVzdC5qcycsICd1dGY4Jyk7XHJcbiAgICAgICAgICAgIHZhciBtYW5pZmVzdCA9IGJlLmNyZWF0ZVJlc291cmNlc0ZvckNhY2hlSnNvbigpO1xyXG4gICAgICAgICAgICB2YXIgc3dNYW5pZmVzdCA9IHN3XHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShcIicvKnZlcnNpb24qLydcIiwgSlNPTi5zdHJpbmdpZnkobWFuaWZlc3QudmVyc2lvbikpXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShcIicvKmFwcE5hbWUqLydcIiwgSlNPTi5zdHJpbmdpZnkobWFuaWZlc3QuYXBwTmFtZSkpXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvXFxbXFxzKlxcL1xcKnVybHNUb0NhY2hlXFwqXFwvXFxzKlxcXS8sIEpTT04uc3RyaW5naWZ5KG1hbmlmZXN0LmNhY2hlKSlcclxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFtcXHMqXFwvXFwqZmFsbGJhY2tzXFwqXFwvXFxzKlxcXS8sIEpTT04uc3RyaW5naWZ5KG1hbmlmZXN0LmZhbGxiYWNrIHx8IFtdKSk7XHJcbiAgICAgICAgICAgICAgICAvLy5yZXBsYWNlKFwiLyNDQUNIRSQvXCIsIFwiLyhhXFxcXGQrbVxcXFxkK3BcXFxcZCt0XFxcXGQrX2VzdHJ1Y3R1cmEuanMpfChhXFxcXGQrbVxcXFxkK3BcXFxcZCt0XFxcXGQrX2hkci5qc29uKS9cIik7XHJcbiAgICAgICAgICAgIHJldHVybiBzd01hbmlmZXN0XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1haW5BcHAuZ2V0KGJhc2VVcmwrYC9zdy1tYW5pZmVzdC5qc2AsIGFzeW5jIGZ1bmN0aW9uKHJlcSwgcmVzLCBuZXh0KXtcclxuICAgICAgICAgICAgdHJ5e1xyXG4gICAgICAgICAgICAgICAgbWluaVRvb2xzLnNlcnZlVGV4dChhd2FpdCBjcmVhdGVTZXJ2aWNlV29ya2VyKCksJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQnKShyZXEscmVzKTtcclxuICAgICAgICAgICAgfWNhdGNoKGVycil7XHJcbiAgICAgICAgICAgICAgICBtaW5pVG9vbHMuc2VydmVFcnIocmVxLHJlcyxuZXh0KSh1bmV4cGVjdGVkKGVycikpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbWFpbkFwcC5nZXQoYmFzZVVybCtgL2NhcmdhLWRtL3dlYi1tYW5pZmVzdC53ZWJtYW5pZmVzdGAsIGFzeW5jIGZ1bmN0aW9uKHJlcSwgcmVzLCBuZXh0KXtcclxuICAgICAgICAgICAgY29uc3QgQVBQX05BTUUgPSAoYXdhaXQgYmUuaW5UcmFuc2FjdGlvbihudWxsLCAoY2xpZW50OnBnLkNsaWVudCk9PlxyXG4gICAgICAgICAgICAgICAgY2xpZW50LnF1ZXJ5KFwic2VsZWN0IG9wZXJhdGl2byBmcm9tIHBhcmFtZXRyb3Mgd2hlcmUgdW5pY29fcmVnaXN0cm9cIikuZmV0Y2hVbmlxdWVWYWx1ZSgpXHJcbiAgICAgICAgICAgICkpLnZhbHVlO1xyXG4gICAgICAgICAgICB2YXIgc3VmaWpvID0gYmFzZVVybC5pbmNsdWRlcygndGVzdCcpIHx8IGJhc2VVcmwuaW5jbHVkZXMoJy9wcicpPydfdGVzdCc6XHJcbiAgICAgICAgICAgICAgICBiYXNlVXJsLmluY2x1ZGVzKCdjYXBhJyk/J19jYXBhJzonJztcclxuICAgICAgICAgICAgdHJ5e1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHtcclxuICAgICAgICAgICAgICAgICAgXCJuYW1lXCI6IGAke0FQUF9OQU1FfSR7c3VmaWpvfSBQcm9ncmVzc2l2ZSBXZWIgQXBwYCxcclxuICAgICAgICAgICAgICAgICAgXCJzaG9ydF9uYW1lXCI6IGAke0FQUF9OQU1FfSR7c3VmaWpvfSBQV0FgLFxyXG4gICAgICAgICAgICAgICAgICBcImRlc2NyaXB0aW9uXCI6IGBQcm9ncmVzc2l2ZSBXZWIgQXBwIGZvciAke0FQUF9OQU1FfSR7c3VmaWpvfS5gLFxyXG4gICAgICAgICAgICAgICAgICBcImljb25zXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBcInNyY1wiOiBgLi4vaW1nLyR7QVBQX05BTUV9LWxvZ28tZG0tMzIke3N1Zmlqb30ucG5nYCxcclxuICAgICAgICAgICAgICAgICAgICAgIFwic2l6ZXNcIjogXCIzMngzMlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaW1hZ2UvcG5nXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIFwic3JjXCI6IGAuLi9pbWcvJHtBUFBfTkFNRX0tbG9nby1kbS00OCR7c3VmaWpvfS5wbmdgLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJzaXplc1wiOiBcIjQ4eDQ4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJpbWFnZS9wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCJzcmNcIjogYC4uL2ltZy8ke0FQUF9OQU1FfS1sb2dvLWRtLTY0JHtzdWZpam99LnBuZ2AsXHJcbiAgICAgICAgICAgICAgICAgICAgICBcInNpemVzXCI6IFwiNjR4NjRcIixcclxuICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImltYWdlL3BuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBcInNyY1wiOiBgLi4vaW1nLyR7QVBQX05BTUV9LWxvZ28tZG0tNzIke3N1Zmlqb30ucG5nYCxcclxuICAgICAgICAgICAgICAgICAgICAgIFwic2l6ZXNcIjogXCI3Mng3MlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJ0eXBlXCI6IFwiaW1hZ2UvcG5nXCJcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIFwic3JjXCI6IGAuLi9pbWcvJHtBUFBfTkFNRX0tbG9nby1kbS0xOTIke3N1Zmlqb30ucG5nYCxcclxuICAgICAgICAgICAgICAgICAgICAgIFwic2l6ZXNcIjogXCIxOTJ4MTkyXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBcInR5cGVcIjogXCJpbWFnZS9wbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCJzcmNcIjogYC4uL2ltZy8ke0FQUF9OQU1FfS1sb2dvLWRtLTUxMiR7c3VmaWpvfS5wbmdgLFxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJzaXplc1wiOiBcIjUxMng1MTJcIixcclxuICAgICAgICAgICAgICAgICAgICAgIFwidHlwZVwiOiBcImltYWdlL3BuZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgICAuLi5iZS5nZXRDb2xvcnNKc29uKHN1ZmlqbyBhcyBTdWZpam9zQW1iaWVudGUpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtaW5pVG9vbHMuc2VydmVUZXh0KEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpLCAnYXBwbGljYXRpb24vanNvbicpKHJlcSxyZXMpO1xyXG4gICAgICAgICAgICB9Y2F0Y2goZXJyKXtcclxuICAgICAgICAgICAgICAgIG1pbmlUb29scy5zZXJ2ZUVycihyZXEsIHJlcywgbmV4dCkodW5leHBlY3RlZChlcnIpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZ2V0Q29sb3JzSnNvbihfc3VmaWpvOiBTdWZpam9zQW1iaWVudGUpe1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIFwic3RhcnRfdXJsXCI6IFwiLi4vY2FtcG9cIixcclxuICAgICAgICAgICAgXCJkaXNwbGF5XCI6IFwic3RhbmRhbG9uZVwiLFxyXG4gICAgICAgICAgICBcInRoZW1lX2NvbG9yXCI6IFwiIzNGNTFCNVwiLFxyXG4gICAgICAgICAgICBcImJhY2tncm91bmRfY29sb3JcIjogXCIjNmQ2MGVkXCJcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhZGRMb2dnZWRTZXJ2aWNlcygpe1xyXG4gICAgICAgIHZhciBiZSA9IHRoaXM7XHJcbiAgICAgICAgc3VwZXIuYWRkTG9nZ2VkU2VydmljZXMoKTtcclxuICAgICAgICBiZS5hcHAuZ2V0KCcvbWFuaWZlc3QubWFuaWZlc3QnLCBhc3luYyBmdW5jdGlvbihyZXE6UmVxdWVzdCwgcmVzOlJlc3BvbnNlLCBfbmV4dDpOZXh0RnVuY3Rpb24pe1xyXG4gICAgICAgICAgICBtaW5pVG9vbHMuc2VydmVGaWxlKCdzcmMvY2xpZW50L21hbmlmZXN0Lm1hbmlmZXN0Jyx7fSkocmVxLHJlcyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hcHAuZ2V0KCcvZmlsZScsIGFzeW5jIGZ1bmN0aW9uKHJlcTpSZXF1ZXN0LHJlczpSZXNwb25zZSl7XHJcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBiZS5pblRyYW5zYWN0aW9uKHJlcSwgXHJcbiAgICAgICAgICAgICAgICAoY2xpZW50OnBnLkNsaWVudCk9PlxyXG4gICAgICAgICAgICAgICAgY2xpZW50LnF1ZXJ5KFwic2VsZWN0IHJ1dGEgZnJvbSBhZGp1bnRvcyB3aGVyZSBpZF9hZGp1bnRvID0gJDFcIixbcmVxLnF1ZXJ5LmlkX2FkanVudG9dKVxyXG4gICAgICAgICAgICAgICAgLmZldGNoVW5pcXVlVmFsdWUoKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB2YXIgcGF0aCA9IHJlc3VsdC52YWx1ZTtcclxuICAgICAgICAgICAgbWluaVRvb2xzLnNlcnZlRmlsZShwYXRoLHt9KShyZXEscmVzKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmFwcC5nZXQoJy9pbWFnZW5lcycsIGFzeW5jIGZ1bmN0aW9uKHJlcTpSZXF1ZXN0LHJlczpSZXNwb25zZSl7XHJcbiAgICAgICAgICAgIG1pbmlUb29scy5zZXJ2ZUZpbGUoJ2xvY2FsLWltYWdlcy8nK3JlcS5xdWVyeS5wZGYse30pKHJlcSxyZXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuYXBwLmdldCgnL2Rvd25sb2FkL2FsbCcsYXN5bmMgZnVuY3Rpb24ocmVxOlJlcXVlc3QsIHJlczpSZXNwb25zZSwgbmV4dDooKT0+dm9pZCl7XHJcbiAgICAgICAgICAgIGlmKHJlcS51c2VyPT1udWxsIHx8IHJlcS51c2VyLnJvbCE9J2FkbWluJyl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnbm8gZXN0w6EgYXV0b3JpemFkbyBhIGJhamFyc2UgdG9kbycscmVxLnVzZXIpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV4dCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCB6aXAgPSBuZXcgeWF6bC5aaXBGaWxlKCk7XHJcbiAgICAgICAgICAgIHppcC5vdXRwdXRTdHJlYW0ucGlwZShyZXMpO1xyXG4gICAgICAgICAgICBsZXQgYmFzZSA9ICdsb2NhbC1hdHRhY2htZW50cydcclxuICAgICAgICAgICAgbGV0IGZpbGVzID0gYXdhaXQgZnMucmVhZGRpcihiYXNlKTtcclxuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoZmlsZXMubWFwKGFzeW5jIGZ1bmN0aW9uKGZpbGVOYW1lOnN0cmluZyl7XHJcbiAgICAgICAgICAgICAgICB2YXIgcGF0aCA9IGJhc2UrJy8nK2ZpbGVOYW1lO1xyXG4gICAgICAgICAgICAgICAgdmFyIHN0YXQgPSBhd2FpdCBmcy5zdGF0KHBhdGgpO1xyXG4gICAgICAgICAgICAgICAgaWYoc3RhdC5pc0ZpbGUoKSl7XHJcbiAgICAgICAgICAgICAgICAgICAgemlwLmFkZEZpbGUocGF0aCxmaWxlTmFtZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgemlwLmVuZCgpO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBhc3luYyBwb3N0Q29uZmlnKCl7XHJcbiAgICAgICAgYXdhaXQgc3VwZXIucG9zdENvbmZpZygpO1xyXG4gICAgICAgIHZhciBiZT10aGlzO1xyXG4gICAgICAgIGJlLmNhY2hlcy5tZXRhRW5jSW5jbHVpckNhc2lsbGVyb3NTYWx0b1JFTCA9IGZhbHNlO1xyXG4gICAgICAgIGF3YWl0IGJlLmluVHJhbnNhY3Rpb24obnVsbCwgYXN5bmMgZnVuY3Rpb24oY2xpZW50OnBnLkNsaWVudCl7XHJcbiAgICAgICAgICAgIHZhciBxUGVybWlzb3M9YFxyXG4gICAgICAgICAgICBTRUxFQ1QganNvbmJfb2JqZWN0X2FnZyhyLnJvbCxqc29uYl9idWlsZF9vYmplY3QoJ3N1cGVydXNlcicsci5zdXBlcnVzZXIsJ3B1ZWRlJywoXHJcbiAgICAgICAgICAgICAgICAgIFNFTEVDVCBqc29uYl9vYmplY3RfYWdnKHJwLnBlcm1pc28sKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBTRUxFQ1QganNvbmJfb2JqZWN0X2FnZyhycGEuYWNjaW9uLHJwYS5oYWJpbGl0YWRvKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEZST00gcm9sZXNfcGVybWlzb3MgcnBhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcnBhLnJvbD1ycC5yb2wgQU5EIHJwYS5wZXJtaXNvPXJwLnBlcm1pc29cclxuICAgICAgICAgICAgICAgICAgICApKVxyXG4gICAgICAgICAgICAgICAgICAgIEZST00gcm9sZXNfcGVybWlzb3MgcnBcclxuICAgICAgICAgICAgICAgICAgICBXSEVSRSBycC5yb2w9ci5yb2wgI2NvbmRIYWJpbGl0YWRvI1xyXG4gICAgICAgICAgICAgICkpKVxyXG4gICAgICAgICAgICAgIEZST00gcm9sZXMgclxyXG4gICAgICAgICAgICBgO1xyXG4gICAgICAgICAgICB2YXIgcmVzdWx0cyA9IFtcclxuICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5xdWVyeShxUGVybWlzb3MucmVwbGFjZSgnI2NvbmRIYWJpbGl0YWRvIycsJycpKS5mZXRjaFVuaXF1ZVZhbHVlKCksXHJcbiAgICAgICAgICAgICAgICBhd2FpdCBjbGllbnQucXVlcnkocVBlcm1pc29zLnJlcGxhY2UoJyNjb25kSGFiaWxpdGFkbyMnLGAgYW5kIHJwLiR7cGcucXVvdGVJZGVudCgnaGFiaWxpdGFkbycpfWApKS5mZXRjaFVuaXF1ZVZhbHVlKCksXHJcbiAgICAgICAgICAgICAgICBhd2FpdCBjbGllbnQucXVlcnkoYFxyXG4gICAgICAgICAgICAgICAgICAgIFNFTEVDVCBqc29uYl9vYmplY3RfYWdnKHBlcm1pc28sKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBTRUxFQ1QganNvbmJfb2JqZWN0X2FnZyhhY2Npb24sdHJ1ZSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBGUk9NIHBlcm1pc29zIHBhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgcGEucGVybWlzbz1wLnBlcm1pc29cclxuICAgICAgICAgICAgICAgICAgICAgICkpXHJcbiAgICAgICAgICAgICAgICAgICAgICBGUk9NIHBlcm1pc29zIHBcclxuICAgICAgICAgICAgICAgIGApLmZldGNoVW5pcXVlVmFsdWUoKVxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICBiZS5jYWNoZXMucGVybWlzb3NSb2w9cmVzdWx0c1swXS52YWx1ZTtcclxuICAgICAgICAgICAgYmUuY2FjaGVzLnBlcm1pc29zUm9sU29sb1RydWU9cmVzdWx0c1sxXS52YWx1ZTtcclxuICAgICAgICAgICAgYmUuY2FjaGVzLnBlcm1pc29zU3VwZXJ1c2VyPXJlc3VsdHNbMl0udmFsdWU7XHJcbiAgICAgICAgICAgIGJlLmNhY2hlcy5wZXJtaXNvc1BhcmFOYWRpZT1saWtlQXIoYmUuY2FjaGVzLnBlcm1pc29zU3VwZXJ1c2VyKS5tYXAocD0+bGlrZUFyKHApLm1hcChfPT5mYWxzZSkucGxhaW4oKSkucGxhaW4oKVxyXG4gICAgICAgICAgICAvL2NvbnNvbGUuZGlyKGJlLmNhY2hlcy5wZXJtaXNvc1JvbFNvbG9UcnVlLHtkZXB0aDo5fSk7XHJcbiAgICAgICAgICAgIC8vY29uc29sZS5kaXIoYmUuY2FjaGVzLnBlcm1pc29zU3VwZXJ1c2VyLHtkZXB0aDo5fSk7XHJcbiAgICAgICAgICAgIC8vY29uc29sZS5kaXIoYmUuY2FjaGVzLnBlcm1pc29zUGFyYU5hZGllLHtkZXB0aDo5fSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoQ2FjaGVzKCk7XHJcbiAgICAgICAgYXdhaXQgcmVnaXN0cmFyQ3JvbkpvYlBhc2FyQVByb2llKGJlKTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGNvbmZpZ1N0YXRpY0NvbmZpZygpe1xyXG4gICAgICAgIHN1cGVyLmNvbmZpZ1N0YXRpY0NvbmZpZygpO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGljQ29uZmlnKGRlZkNvbmZpZyk7XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBjbGllbnRJbmNsdWRlcyhyZXE6UmVxdWVzdCwgb3B0czpPcHRzQ2xpZW50UGFnZSk6Q2xpZW50TW9kdWxlRGVmaW5pdGlvbltdIHtcclxuICAgICAgICB2YXIgYmUgPSB0aGlzO1xyXG4gICAgICAgIHZhciB1bmxvZ2dlZCA9IG9wdHMgJiYgb3B0cy5vZmZsaW5lRmlsZTtcclxuICAgICAgICB2YXIgbWVudWVkUmVzb3VyY2VzOkNsaWVudE1vZHVsZURlZmluaXRpb25bXT0gdW5sb2dnZWQ/W1xyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi91bmxvZ2dlZC91bmxvZ2dlZCcsIGZpbGU6ICd1bmxvZ2dlZC5qcycsIHBhdGg6ICdkbWVuY3UnIH0sXHJcbiAgICAgICAgXTpbXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL2NsaWVudC9jbGllbnQnLCBmaWxlOiAnY2xpZW50LmpzJywgcGF0aDogJ2RtZW5jdScgfSxcclxuICAgICAgICBdO1xyXG4gICAgICAgIGlmKG9wdHMgJiYgb3B0cy5leHRyYUZpbGVzKXtcclxuICAgICAgICAgICAgbWVudWVkUmVzb3VyY2VzID0gbWVudWVkUmVzb3VyY2VzLmNvbmNhdChvcHRzLmV4dHJhRmlsZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZXh0ZXJuYWxSZXNvdXJjZXM6Q2xpZW50TW9kdWxlRGVmaW5pdGlvbltdID0gW1xyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ3JlYWN0JywgbW9kUGF0aDogJ3VtZCcsIGZpbGVEZXZlbG9wbWVudDoncmVhY3QuZGV2ZWxvcG1lbnQuanMnLCBmaWxlOidyZWFjdC5wcm9kdWN0aW9uLm1pbi5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdyZWFjdC1kb20nLCBtb2RQYXRoOiAndW1kJywgZmlsZURldmVsb3BtZW50OidyZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMnLCBmaWxlOidyZWFjdC1kb20ucHJvZHVjdGlvbi5taW4uanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnQG1hdGVyaWFsLXVpL2NvcmUnLCBtb2RQYXRoOiAndW1kJywgZmlsZURldmVsb3BtZW50OidtYXRlcmlhbC11aS5kZXZlbG9wbWVudC5qcycsIGZpbGU6J21hdGVyaWFsLXVpLnByb2R1Y3Rpb24ubWluLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ2Nsc3gnLCBmaWxlOidjbHN4Lm1pbi5qcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdyZWR1eCcsIG1vZFBhdGg6Jy4uL2Rpc3QnLCBmaWxlRGV2ZWxvcG1lbnQ6J3JlZHV4LmpzJywgZmlsZToncmVkdXgubWluLmpzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ3JlYWN0LXJlZHV4JywgbW9kUGF0aDonLi4vZGlzdCcsIGZpbGVEZXZlbG9wbWVudDoncmVhY3QtcmVkdXguanMnLCBmaWxlOidyZWFjdC1yZWR1eC5taW4uanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnbWVtb2l6ZS1vbmUnLCAgZmlsZTonbWVtb2l6ZS1vbmUuanMnIH0sXHJcbiAgICAgICAgICAgIC8veyB0eXBlOiAnanMnLCBtb2R1bGU6ICdxcmNvZGUnLCBtb2RQYXRoOiAnLi4vYnVpbGQnLCBmaWxlOiAncXJjb2RlLmpzJ30sXHJcbiAgICAgICAgICAgIC4uLnN1cGVyLmNsaWVudEluY2x1ZGVzKHJlcSwgb3B0cykuZmlsdGVyKG09Pm0uZmlsZSE9J2Zvcm11bGFyaW9zLmNzcycpXHJcbiAgICAgICAgICAgIC5maWx0ZXIobT0+IXVubG9nZ2VkIHx8IHRydWVcclxuICAgICAgICAgICAgICAgICYmIG0uZmlsZSE9J3Zhci1jYWwuanMnXHJcbiAgICAgICAgICAgICAgICAmJiBtLmZpbGUhPSd2YXItY2FsLmpzJyAgICAgXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnc2VydmljZS13b3JrZXItYWRtaW4nLCAgZmlsZTonc2VydmljZS13b3JrZXItYWRtaW4uanMnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAncmVkdXgtdHlwZWQtcmVkdWNlcicsIG1vZFBhdGg6Jy4uL2Rpc3QnLCBmaWxlOidyZWR1eC10eXBlZC1yZWR1Y2VyLmpzJyB9XHJcbiAgICAgICAgXTtcclxuICAgICAgICB2YXIgcmVzb3VyY2VzOkNsaWVudE1vZHVsZURlZmluaXRpb25bXSA9IFtcclxuICAgICAgICAgICAgLi4uZXh0ZXJuYWxSZXNvdXJjZXMsXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL3VubG9nZ2VkL3VubG9nZ2VkJywgZmlsZTogJ2FkYXB0LmpzJywgcGF0aDogJ2RtZW5jdScgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdkbWVuY3UnLCBtb2RQYXRoOiAnLi4vLi4vdW5sb2dnZWQvdW5sb2dnZWQnLCBmaWxlOiAndGlwb3MuanMnLCBwYXRoOiAnZG1lbmN1JyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi91bmxvZ2dlZC91bmxvZ2dlZCcsIGZpbGU6ICdieXBhc3MtZm9ybXVsYXJpby5qcycsIHBhdGg6ICdkbWVuY3UnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL3VubG9nZ2VkL3VubG9nZ2VkJywgZmlsZTogJ3JlZHV4LWZvcm11bGFyaW8uanMnLCBwYXRoOiAnZG1lbmN1JyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdqcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi91bmxvZ2dlZC91bmxvZ2dlZCcsIGZpbGU6ICdyZW5kZXItZ2VuZXJhbC5qcycsIHBhdGg6ICdkbWVuY3UnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2pzJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL3VubG9nZ2VkL3VubG9nZ2VkJywgZmlsZTogJ3JlbmRlci1mb3JtdWxhcmlvLmpzJywgcGF0aDogJ2RtZW5jdScgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAnanMnLCBtb2R1bGU6ICdkbWVuY3UnLCBtb2RQYXRoOiAnLi4vLi4vdW5sb2dnZWQvdW5sb2dnZWQnLCBmaWxlOiAnYWJyaXItZm9ybXVsYXJpby5qcycsIHBhdGg6ICdkbWVuY3UnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2NzcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi9jbGllbnQvY2xpZW50L2NzcycsIGZpbGU6ICdtZW51LmNzcycsIHBhdGg6ICdjc3MnIH0sXHJcbiAgICAgICAgICAgIHsgdHlwZTogJ2NzcycsIG1vZHVsZTogJ2RtZW5jdScsIG1vZFBhdGg6ICcuLi8uLi91bmxvZ2dlZC91bmxvZ2dlZC9jc3MnLCBmaWxlOiAnZm9ybXVsYXJpby1yZWFjdC5jc3MnLCBwYXRoOiAnY3NzJyB9LFxyXG4gICAgICAgICAgICB7IHR5cGU6ICdjc3MnLCBtb2R1bGU6ICdkbWVuY3UnLCBtb2RQYXRoOiAnLi4vLi4vdW5sb2dnZWQvdW5sb2dnZWQvY3NzJywgZmlsZTogJ2Jvb3RzdHJhcC5taW4uY3NzJywgcGF0aDogJ2NzcycgfSxcclxuICAgICAgICAgICAgeyB0eXBlOiAndHRmJywgbW9kdWxlOiAnZG1lbmN1JywgbW9kUGF0aDogJy4uLy4uL3VubG9nZ2VkL3VubG9nZ2VkL2NzcycsIGZpbGU6ICdSb2JvdG8tUmVndWxhci50dGYnLCBwYXRoOiAnY3NzJyB9LFxyXG4gICAgICAgICAgICAuLi4gbWVudWVkUmVzb3VyY2VzLFxyXG4gICAgICAgIF1cclxuICAgICAgICByZXR1cm4gcmVzb3VyY2VzXHJcbiAgICAgICAgLy8gLm1hcChtPT4oey4uLm0sIGZpbGU6bS5maWxlRGV2ZWxvcG1lbnR8fG0uZmlsZX0pKTtcclxuICAgIH1cclxuICAgIGFzeW5jIHJlZnJlc2hDYWNoZXMoKXtcclxuICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQgPSB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQgfHwge307XHJcbiAgICAgICAgYXdhaXQgdGhpcy5pbkRiQ2xpZW50KG51bGwsIGFzeW5jIChjbGllbnQpPT57XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5ub19yZWEgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBzZWxlY3QgKiBmcm9tIG5vX3JlYSBvcmRlciBieSBub19yZWFgKS5mZXRjaEFsbCgpKS5yb3dzO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGVzJyx0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhKVxyXG4gICAgICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX2dyb3VwcyA9IChhd2FpdCBjbGllbnQucXVlcnkoYFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0IGdydXBvLCBqc29uYl9hZ2codG9fanNvbihyLiopKSBhcyBjb2RpZ29zIGZyb20gbm9fcmVhIHIgZ3JvdXAgYnkgZ3J1cG8gb3JkZXIgYnkgMVxyXG4gICAgICAgICAgICBgKS5mZXRjaEFsbCgpKS5yb3dzO1xyXG4gICAgICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX2dyb3VwczAgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBcclxuICAgICAgICAgICAgICAgIHNlbGVjdCBncnVwbzAgYXMgZ3J1cG8sIGpzb25iX2FnZyh0b19qc29uKHIuKikpIGFzIGNvZGlnb3MgZnJvbSBub19yZWEgciBncm91cCBieSBncnVwbzAgb3JkZXIgYnkgMVxyXG4gICAgICAgICAgICBgKS5mZXRjaEFsbCgpKS5yb3dzO1xyXG4gICAgICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhX3N1cCA9IChhd2FpdCBjbGllbnQucXVlcnkoYHNlbGVjdCAqIGZyb20gbm9fcmVhX3N1cCBvcmRlciBieSBub19yZWFfc3VwYCkuZmV0Y2hBbGwoKSkucm93cztcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ2NhY2hlcycsdGhpcy5jYWNoZXMudGFibGVDb250ZW50Lm5vX3JlYV9zdXApXHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5ub19yZWFfc3VwX2dyb3VwcyA9IChhd2FpdCBjbGllbnQucXVlcnkoYFxyXG4gICAgICAgICAgICBzZWxlY3QgZ3J1cG9fc3VwLCBqc29uYl9hZ2codG9fanNvbihyLiopKSBhcyBjb2RpZ29zIGZyb20gbm9fcmVhX3N1cCByIGdyb3VwIGJ5IGdydXBvX3N1cCBvcmRlciBieSAxXHJcbiAgICAgICAgICAgIGApLmZldGNoQWxsKCkpLnJvd3M7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVzLnRhYmxlQ29udGVudC5ub19yZWFfc3VwX2dyb3VwczAgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBcclxuICAgICAgICAgICAgc2VsZWN0IGdydXBvMF9zdXAgYXMgZ3J1cG8sIGpzb25iX2FnZyh0b19qc29uKHIuKikpIGFzIGNvZGlnb3MgZnJvbSBub19yZWFfc3VwIHIgZ3JvdXAgYnkgZ3J1cG8wX3N1cCBvcmRlciBieSAxXHJcbiAgICAgICAgYCkuZmV0Y2hBbGwoKSkucm93cztcclxuICAgICAgICAgICB0aGlzLmNhY2hlcy50YWJsZUNvbnRlbnQuY29uUmVhSG9nYXIgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KGBcclxuICAgICAgICAgICAgc2VsZWN0IGNvbl9yZWFfaG9nYXIsb3BlcmF0aXZvLCBjb25maWdfc29ydGVvIGZyb20gb3BlcmF0aXZvc1xyXG4gICAgICAgICAgICAgYCkuZmV0Y2hVbmlxdWVSb3coKSkucm93O1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnY2FjaGVzICcsdGhpcy5jYWNoZXMudGFibGVDb250ZW50LmNvblJlYUhvZ2FyIClcclxuICAgICAgICB9KVxyXG4gICAgICAgIGNvbnNvbGUubG9nKCdjYWNoZXMgb2snKTtcclxuICAgIH1cclxuICAgIC8vc3FsTm9yZWFDYXNlKGNhbXBvTmVjZXNhcmlvOnN0cmluZyl7XHJcbiAgICAvLyAgICB2YXIgYmU9dGhpcztcclxuICAgIC8vICAgIHJldHVybiBgQ0FTRSAke2JlLmNhY2hlcy50YWJsZUNvbnRlbnQubm9fcmVhLm1hcCh4PT5cclxuICAgIC8vICAgICAgICBgIFdIRU4gbm9yZWEgID0gJHtiZS5kYi5xdW90ZUxpdGVyYWwoeC5ub19yZWEpfTo6aW50ZWdlciBUSEVOICR7YmUuZGIucXVvdGVMaXRlcmFsKHhbY2FtcG9OZWNlc2FyaW9dKX1gXHJcbiAgICAvLyAgICApLmpvaW4oJycpfSBXSEVOIFRSVUUgVEhFTiBOVUxMIEVORGBcclxuICAgIC8vfSAgICBcclxuICAgIG92ZXJyaWRlIGdldENvbnRleHQocmVxOlJlcXVlc3QpOkNvbnRleHR7XHJcbiAgICAgICAgdmFyIGJlID0gdGhpcztcclxuICAgICAgICB2YXIgZmF0aGVyQ29udGV4dCA9IHN1cGVyLmdldENvbnRleHQocmVxKTtcclxuICAgICAgICBpZihmYXRoZXJDb250ZXh0LnVzZXIpe1xyXG4gICAgICAgICAgICBpZihyZXEudXNlcj8ucm9sICE9bnVsbCAmJiBiZS5jYWNoZXMucGVybWlzb3NSb2xbcmVxLnVzZXIucm9sXT8uc3VwZXJ1c2VyKXtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7c3VwZXJ1c2VyOnRydWUsIHB1ZWRlOiBiZS5jYWNoZXMucGVybWlzb3NTdXBlcnVzZXIsIC4uLmZhdGhlckNvbnRleHR9XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtwdWVkZTogYmUuY2FjaGVzLnBlcm1pc29zUm9sW3JlcS51c2VyLnJvbF0/LnB1ZWRlLCAuLi5mYXRoZXJDb250ZXh0fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB7cHVlZGU6YmUuY2FjaGVzLnBlcm1pc29zUGFyYU5hZGllLCAuLi5mYXRoZXJDb250ZXh0fTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGdldENvbnRleHRGb3JEdW1wKCk6Q29udGV4dHtcclxuICAgICAgICB2YXIgZmF0aGVyQ29udGV4dCA9IHN1cGVyLmdldENvbnRleHRGb3JEdW1wKCk7XHJcbiAgICAgICAgcmV0dXJuIHtzdXBlcnVzZXI6dHJ1ZSwgcHVlZGU6IHRoaXMuY2FjaGVzLnBlcm1pc29zU3VwZXJ1c2VyLCAuLi5mYXRoZXJDb250ZXh0fTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIGFzeW5jIGdldENsaWVudFNldHVwRm9yU2VuZFRvRnJvbnRFbmQocmVxOlJlcXVlc3Qpe1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLihhd2FpdCBzdXBlci5nZXRDbGllbnRTZXR1cEZvclNlbmRUb0Zyb250RW5kKHJlcSkpLFxyXG4gICAgICAgICAgICBpZHBlcjogcmVxLnVzZXI/LmlkcGVyXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY3JlYXRlUmVzb3VyY2VzRm9yQ2FjaGVKc29uKCl7XHJcbiAgICAgICAgdmFyIGJlID0gdGhpcztcclxuICAgICAgICB2YXIganNvblJlc3VsdCA9IHtcclxuICAgICAgICAgICAgdmVyc2lvbjogQVBQX0RNX1ZFUlNJT04sXHJcbiAgICAgICAgICAgIGFwcE5hbWU6ICdkbWVuY3UnLFxyXG4gICAgICAgICAgICBjYWNoZTogW1xyXG4gICAgICAgICAgICAgICAgXCJjYW1wb1wiLFxyXG4gICAgICAgICAgICAgICAgXCJvZmZsaW5lXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9yZWFjdC5wcm9kdWN0aW9uLm1pbi5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvcmVhY3QtZG9tLnByb2R1Y3Rpb24ubWluLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9tYXRlcmlhbC11aS5wcm9kdWN0aW9uLm1pbi5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvY2xzeC5taW4uanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL3JlZHV4Lm1pbi5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvcmVhY3QtcmVkdXgubWluLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9tZW1vaXplLW9uZS5qc1wiLFxyXG4gICAgICAgICAgICAgICAgLy9cImxpYi9xcmNvZGUuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL3JlcXVpcmUtYnJvLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9jYXN0LWVycm9yLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9saWtlLWFyLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9iZXN0LWdsb2JhbHMuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL2pzb240YWxsLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9qcy10by1odG1sLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9yZWR1eC10eXBlZC1yZWR1Y2VyLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImRtZW5jdS9hZGFwdC5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJkbWVuY3UvdW5sb2dnZWQuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL2pzLXlhbWwuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL3hsc3guY29yZS5taW4uanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL2xhenktc29tZS5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvc3FsLXRvb2xzLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImRpYWxvZy1wcm9taXNlL2RpYWxvZy1wcm9taXNlLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcIm1vbWVudC9taW4vbW9tZW50LmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcInBpa2FkYXkvcGlrYWRheS5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvcG9seWZpbGxzLWJyby5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvYmlnLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi90eXBlLXN0b3JlLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi90eXBlZC1jb250cm9scy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvYWpheC1iZXN0LXByb21pc2UuanNcIixcclxuICAgICAgICAgICAgICAgIFwibXktYWpheC5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJteS1zdGFydC5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbXktbG9jYWxkYi5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbXktd2Vic3FsZGIuanNcIixcclxuICAgICAgICAgICAgICAgIFwibGliL215LWxvY2FsZGIuanMubWFwXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9teS13ZWJzcWxkYi5qcy5tYXBcIixcclxuICAgICAgICAgICAgICAgIFwibGliL215LXRoaW5ncy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbXktdGFibGVzLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9teS1pbmZvcm0tbmV0LXN0YXR1cy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbXktbWVudS5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvbXktc2tpbi5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvY2xpZW50ZS1lbi1jYXN0ZWxsYW5vLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImxpYi9zZXJ2aWNlLXdvcmtlci1hZG1pbi5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJsaWIvcmVkdXgtdHlwZWQtcmVkdWNlci5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjbGllbnRfbW9kdWxlcy9vcGVyYXRpdm9zLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImNsaWVudF9tb2R1bGVzL3ZhcmNhbC5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjbGllbnRfbW9kdWxlcy9mb3JtLXN0cnVjdHVyZS5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjbGllbnRfbW9kdWxlcy9tZXRhLWVuYy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjbGllbnRfbW9kdWxlcy9kYXRvcy1leHQuanNcIixcclxuICAgICAgICAgICAgICAgIFwiY2xpZW50X21vZHVsZXMvY29uc2lzdGVuY2lhcy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjbGllbnRfbW9kdWxlcy9wcm9jZXNhbWllbnRvLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImRtZW5jdS90aXBvcy5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJkbWVuY3UvYnlwYXNzLWZvcm11bGFyaW8uanNcIixcclxuICAgICAgICAgICAgICAgIFwiZG1lbmN1L3JlZHV4LWZvcm11bGFyaW8uanNcIixcclxuICAgICAgICAgICAgICAgIFwiZG1lbmN1L3JlbmRlci1nZW5lcmFsLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImRtZW5jdS9yZW5kZXItZm9ybXVsYXJpby5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJkbWVuY3UvYWJyaXItZm9ybXVsYXJpby5qc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjbGllbnRfbW9kdWxlcy9yb3ctdmFsaWRhdG9yLmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImNsaWVudC9tZW51LmpzXCIsXHJcbiAgICAgICAgICAgICAgICBcImltZy9sb2dvLnBuZ1wiLFxyXG4gICAgICAgICAgICAgICAgLy9cImltZy9sb2dvLWRtLnBuZ1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpbWcvbG9nby0xMjgucG5nXCIsXHJcbiAgICAgICAgICAgICAgICBcImltZy9tYWluLWxvYWRpbmcuZ2lmXCIsXHJcbiAgICAgICAgICAgICAgICBcImltZy9ib3JyYXItdmFsb3IucG5nXCIsXHJcbiAgICAgICAgICAgICAgICBcImltZy9mb25kby1zYWx0ZWFkby1lcnJvci5wbmdcIixcclxuICAgICAgICAgICAgICAgIFwiaW1nL2ZvbmRvLXNhbHRlYWRvLnBuZ1wiLFxyXG4gICAgICAgICAgICAgICAgXCJpbWcvYmFja2dyb3VuZC10ZXN0LnBuZ1wiLFxyXG4gICAgICAgICAgICAgICAgLy9cImNsaWVudC1zZXR1cFwiLFxyXG4gICAgICAgICAgICAgICAgXCJjc3MvYm9vdHN0cmFwLm1pbi5jc3NcIixcclxuICAgICAgICAgICAgICAgIFwiY3NzL2Zvcm11bGFyaW8tcmVhY3QuY3NzXCIsXHJcbiAgICAgICAgICAgICAgICBcInBpa2FkYXkvcGlrYWRheS5jc3NcIixcclxuICAgICAgICAgICAgICAgIFwiZGlhbG9nLXByb21pc2UvZGlhbG9nLXByb21pc2UuY3NzXCIsXHJcbiAgICAgICAgICAgICAgICBcInJlbC1lbmMvZXN0YWRvcy5jc3NcIixcclxuICAgICAgICAgICAgICAgIFwiY3NzL215LXRhYmxlcy5jc3NcIixcclxuICAgICAgICAgICAgICAgIFwiY3NzL215LW1lbnUuY3NzXCIsXHJcbiAgICAgICAgICAgICAgICBcImNzcy9teS10aGluZ3MuY3NzXCIsXHJcbiAgICAgICAgICAgICAgICBcImNzcy9tZW51LmNzc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJyZWwtZW5jL215LXRoaW5nczIuY3NzXCIsXHJcbiAgICAgICAgICAgICAgICBcImNzcy9mb3JtdWxhcmlvLXJlYWN0LmNzc1wiLFxyXG4gICAgICAgICAgICAgICAgXCJjc3MvUm9ib3RvLVJlZ3VsYXIudHRmXCJcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgZmFsbGJhY2s6IFtcclxuICAgICAgICAgICAgICAgIHtcInBhdGhcIjpcImxvZ2luXCIsIFwiZmFsbGJhY2tcIjpcIm9mZmxpbmVcIn0sXHJcbiAgICAgICAgICAgICAgICB7XCJwYXRoXCI6XCJsb2dvdXRcIiwgXCJmYWxsYmFja1wiOlwib2ZmbGluZVwifSxcclxuICAgICAgICAgICAgICAgIHtcInBhdGhcIjpcImxvZ2luI2k9c2luY3Jvbml6YXJcIiwgXCJmYWxsYmFja1wiOlwib2ZmbGluZVwifSxcclxuICAgICAgICAgICAgICAgIHtcInBhdGhcIjpcIm1lbnUjaT1zaW5jcm9uaXphclwiLCBcImZhbGxiYWNrXCI6XCJvZmZsaW5lXCJ9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBqc29uUmVzdWx0XHJcbiAgICB9XHJcbiAgICBnZXRNZW51Q29udHJvbGVzKGNvbnRleHQ6Q29udGV4dCkgeyByZXR1cm4gW1xyXG4gICAgICAgIHttZW51VHlwZToncHJvYycsIG5hbWU6J2VuY3Vlc3Rhc19wcm9jZXNhbWllbnRvX3Bhc2FyJywgbGFiZWw6ICdwYXNhciBlbmN1ZXN0YXMgYSBwcm9jZXNhbWllbnRvJ30sXHJcbiAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3Jlc3VtZW4nLCB0YWJsZTonY29udHJvbF9yZXN1bWVuJywgc2VsZWN0ZWRCeURlZmF1bHQ6dHJ1ZX0sXHJcbiAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2RvbWluaW8nLCB0YWJsZTonY29udHJvbF9jYW1wb19kb21pbmlvJ30sXHJcbiAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3pvbmEnICAgLCB0YWJsZTonY29udHJvbF9jYW1wb196b25hJyAgfSxcclxuICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonY29tdW5hJyAsIHRhYmxlOidjb250cm9sX2NhbXBvX2NvbXVuYSd9LFxyXG4gICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOifDoXJlYScgICAsIHRhYmxlOidjb250cm9sX2NhbXBvX2FyZWEnICB9LFxyXG4gICAgXTtcclxuICAgIH1cclxuICAgIGdldE1lbnVMaW1waWV6YShjb250ZXh0OkNvbnRleHQpIHsgXHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAge21lbnVUeXBlOidwcm9jJywgbmFtZTonaW50ZXJjYW1iaWFyX2VuY3Vlc3Rhcyd9LFxyXG4gICAgICAgIF07XHJcbiAgICB9ICAgIFxyXG4gICAgZ2V0TWVudShjb250ZXh0OkNvbnRleHQpe1xyXG4gICAgICAgIGxldCBtZW51Ok1lbnVJbmZvQmFzZVtdID0gW107XHJcbiAgICAgICAgbGV0IGZpbHRyb1JlY2VwY2lvbmlzdGEgPSBjb250ZXh0LnVzZXIucm9sPT0ncmVjZXBjaW9uaXN0YScgPyB7cmVjZXBjaW9uaXN0YTogY29udGV4dC51c2VyLmlkcGVyfSA6IHt9O1xyXG4gICAgICAgIGlmKHRoaXMuY29uZmlnLnNlcnZlci5wb2xpY3k9PSd3ZWInKXtcclxuICAgICAgICAgICAgaWYoY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzLnJlbGV2YXIpe1xyXG4gICAgICAgICAgICAgICAgaWYodGhpcy5jb25maWdbJ2NsaWVudC1zZXR1cCddLmFtYmllbnRlPT0nZGVtbycgfHwgdGhpcy5jb25maWdbJ2NsaWVudC1zZXR1cCddLmFtYmllbnRlPT0ndGVzdCcgfHwgdGhpcy5jb25maWdbJ2NsaWVudC1zZXR1cCddLmFtYmllbnRlPT0nY2FwYScpe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lbnUucHVzaCh7bWVudVR5cGU6J2RlbW8nLCBuYW1lOidkZW1vJywgc2VsZWN0ZWRCeURlZmF1bHQ6dHJ1ZX0pXHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBtZW51LnB1c2goe21lbnVUeXBlOidwYXRoJywgbmFtZToncmVsZXZhbWllbnRvJywgcGF0aDonL2NhbXBvJ30pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtZW51LnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidzaW5jcm9uaXphcl9kbScsIG5hbWU6J3NpbmNyb25pemFyJ30sXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmNhbXBvPy5lZGl0YXIpe1xyXG4gICAgICAgICAgICAgICAgbGV0IHN1Ym1lbnVBc2lnbmFjaW9uOk1lbnVJbmZvQmFzZVtdID0gW11cclxuICAgICAgICAgICAgICAgIGxldCBzdWJtZW51UmVjZXBjaW9uOk1lbnVJbmZvQmFzZVtdID0gW11cclxuICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBzdWJtZW51QXNpZ25hY2lvbi5wdXNoKHsgbWVudVR5cGU6ICd0YWJsZScsIG5hbWU6ICdnZW5lcmFsJywgdGFibGU6ICdhcmVhc19hc2lnbmFjaW9uX2dlbmVyYWwnIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3VibWVudUFzaWduYWNpb24ucHVzaChcclxuICAgICAgICAgICAgICAgICAgICB7IG1lbnVUeXBlOiAndGFibGUnLCBuYW1lOiAnZW5jdWVzdGFkb3InLCB0YWJsZTogJ3RfZW5jdV9hcmVhcycsIGZmOiB7IHRhcmVhOiAnZW5jdScsIC4uLmZpbHRyb1JlY2VwY2lvbmlzdGEgfSB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHsgbWVudVR5cGU6ICd0YWJsZScsIG5hbWU6ICdyZWN1cGVyYWRvcicsIHRhYmxlOiAndGFyZWFzX3RlbV9yZWN1JywgZmY6IHsgdGFyZWFfYXNpZ25hcjogJ3JlY3UnLCB0YXJlYTogJ3JlY3UnLCAuLi5maWx0cm9SZWNlcGNpb25pc3RhIH0gfSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBpZihjb250ZXh0LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1Ym1lbnVBc2lnbmFjaW9uLnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbWVudVR5cGU6ICd0YWJsZScsIG5hbWU6ICdzdXBlcnZpc29yJyAsIHRhYmxlOiAndGFyZWFzX3RlbV9zdXBlJywgZmY6IHsgdGFyZWFfYXNpZ25hcjogJ3N1cGUnLCB0YXJlYTogJ3N1cGUnLCAuLi5maWx0cm9SZWNlcGNpb25pc3RhIH0gfSxcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3VibWVudVJlY2VwY2lvbi5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidlbmN1ZXN0YWRvcicsIHRhYmxlOidlbmN1ZXN0YWRvcmVzX2FzaWduYWRvcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidyZWN1cGVyYWRvcicsIHRhYmxlOidyZWN1cGVyYWRvcmVzX2FzaWduYWRvcyd9LFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgbWVudS5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTonbWVudScsIG5hbWU6J2FzaWduYWNpb24nLCBsYWJlbDonYXNpZ25hY2nDs24nICxtZW51Q29udGVudDogc3VibWVudUFzaWduYWNpb259LFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTonbWVudScsIG5hbWU6J3JlY2VwY2lvbicsIGxhYmVsOidyZWNlcGNpw7NuJyAsbWVudUNvbnRlbnQ6c3VibWVudVJlY2VwY2lvbn0sICBcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBpZihjb250ZXh0LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXIpe1xyXG4gICAgICAgICAgICAgICAgICAgIHN1Ym1lbnVSZWNlcGNpb24ucHVzaChcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3N1cGVydmlzb3InICwgdGFibGU6J3N1cGVydmlzb3Jlc19hc2lnbmFkb3MnIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOiAnbWlzX3N1cGVydmlzb3JlcycgLCB0YWJsZTogJ21pc19zdXBlcnZpc29yZXNfYXNpZ25hZG9zJ31cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIG1lbnUucHVzaCh7bWVudVR5cGU6J3RhYmxlJywgbmFtZTondGFyZWFzX3RlbV9maW5fY2FtcG8nLCBsYWJlbDonZmluIGNhbXBvJ30pXHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICBtZW51LnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTonbWVudScsIG5hbWU6J3N1cGVydmlzaW9uJywgbGFiZWw6J3N1cGVydmlzacOzbicgLG1lbnVDb250ZW50OltcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidzdXBlcnZpc2FyJyAsIHRhYmxlOid0YXJlYXNfdGVtX2luZ3Jlc28nLCBmZjp7dGFyZWE6J3N1cGUnLCBhc2lnbmFkbzpjb250ZXh0LnVzZXIuaWRwZXIgfSB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF19XHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgfSAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZihjb250ZXh0LnB1ZWRlPy5jYW1wbz8uZWRpdGFyfHxjb250ZXh0LnB1ZWRlPy5lbmN1ZXN0YXM/LnByb2Nlc2FyKXtcclxuICAgICAgICAgICAgICAgIGxldCBzdWJtZW51VmFyaW9zOk1lbnVJbmZvQmFzZVtdID0gW3ttZW51VHlwZTogJ2FicmlyX2VuY3Vlc3RhJywgbmFtZTogJ2FicmlyX2VuY3Vlc3RhJ31dXHJcbiAgICAgICAgICAgICAgICBpZihjb250ZXh0LnB1ZWRlPy5jYW1wbz8uZWRpdGFyKXtcclxuICAgICAgICAgICAgICAgICAgICBzdWJtZW51VmFyaW9zLnB1c2goe21lbnVUeXBlOiAndGFibGUnLCBuYW1lOiAnaG9qYV9ydXRhJywgdGFibGU6ICdncmlsbGFfaG9qYV9ydXRhJywgbGFiZWw6ICdob2phIGRlIHJ1dGEnfSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcil7XHJcbiAgICAgICAgICAgICAgICAgICAgc3VibWVudVZhcmlvcy5wdXNoKHttZW51VHlwZToncHJvYycsIG5hbWU6J2VuY3Vlc3RhZG9yX2Rtc19tb3N0cmFyJywgbGFiZWw6J2ZvcnphciBkZXNjYXJnYSBlbmN1ZXN0YXMgRE0nfSlcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBtZW51LnB1c2goICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOiAnbWVudScsIG5hbWU6ICd2YXJpb3MnLCBtZW51Q29udGVudDogc3VibWVudVZhcmlvc31cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0gICAgXHJcbiAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcnx8Y29udGV4dC5wdWVkZT8uZW5jdWVzdGFzPy5wcm9jZXNhcil7XHJcbiAgICAgICAgICAgICAgICBtZW51LnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZTonY29udHJvbCcsIG1lbnVDb250ZW50OiAgdGhpcy5nZXRNZW51Q29udHJvbGVzKGNvbnRleHQpIH0gKSAgO1xyXG4gICAgICAgICAgICAgICAgIC8qe21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3BhcnRpY2lwYWNpb24nICAgICAgICAsIHRhYmxlOidjb250cm9sX2NhbXBvX3BhcnRpY2lwYWNpb24nICB9LCovXHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmVuY3Vlc3Rhcz8ucHJvY2VzYXIpe1xyXG4gICAgICAgICAgICAgICAgbWVudS5wdXNoKFxyXG4gICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTonbWVudScsIG5hbWU6J3Byb2Nlc2FyJywgbWVudUNvbnRlbnQ6W1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTondmFyaWFibGVzJyAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonY29uc2lzdGVuY2lhcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonaW5jb25zaXN0ZW5jaWFzJ30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOid0YWJsYV9kYXRvcycgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidkaWNjaW9uYXJpbycgICwgbGFiZWw6J2RpY2Npb25hcmlvcycgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3RhcmVhc190ZW1fcHJvY2VzYW1pZW50bycsIGxhYmVsOidlbmN1ZXN0YXMnfVxyXG4gICAgICAgICAgICAgICAgICAgIF19LFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmdldE1lbnVMaW1waWV6YShjb250ZXh0KS5sZW5ndGgpe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lbnUucHVzaChcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZTonbGltcGllemEnLCBtZW51Q29udGVudDp0aGlzLmdldE1lbnVMaW1waWV6YShjb250ZXh0KX0sICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB2YXIgbWVudUNvbmZpZ3VyYXI6TWVudUluZm9CYXNlW10gPSBbXTtcclxuICAgICAgICAgICAgaWYoY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyfHxjb250ZXh0LnB1ZWRlPy5lbmN1ZXN0YXM/LnByb2Nlc2FyKXtcclxuICAgICAgICAgICAgICAgIGxldCBzdWJtZW51TXVlc3RyYTpNZW51SW5mb0Jhc2VbXSA9IFt7bWVudVR5cGU6J3RhYmxlJywgbmFtZTondGVtJywgbGFiZWw6ICdURU0nfV1cclxuICAgICAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhcil7XHJcbiAgICAgICAgICAgICAgICAgICAgc3VibWVudU11ZXN0cmEucHVzaCh7bWVudVR5cGU6J3RhYmxlJywgbmFtZTondGFyZWFzJ30pXHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgbWVudUNvbmZpZ3VyYXIucHVzaChcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J21lbnUnLCBuYW1lOidtdWVzdHJhJywgbGFiZWw6J211ZXN0cmEnLCBtZW51Q29udGVudDpzdWJtZW51TXVlc3RyYX1cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYoY29udGV4dC5wdWVkZT8uY2FzaWxsZXJvc190ZXh0bz8uZWRpdGFyKXtcclxuICAgICAgICAgICAgICAgIG1lbnVDb25maWd1cmFyLnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZTonbWV0YWRhdG9zJywgbWVudUNvbnRlbnQ6W1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonb3BlcmF0aXZvcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonZm9ybXVsYXJpb3MnICwgdGFibGU6J2Nhc2lsbGVyb3NfcHJpbmNpcGFsZXMnfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3BsYW5vJyAgICAgICAsIHRhYmxlOidjYXNpbGxlcm9zJ30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOid0aXBvYycgICAgICAgLCBsYWJlbDondGlwb3MgZGUgY2VsZGFzJ30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOid0aXBvY190aXBvYycgLCBsYWJlbDonaW5jbHVzaW9uZXMgZGUgY2VsZGFzJ30sXHJcbiAgICAgICAgICAgICAgICAgICAgXX0sXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGNvbnRleHQuc3VwZXJ1c2VyKXtcclxuICAgICAgICAgICAgICAgIG1lbnVDb25maWd1cmFyLnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZTonZXN0YWRvc19hY2Npb25lcycsIGxhYmVsOidlc3RhZG9zL2FjY2lvbmVzJywgbWVudUNvbnRlbnQ6W1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonZXN0YWRvcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZTonYWNjaW9uZXMnfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J2VzdGFkb3NfYWNjaW9uZXMnfSxcclxuICAgICAgICAgICAgICAgICAgICBdfSxcclxuICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZToncGFyYW1ldHJvcyd9LFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKGNvbnRleHQucHVlZGU/LmNhbXBvPy5hZG1pbmlzdHJhciB8fCBjb250ZXh0LnB1ZWRlPy5lbmN1ZXN0YXM/LnByb2Nlc2FyKXtcclxuICAgICAgICAgICAgICAgIG1lbnVDb25maWd1cmFyLnB1c2goXHJcbiAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOidtZW51JywgbmFtZTondXN1YXJpb3MnLCBtZW51Q29udGVudDpbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOid1c3VhcmlvcycsIHNlbGVjdGVkQnlEZWZhdWx0OnRydWV9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7bWVudVR5cGU6J3RhYmxlJywgbmFtZToncm9sZXMnfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge21lbnVUeXBlOid0YWJsZScsIG5hbWU6J3Blcm1pc29zJ30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHttZW51VHlwZTondGFibGUnLCBuYW1lOidyb2xlc19wZXJtaXNvcyd9LFxyXG4gICAgICAgICAgICAgICAgICAgIF19LFxyXG4gICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKG1lbnVDb25maWd1cmFyLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgICBtZW51LnB1c2goe21lbnVUeXBlOidtZW51JywgbmFtZTonY29uZmlndXJhcicsIG1lbnVDb250ZW50Om1lbnVDb25maWd1cmFyfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHttZW51fTtcclxuICAgIH1cclxuICAgIG92ZXJyaWRlIHByZXBhcmVHZXRUYWJsZXMoKXtcclxuICAgICAgICB2YXIgYmU9dGhpcztcclxuICAgICAgICBzdXBlci5wcmVwYXJlR2V0VGFibGVzKCk7XHJcbiAgICAgICAgdGhpcy5nZXRUYWJsZURlZmluaXRpb249e1xyXG4gICAgICAgICAgICAuLi50aGlzLmdldFRhYmxlRGVmaW5pdGlvblxyXG4gICAgICAgICAgICAsIHJvbGVzXHJcbiAgICAgICAgICAgICwgdXN1YXJpb3NcclxuICAgICAgICAgICAgLCBwZXJzb25hbFxyXG4gICAgICAgICAgICAsIHJlY2VwY2lvbmlzdGFzXHJcbiAgICAgICAgICAgICwgZW5jdWVzdGFkb3Jlc19hc2lnbmFkb3NcclxuICAgICAgICAgICAgLCByZWN1cGVyYWRvcmVzX2FzaWduYWRvc1xyXG4gICAgICAgICAgICAsIHN1cGVydmlzb3Jlc19hc2lnbmFkb3NcclxuICAgICAgICAgICAgLCBtaXNfc3VwZXJ2aXNvcmVzX2FzaWduYWRvc1xyXG4gICAgICAgICAgICAsIG1pc19lbmN1ZXN0YWRvcmVzXHJcbiAgICAgICAgICAgICwgcmVjdXBlcmFkb3Jlc1xyXG4gICAgICAgICAgICAsIHN1cGVydmlzb3Jlc1xyXG4gICAgICAgICAgICAsIHBlcnNvbmFsX3JvbFxyXG4gICAgICAgICAgICAsIHBlcm1pc29zXHJcbiAgICAgICAgICAgICwgcm9sZXNfcGVybWlzb3NcclxuICAgICAgICAgICAgLCByb2xlc19zdWJvcmRpbmFkb3NcclxuICAgICAgICAgICAgLCBub19yZWFcclxuICAgICAgICAgICAgLCBub19yZWFfc3VwXHJcbiAgICAgICAgICAgICwgc2VtYW5hc1xyXG4gICAgICAgICAgICAsIGVzdGFkb3NcclxuICAgICAgICAgICAgLCBhY2Npb25lc1xyXG4gICAgICAgICAgICAsIGVzdGFkb3NfYWNjaW9uZXNcclxuICAgICAgICAgICAgLCB0ZW1cclxuICAgICAgICAgICAgLCB0ZW1fcmVjZXBjaW9uXHJcbiAgICAgICAgICAgICwgcGFyYW1ldHJvc1xyXG4gICAgICAgICAgICAsIG9wZXJhY2lvbmVzXHJcbiAgICAgICAgICAgICwgY29tdW5hc1xyXG4gICAgICAgICAgICAsIGFyZWFzXHJcbiAgICAgICAgICAgICwgc2luY3Jvbml6YWNpb25lc1xyXG4gICAgICAgICAgICAsIHRhcmVhc1xyXG4gICAgICAgICAgICAsIHRhcmVhc190ZW1cclxuICAgICAgICAgICAgLCB0YXJlYXNfdGVtX2VuY3VcclxuICAgICAgICAgICAgLCB0YXJlYXNfdGVtX3JlY3VcclxuICAgICAgICAgICAgLCB0YXJlYXNfdGVtX3N1cGVcclxuICAgICAgICAgICAgLCB0YXJlYXNfYXJlYXNcclxuICAgICAgICAgICAgLCBhcmVhc19hc2lnbmFjaW9uX2dlbmVyYWxcclxuICAgICAgICAgICAgLCBncmlsbGFfaG9qYV9ydXRhXHJcbiAgICAgICAgICAgICwgdF9lbmN1X2FyZWFzXHJcbiAgICAgICAgICAgICwgdF9yZWN1X2FyZWFzXHJcbiAgICAgICAgICAgICwgdF9zdXBlX2FyZWFzXHJcbiAgICAgICAgICAgICwgbWlzX3RhcmVhc1xyXG4gICAgICAgICAgICAsIHRlbV9hc2lnbmFjaW9uXHJcbiAgICAgICAgICAgICwgdGFyZWFzX3RlbV9yZWNlcGNpb25cclxuICAgICAgICAgICAgLCB0YXJlYXNfdGVtX2luZ3Jlc29cclxuICAgICAgICAgICAgLCB0YXJlYXNfdGVtX2Zpbl9jYW1wb1xyXG4gICAgICAgICAgICAsIHRhcmVhc190ZW1fcHJvY2VzYW1pZW50b1xyXG4gICAgICAgICAgICAsIG1pc190YXJlYXNfYXJlYXNcclxuICAgICAgICAgICAgLCBjb250cm9sX2NhbXBvXHJcbiAgICAgICAgICAgICwgY29udHJvbF9yZXN1bWVuXHJcbiAgICAgICAgICAgICwgY29udHJvbF9jYW1wb196b25hOiBjb250ZXh0PT5jb250cm9sX2NhbXBvKGNvbnRleHQsIFxyXG4gICAgICAgICAgICAgICAge25vbWJyZTonY29udHJvbF9jYW1wb19jb211bmEnLCB0aXRsZTonY29udHJvbCBjYW1wbyB4IHpvbmEgc29sbyBjZW1lbnRvJywgY2FtcG9zQ29ydGU6W3tuYW1lOid6b25hJywgdHlwZU5hbWU6J3RleHQnfV0sIHNpbmhvZ2ZpbjohY29udGV4dC5iZS5jYWNoZXMudGFibGVDb250ZW50LmNvblJlYUhvZ2FyLmNvbl9yZWFfaG9nYXIsZmlsdHJvV2hlcmU6J2RvbWluaW89MycgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgICwgY29udHJvbF9jYW1wb19jb211bmE6IGNvbnRleHQ9PmNvbnRyb2xfY2FtcG8oY29udGV4dCwgXHJcbiAgICAgICAgICAgICAgICB7bm9tYnJlOidjb250cm9sX2NhbXBvX2NvbXVuYScsIHRpdGxlOidjb250cm9sIGNhbXBvIHggY29tdW5hIHNvbG8gY2VtZW50bycsIGNhbXBvc0NvcnRlOlt7bmFtZTonem9uYScsIHR5cGVOYW1lOid0ZXh0J30se25hbWU6J25yb2NvbXVuYScsIHR5cGVOYW1lOidpbnRlZ2VyJ31dLCBzaW5ob2dmaW46IWNvbnRleHQuYmUuY2FjaGVzLnRhYmxlQ29udGVudC5jb25SZWFIb2dhci5jb25fcmVhX2hvZ2FyLGZpbHRyb1doZXJlOidkb21pbmlvPTMnIH1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAsIGNvbnRyb2xfY2FtcG9fYXJlYTogY29udGV4dD0+Y29udHJvbF9jYW1wbyhjb250ZXh0LCBcclxuICAgICAgICAgICAgICAgIHtub21icmU6J2NvbnRyb2xfY2FtcG9fY29tdW5hJywgdGl0bGU6J2NvbnRyb2wgY2FtcG8geCBhcmVhJywgY2FtcG9zQ29ydGU6W3tuYW1lOid6b25hJywgdHlwZU5hbWU6J3RleHQnfSx7bmFtZTonbnJvY29tdW5hJywgdHlwZU5hbWU6J2ludGVnZXInfSx7bmFtZTonYXJlYScsIHR5cGVOYW1lOidpbnRlZ2VyJ30se25hbWU6J3BhcnRpY2lwYWNpb25fYScsIHR5cGVOYW1lOid0ZXh0J30se25hbWU6J2NsYXNlX2EnLCB0eXBlTmFtZTondGV4dCd9XSAsc2luaG9nZmluOiFjb250ZXh0LmJlLmNhY2hlcy50YWJsZUNvbnRlbnQuY29uUmVhSG9nYXIuY29uX3JlYV9ob2dhcn1cclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAsIGNvbnRyb2xfY2FtcG9fcGFydGljaXBhY2lvbjogY29udGV4dD0+Y29udHJvbF9jYW1wbyhjb250ZXh0LCBcclxuICAgICAgICAgICAgICAgIHtub21icmU6J2NvbnRyb2xfY2FtcG9fY29tdW5hJywgdGl0bGU6J2NvbnRyb2wgY2FtcG8geCBwYXJ0aWNpcGFjaW9uJywgY2FtcG9zQ29ydGU6W3tuYW1lOidwYXJ0aWNpcGFjaW9uJywgdHlwZU5hbWU6J2JpZ2ludCd9XSxzaW5ob2dmaW46IWNvbnRleHQuYmUuY2FjaGVzLnRhYmxlQ29udGVudC5jb25SZWFIb2dhci5jb25fcmVhX2hvZ2FyfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgICwgY29udHJvbF9jYW1wb19kb21pbmlvOiBjb250ZXh0PT5jb250cm9sX2NhbXBvKGNvbnRleHQsIFxyXG4gICAgICAgICAgICAgICAge25vbWJyZTonY29udHJvbF9jYW1wb19jb211bmEnLCB0aXRsZTonY29udHJvbCBjYW1wbyB4IGRvbWluaW8nLCBjYW1wb3NDb3J0ZTpbe25hbWU6J2RvbWluaW8nLCB0eXBlTmFtZTonaW50ZWdlcid9XSxzaW5ob2dmaW46IWNvbnRleHQuYmUuY2FjaGVzLnRhYmxlQ29udGVudC5jb25SZWFIb2dhci5jb25fcmVhX2hvZ2FyfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgICwgY29udHJvbF9kaWFzX2NhcmdhXHJcbiAgICAgICAgICAgICwgdml2aWVuZGFzXHJcbiAgICAgICAgICAgICwgdmlzaXRhc1xyXG4gICAgICAgICAgICAsIGhvZ2FyZXNcclxuICAgICAgICAgICAgLCBwZXJzb25hc1xyXG4gICAgICAgICAgICAsIHZpc2l0YXNfc3VwXHJcbiAgICAgICAgICAgICwgaG9nYXJlc19zdXBcclxuICAgICAgICAgICAgLCBwZXJzb25hc19zdXBcclxuICAgICAgICB9XHJcbiAgICAgICAgYmUuYXBwZW5kVG9UYWJsZURlZmluaXRpb24oJ2NvbnNpc3RlbmNpYXMnLGZ1bmN0aW9uKHRhYmxlRGVmLCBjb250ZXh0KXtcclxuICAgICAgICAgICAgdGFibGVEZWYuZWRpdGFibGU9dGFibGVEZWYuZWRpdGFibGUgfHwgY29udGV4dC5wdWVkZT8uZW5jdWVzdGFzPy5wcm9jZXNhcjtcclxuICAgICAgICAgICAgdGFibGVEZWYuZmllbGRzLmZvckVhY2goZnVuY3Rpb24oZmllbGQpe1xyXG4gICAgICAgICAgICAgICAgaWYoZmllbGQubmFtZT09J2Vycm9yX2NvbXBpbGFjaW9uJyl7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZmllbGQudmlzaWJsZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJyoqKioqKioqKioqKiBRVUlUQVIgRVNUTyBlcnJvcl9jb21waWxhY2lvbiB5YSBlcyB2aXNpYmxlJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnZpc2libGU9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICAgIGJlLmFwcGVuZFRvVGFibGVEZWZpbml0aW9uKCdpbmNvbnNpc3RlbmNpYXMnLGZ1bmN0aW9uKHRhYmxlRGVmLCBjb250ZXh0KXtcclxuICAgICAgICAgICAgdGFibGVEZWYuc3FsPXsuLi50YWJsZURlZi5zcWwsIGlzVGFibGU6dHJ1ZX07XHJcbiAgICAgICAgICAgIHRhYmxlRGVmLmZpZWxkcy5zcGxpY2UoMiwwLFxyXG4gICAgICAgICAgICAgICAge25hbWU6J3ZpdmllbmRhJyAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICAgICAge25hbWU6J2hvZ2FyJyAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICAgICAge25hbWU6J3BlcnNvbmEnICAgICAsIHR5cGVOYW1lOidiaWdpbnQnICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICAgICAge25hbWU6J3Zpc2l0YScgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnICAgLCBlZGl0YWJsZTogZmFsc2V9LFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0YWJsZURlZi5lZGl0YWJsZT10YWJsZURlZi5lZGl0YWJsZSB8fCBjb250ZXh0LnB1ZWRlPy5lbmN1ZXN0YXMuanVzdGlmaWNhcjtcclxuICAgICAgICAgICAgdGFibGVEZWYuZmllbGRzLmZvckVhY2goZnVuY3Rpb24oZmllbGQpe1xyXG4gICAgICAgICAgICAgICAgaWYoZmllbGQubmFtZT09J3BrX2ludGVncmFkYScpe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLnZpc2libGU9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZihmaWVsZC5uYW1lPT0nanVzdGlmaWNhY2lvbicpe1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkLmVkaXRhYmxlPWNvbnRleHQ/LmZvckR1bXAgfHwgY29udGV4dD8ucHVlZGU/LmVuY3Vlc3Rhcy5qdXN0aWZpY2FyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB0YWJsZURlZi5maWVsZHM9dGFibGVEZWYuZmllbGRzLmNvbmNhdChbJ3RhcmVhX2FjdHVhbCcsJ3RhcmVhX2FudGVyaW9yJ10ubWFwKGZuPT57XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge25hbWU6IGZuICAgLCB0eXBlTmFtZTogJ3RleHQnICAsIGVkaXRhYmxlOiBmYWxzZSwgaW5UYWJsZTogZmFsc2V9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICB0YWJsZURlZi5zcWwhLmZyb209YFxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdCBpLiosIHQudGFyZWFfYWN0dWFsLHR0LnRhcmVhX2FudGVyaW9yXHJcbiAgICAgICAgICAgICAgICAgIGZyb20gaW5jb25zaXN0ZW5jaWFzIGkgam9pbiB0ZW0gdCBvbiBpLnZpdmllbmRhPXQuZW5jIGFuZCBpLm9wZXJhdGl2bz10Lm9wZXJhdGl2byBcclxuICAgICAgICAgICAgICAgICAgbGVmdCBqb2luIHRhcmVhc190ZW0gdHQgb24gdC5vcGVyYXRpdm89dHQub3BlcmF0aXZvIGFuZCB0LmVuYz10dC5lbmMgYW5kIHQudGFyZWFfYWN0dWFsPXR0LnRhcmVhIFxyXG4gICAgICAgICAgICAgICAgKSAgXHJcbiAgICAgICAgICAgIGBcclxuICAgICAgICB9KVxyXG4gICAgICAgIGJlLmFwcGVuZFRvVGFibGVEZWZpbml0aW9uKCdvcGVyYXRpdm9zJyxmdW5jdGlvbih0YWJsZURlZiwgY29udGV4dCl7XHJcbiAgICAgICAgICAgIHRhYmxlRGVmLmZpZWxkcy5zcGxpY2UoMiwwLHtcclxuICAgICAgICAgICAgICAgIG5hbWU6J2NvbmZpZ19zb3J0ZW8nLCBcclxuICAgICAgICAgICAgICAgIHR5cGVOYW1lOidqc29uYicsXHJcbiAgICAgICAgICAgICAgICBlZGl0YWJsZTogZmFsc2VcclxuICAgICAgICAgICAgfSx7XHJcbiAgICAgICAgICAgICAgICBuYW1lOidoYWJpbGl0YWNpb25fYm90b25fZm9ybXVsYXJpbycsIFxyXG4gICAgICAgICAgICAgICAgdHlwZU5hbWU6J2pzb25iJyxcclxuICAgICAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxyXG4gICAgICAgICAgICB9LHtcclxuICAgICAgICAgICAgICAgIG5hbWU6J2Rpc2Zvcm1fY2VycmFkbycsIFxyXG4gICAgICAgICAgICAgICAgdHlwZU5hbWU6J2Jvb2xlYW4nLCBcclxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsIFxyXG4gICAgICAgICAgICAgICAgZWRpdGFibGU6IGNvbnRleHQ/LmZvckR1bXB8fFsnYWRtaW4nLCdkaXNfY29uY2VwdHVhbCddLmluY2x1ZGVzKGNvbnRleHQudXNlci5yb2wpXHJcbiAgICAgICAgICAgIH0se1xyXG4gICAgICAgICAgICAgICAgbmFtZTonY29uX3JlYV9ob2dhcicsIFxyXG4gICAgICAgICAgICAgICAgdHlwZU5hbWU6J2Jvb2xlYW4nLCBcclxuICAgICAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGRlZmF1bHREYlZhbHVlOiAndHJ1ZSdcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICBiZS5hcHBlbmRUb1RhYmxlRGVmaW5pdGlvbigndXN1YXJpb3MnLGZ1bmN0aW9uKHRhYmxlRGVmLCBjb250ZXh0KXtcclxuICAgICAgICAgICAgbGV0IGNsYXZlTnVldmFGaWVsZCA9IHRhYmxlRGVmLmZpZWxkcy5maW5kKChmaWVsZCk9PmZpZWxkLm5hbWUgPT0gJ2NsYXZlX251ZXZhJykhO1xyXG4gICAgICAgICAgICB2YXIgYWRtaW5PQ29vcmQgPSAnYWRtaW4nPT09Y29udGV4dD8udXNlci5yb2x8fGNvbnRleHQ/LnB1ZWRlPy5jYW1wbz8uYWRtaW5pc3RyYXI7XHJcbiAgICAgICAgICAgIGNsYXZlTnVldmFGaWVsZC5hbGxvdyA9IHtzZWxlY3Q6YWRtaW5PQ29vcmQsIHVwZGF0ZTp0cnVlLCBpbnNlcnQ6ZmFsc2V9O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgYmUuYXBwZW5kVG9UYWJsZURlZmluaXRpb24oJ3ZhcmlhYmxlcycsZnVuY3Rpb24odGFibGVEZWYsIGNvbnRleHQpe1xyXG4gICAgICAgICAgICB2YXIgZXNBZG1pbj0gY29udGV4dD8udXNlci5yb2w9PT0nYWRtaW4nO1xyXG4gICAgICAgICAgICB0YWJsZURlZi5lZGl0YWJsZT10YWJsZURlZi5lZGl0YWJsZSB8fCBjb250ZXh0Py5wdWVkZT8uZW5jdWVzdGFzPy5wcm9jZXNhcjtcclxuICAgICAgICAgICAgdGFibGVEZWYuYWxsb3c9e2RlbGV0ZTogZXNBZG1pbn07ICAgICAgICAgICAgXHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgLy8gYmUuYXBwZW5kVG9UYWJsZURlZmluaXRpb24oJ2Nhc2lsbGVyb3MnLGZ1bmN0aW9uKHRhYmxlRGVmLCBjb250ZXh0KXtcclxuICAgICAgICAvLyAgICAgdGFibGVEZWYuY29uc3RyYWludHMgPSB0YWJsZURlZi5jb25zdHJhaW50cy5maWx0ZXIoYz0+Yy5jb25zTmFtZSE9J2Nhc2lsbGVyb3Mgc2FsdG8gUkVMJylcclxuICAgICAgICAvLyB9KVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHZhciBBcHBEbUVuY3UgPSBlbWVyZ2VBcHBEbUVuY3UoZW1lcmdlQXBwUHJvY2VzYW1pZW50byhlbWVyZ2VBcHBDb25zaXN0ZW5jaWFzKGVtZXJnZUFwcFZhckNhbChlbWVyZ2VBcHBEYXRvc0V4dChlbWVyZ2VBcHBPcGVyYXRpdm9zKEFwcEJhY2tlbmQpKSkpKSk7XHJcbmV4cG9ydCB0eXBlIEFwcEFwcERtRW5jdVR5cGUgPSBJbnN0YW5jZVR5cGU8dHlwZW9mIEFwcERtRW5jdT47Il19
@@ -1 +1 @@
1
- export declare const defConfig = "\nserver:\n port: 3068\n base-url: /dmencu\n session-store: memory\ndb:\n user: dmencu_admin\n motor: postgresql\n host: localhost\n database: dmencu_db\n schema: base\n search_path: \n - base\n - comun\ninstall:\n dump:\n db:\n owner: dmencu_owner\n apply-generic-user-replaces: true\n admin-can-create-tables: true\n enances: inline\n skip-content: true\n scripts:\n prepare:\n - ../node_modules/operativos/install/rel_tabla_relacionada.sql\n - esquema_comun.sql\n - esquema_comun_sin_dato.sql\n - esquema_comun_nsnc.sql\n - ../node_modules/meta-enc/install/prepare.sql\n - ../node_modules/varcal/install/wrappers.sql\n - ../node_modules/operativos/install/sql2tabla_datos.sql\n post-adapt: \n - para-install.sql\n - ../node_modules/pg-triggers/lib/recreate-his.sql\n - ../node_modules/pg-triggers/lib/table-changes.sql\n - ../node_modules/pg-triggers/lib/function-changes-trg.sql\n - ../node_modules/pg-triggers/lib/enance.sql\n - ../node_modules/datos-ext/install/controlar_modificacion_estructura_cerrada.sql\n - ../node_modules/meta-enc/install/casilleros_orden_total_fun.sql\n - ../node_modules/meta-enc/install/casilleros_jerarquizados_fun.sql\n - ../node_modules/consistencias/install/try_sql.sql\n - esquema_dbo.sql \n - varcal_manual/estructura.sql\n - varcal_manual/funcion_update.sql\n - fun_validar_tipodato.sql\n - desintegrarpk.sql\n - agregar_adjunto_carto_trg\n - sincro_tareas_areas_tareas_tem_trg.sql\n - sincronizacion_tareas_tem.sql\n - sincronizacion_tem.sql\n - control_disform_cerrado_trg.sql\n - control_cargado_tareas_tem_trg.sql\n - accion_cumple_condicion.sql\n - actualizar_estado_tem_trg.sql\n - carga_inicial_tareas_tem.sql\n - validar_tareas_tem_trg.sql\n - asignar_desasignar_tareas_tem_trg.sql\n - determinar_tarea_proxima_trg.sql\n - inicial_update_varcal_por_encuesta.sql\nlogin:\n infoFieldList: [usuario, rol, idper]\n table: usuarios\n userFieldName: usuario\n passFieldName: md5clave\n rolFieldName: rol\n activeClausule: activo\n lockedClausule: not activo\n plus:\n maxAge-5-sec: 5000 \n maxAge: 864000000\n maxAge-10-day: 864000000\n allowHttpLogin: true\n fileStore: false\n skipCheckAlreadyLoggedIn: true\n loginForm:\n formTitle: dmencu\n usernameLabel: usuario\n passwordLabel: clave\n buttonLabel: entrar\n formImg: img/login-lock-icon.png\n chPassForm:\n usernameLabel: usuario\n oldPasswordLabel: clave anterior\n newPasswordLabel: nueva clave\n repPasswordLabel: repetir nueva clave\n buttonLabel: Cambiar\n formTitle: Cambio de clave\n messages:\n userOrPassFail: el nombre de usuario no existe o la clave no corresponde\n lockedFail: el usuario se encuentra bloqueado\n inactiveFail: es usuario est\u00E1 marcado como inactivo\nclient-setup:\n title: SIEH 2.0\n cursors: true\n lang: es\n menu: true\n background-img: ../img/background-test.png\n deviceWidthForMobile: device-width\n user-scalable: no\n grid-buffer: wsql\n";
1
+ export declare const defConfig = "\nserver:\n port: 3068\n base-url: /dmencu\n session-store: memory\ndb:\n user: dmencu_admin\n motor: postgresql\n host: localhost\n database: dmencu_db\n schema: base\n search_path: \n - base\n - comun\ninstall:\n dump:\n db:\n owner: dmencu_owner\n apply-generic-user-replaces: true\n admin-can-create-tables: true\n enances: inline\n skip-content: true\n scripts:\n prepare:\n - ../node_modules/operativos/install/rel_tabla_relacionada.sql\n - esquema_comun.sql\n - esquema_comun_sin_dato.sql\n - esquema_comun_nsnc.sql\n - ../node_modules/meta-enc/install/prepare.sql\n - ../node_modules/varcal/install/wrappers.sql\n - ../node_modules/operativos/install/sql2tabla_datos.sql\n post-adapt: \n - para-install.sql\n - ../node_modules/pg-triggers/lib/recreate-his.sql\n - ../node_modules/pg-triggers/lib/table-changes.sql\n - ../node_modules/pg-triggers/lib/function-changes-trg.sql\n - ../node_modules/pg-triggers/lib/enance.sql\n - ../node_modules/datos-ext/install/controlar_modificacion_estructura_cerrada.sql\n - ../node_modules/meta-enc/install/casilleros_orden_total_fun.sql\n - ../node_modules/meta-enc/install/casilleros_jerarquizados_fun.sql\n - ../node_modules/consistencias/install/try_sql.sql\n - esquema_dbo.sql \n - varcal_manual/estructura.sql\n - varcal_manual/funcion_update.sql\n - fun_validar_tipodato.sql\n - desintegrarpk.sql\n - agregar_adjunto_carto_trg\n - sincro_tareas_areas_tareas_tem_trg.sql\n - sincronizacion_tareas_tem.sql\n - sincronizacion_tem.sql\n - control_disform_cerrado_trg.sql\n - control_cargado_tareas_tem_trg.sql\n - accion_cumple_condicion.sql\n - actualizar_estado_tem_trg.sql\n - carga_inicial_tareas_tem.sql\n - validar_tareas_tem_trg.sql\n - asignar_desasignar_tareas_tem_trg.sql\n - determinar_tarea_proxima_trg.sql\n - inicial_update_varcal_por_encuesta.sql\nlogin:\n infoFieldList: [usuario, rol, idper]\n table: usuarios\n userFieldName: usuario\n passFieldName: md5clave\n rolFieldName: rol\n activeClausule: activo\n lockedClausule: not activo\n plus:\n maxAge-5-sec: 5000 \n maxAge: 864000000\n maxAge-10-day: 864000000\n allowHttpLogin: true\n fileStore: false\n skipCheckAlreadyLoggedIn: true\n loginForm:\n formTitle: dmencu\n usernameLabel: usuario\n passwordLabel: clave\n buttonLabel: entrar\n formImg: img/login-lock-icon.png\n chPassForm:\n usernameLabel: usuario\n oldPasswordLabel: clave anterior\n newPasswordLabel: nueva clave\n repPasswordLabel: repetir nueva clave\n buttonLabel: Cambiar\n formTitle: Cambio de clave\n messages:\n userOrPassFail: el nombre de usuario no existe o la clave no corresponde\n lockedFail: el usuario se encuentra bloqueado\n inactiveFail: es usuario est\u00E1 marcado como inactivo\nclient-setup:\n title: SIEH 2.0\n cursors: true\n lang: es\n menu: true\n background-img: ../img/background-test.png\n deviceWidthForMobile: device-width\n user-scalable: no\n";
@@ -109,7 +109,6 @@ client-setup:
109
109
  background-img: ../img/background-test.png
110
110
  deviceWidthForMobile: device-width
111
111
  user-scalable: no
112
- grid-buffer: wsql
113
112
  `;
114
113
  });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvZGVmLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFBYSxRQUFBLFNBQVMsR0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW9HdEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBkZWZDb25maWc9YFxyXG5zZXJ2ZXI6XHJcbiAgcG9ydDogMzA2OFxyXG4gIGJhc2UtdXJsOiAvZG1lbmN1XHJcbiAgc2Vzc2lvbi1zdG9yZTogbWVtb3J5XHJcbmRiOlxyXG4gIHVzZXI6IGRtZW5jdV9hZG1pblxyXG4gIG1vdG9yOiBwb3N0Z3Jlc3FsXHJcbiAgaG9zdDogbG9jYWxob3N0XHJcbiAgZGF0YWJhc2U6IGRtZW5jdV9kYlxyXG4gIHNjaGVtYTogYmFzZVxyXG4gIHNlYXJjaF9wYXRoOiBcclxuICAtIGJhc2VcclxuICAtIGNvbXVuXHJcbmluc3RhbGw6XHJcbiAgZHVtcDpcclxuICAgIGRiOlxyXG4gICAgICBvd25lcjogZG1lbmN1X293bmVyXHJcbiAgICAgIGFwcGx5LWdlbmVyaWMtdXNlci1yZXBsYWNlczogdHJ1ZVxyXG4gICAgYWRtaW4tY2FuLWNyZWF0ZS10YWJsZXM6IHRydWVcclxuICAgIGVuYW5jZXM6IGlubGluZVxyXG4gICAgc2tpcC1jb250ZW50OiB0cnVlXHJcbiAgICBzY3JpcHRzOlxyXG4gICAgICBwcmVwYXJlOlxyXG4gICAgICAtIC4uL25vZGVfbW9kdWxlcy9vcGVyYXRpdm9zL2luc3RhbGwvcmVsX3RhYmxhX3JlbGFjaW9uYWRhLnNxbFxyXG4gICAgICAtIGVzcXVlbWFfY29tdW4uc3FsXHJcbiAgICAgIC0gZXNxdWVtYV9jb211bl9zaW5fZGF0by5zcWxcclxuICAgICAgLSBlc3F1ZW1hX2NvbXVuX25zbmMuc3FsXHJcbiAgICAgIC0gLi4vbm9kZV9tb2R1bGVzL21ldGEtZW5jL2luc3RhbGwvcHJlcGFyZS5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvdmFyY2FsL2luc3RhbGwvd3JhcHBlcnMuc3FsXHJcbiAgICAgIC0gLi4vbm9kZV9tb2R1bGVzL29wZXJhdGl2b3MvaW5zdGFsbC9zcWwydGFibGFfZGF0b3Muc3FsXHJcbiAgICAgIHBvc3QtYWRhcHQ6IFxyXG4gICAgICAtIHBhcmEtaW5zdGFsbC5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvcGctdHJpZ2dlcnMvbGliL3JlY3JlYXRlLWhpcy5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvcGctdHJpZ2dlcnMvbGliL3RhYmxlLWNoYW5nZXMuc3FsXHJcbiAgICAgIC0gLi4vbm9kZV9tb2R1bGVzL3BnLXRyaWdnZXJzL2xpYi9mdW5jdGlvbi1jaGFuZ2VzLXRyZy5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvcGctdHJpZ2dlcnMvbGliL2VuYW5jZS5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvZGF0b3MtZXh0L2luc3RhbGwvY29udHJvbGFyX21vZGlmaWNhY2lvbl9lc3RydWN0dXJhX2NlcnJhZGEuc3FsXHJcbiAgICAgIC0gLi4vbm9kZV9tb2R1bGVzL21ldGEtZW5jL2luc3RhbGwvY2FzaWxsZXJvc19vcmRlbl90b3RhbF9mdW4uc3FsXHJcbiAgICAgIC0gLi4vbm9kZV9tb2R1bGVzL21ldGEtZW5jL2luc3RhbGwvY2FzaWxsZXJvc19qZXJhcnF1aXphZG9zX2Z1bi5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvY29uc2lzdGVuY2lhcy9pbnN0YWxsL3RyeV9zcWwuc3FsXHJcbiAgICAgIC0gZXNxdWVtYV9kYm8uc3FsIFxyXG4gICAgICAtIHZhcmNhbF9tYW51YWwvZXN0cnVjdHVyYS5zcWxcclxuICAgICAgLSB2YXJjYWxfbWFudWFsL2Z1bmNpb25fdXBkYXRlLnNxbFxyXG4gICAgICAtIGZ1bl92YWxpZGFyX3RpcG9kYXRvLnNxbFxyXG4gICAgICAtIGRlc2ludGVncmFycGsuc3FsXHJcbiAgICAgIC0gYWdyZWdhcl9hZGp1bnRvX2NhcnRvX3RyZ1xyXG4gICAgICAtIHNpbmNyb190YXJlYXNfYXJlYXNfdGFyZWFzX3RlbV90cmcuc3FsXHJcbiAgICAgIC0gc2luY3Jvbml6YWNpb25fdGFyZWFzX3RlbS5zcWxcclxuICAgICAgLSBzaW5jcm9uaXphY2lvbl90ZW0uc3FsXHJcbiAgICAgIC0gY29udHJvbF9kaXNmb3JtX2NlcnJhZG9fdHJnLnNxbFxyXG4gICAgICAtIGNvbnRyb2xfY2FyZ2Fkb190YXJlYXNfdGVtX3RyZy5zcWxcclxuICAgICAgLSBhY2Npb25fY3VtcGxlX2NvbmRpY2lvbi5zcWxcclxuICAgICAgLSBhY3R1YWxpemFyX2VzdGFkb190ZW1fdHJnLnNxbFxyXG4gICAgICAtIGNhcmdhX2luaWNpYWxfdGFyZWFzX3RlbS5zcWxcclxuICAgICAgLSB2YWxpZGFyX3RhcmVhc190ZW1fdHJnLnNxbFxyXG4gICAgICAtIGFzaWduYXJfZGVzYXNpZ25hcl90YXJlYXNfdGVtX3RyZy5zcWxcclxuICAgICAgLSBkZXRlcm1pbmFyX3RhcmVhX3Byb3hpbWFfdHJnLnNxbFxyXG4gICAgICAtIGluaWNpYWxfdXBkYXRlX3ZhcmNhbF9wb3JfZW5jdWVzdGEuc3FsXHJcbmxvZ2luOlxyXG4gIGluZm9GaWVsZExpc3Q6IFt1c3VhcmlvLCByb2wsIGlkcGVyXVxyXG4gIHRhYmxlOiB1c3Vhcmlvc1xyXG4gIHVzZXJGaWVsZE5hbWU6IHVzdWFyaW9cclxuICBwYXNzRmllbGROYW1lOiBtZDVjbGF2ZVxyXG4gIHJvbEZpZWxkTmFtZTogcm9sXHJcbiAgYWN0aXZlQ2xhdXN1bGU6IGFjdGl2b1xyXG4gIGxvY2tlZENsYXVzdWxlOiBub3QgYWN0aXZvXHJcbiAgcGx1czpcclxuICAgIG1heEFnZS01LXNlYzogNTAwMCAgICBcclxuICAgIG1heEFnZTogODY0MDAwMDAwXHJcbiAgICBtYXhBZ2UtMTAtZGF5OiA4NjQwMDAwMDBcclxuICAgIGFsbG93SHR0cExvZ2luOiB0cnVlXHJcbiAgICBmaWxlU3RvcmU6IGZhbHNlXHJcbiAgICBza2lwQ2hlY2tBbHJlYWR5TG9nZ2VkSW46IHRydWVcclxuICAgIGxvZ2luRm9ybTpcclxuICAgICAgZm9ybVRpdGxlOiBkbWVuY3VcclxuICAgICAgdXNlcm5hbWVMYWJlbDogdXN1YXJpb1xyXG4gICAgICBwYXNzd29yZExhYmVsOiBjbGF2ZVxyXG4gICAgICBidXR0b25MYWJlbDogZW50cmFyXHJcbiAgICAgIGZvcm1JbWc6IGltZy9sb2dpbi1sb2NrLWljb24ucG5nXHJcbiAgICBjaFBhc3NGb3JtOlxyXG4gICAgICB1c2VybmFtZUxhYmVsOiB1c3VhcmlvXHJcbiAgICAgIG9sZFBhc3N3b3JkTGFiZWw6IGNsYXZlIGFudGVyaW9yXHJcbiAgICAgIG5ld1Bhc3N3b3JkTGFiZWw6IG51ZXZhIGNsYXZlXHJcbiAgICAgIHJlcFBhc3N3b3JkTGFiZWw6IHJlcGV0aXIgbnVldmEgY2xhdmVcclxuICAgICAgYnV0dG9uTGFiZWw6IENhbWJpYXJcclxuICAgICAgZm9ybVRpdGxlOiBDYW1iaW8gZGUgY2xhdmVcclxuICBtZXNzYWdlczpcclxuICAgIHVzZXJPclBhc3NGYWlsOiBlbCBub21icmUgZGUgdXN1YXJpbyBubyBleGlzdGUgbyBsYSBjbGF2ZSBubyBjb3JyZXNwb25kZVxyXG4gICAgbG9ja2VkRmFpbDogZWwgdXN1YXJpbyBzZSBlbmN1ZW50cmEgYmxvcXVlYWRvXHJcbiAgICBpbmFjdGl2ZUZhaWw6IGVzIHVzdWFyaW8gZXN0w6EgbWFyY2FkbyBjb21vIGluYWN0aXZvXHJcbmNsaWVudC1zZXR1cDpcclxuICB0aXRsZTogU0lFSCAyLjBcclxuICBjdXJzb3JzOiB0cnVlXHJcbiAgbGFuZzogZXNcclxuICBtZW51OiB0cnVlXHJcbiAgYmFja2dyb3VuZC1pbWc6IC4uL2ltZy9iYWNrZ3JvdW5kLXRlc3QucG5nXHJcbiAgZGV2aWNlV2lkdGhGb3JNb2JpbGU6IGRldmljZS13aWR0aFxyXG4gIHVzZXItc2NhbGFibGU6IG5vXHJcbiAgZ3JpZC1idWZmZXI6IHdzcWxcclxuYCJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvZGVmLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFBYSxRQUFBLFNBQVMsR0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBbUd0QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGRlZkNvbmZpZz1gXHJcbnNlcnZlcjpcclxuICBwb3J0OiAzMDY4XHJcbiAgYmFzZS11cmw6IC9kbWVuY3VcclxuICBzZXNzaW9uLXN0b3JlOiBtZW1vcnlcclxuZGI6XHJcbiAgdXNlcjogZG1lbmN1X2FkbWluXHJcbiAgbW90b3I6IHBvc3RncmVzcWxcclxuICBob3N0OiBsb2NhbGhvc3RcclxuICBkYXRhYmFzZTogZG1lbmN1X2RiXHJcbiAgc2NoZW1hOiBiYXNlXHJcbiAgc2VhcmNoX3BhdGg6IFxyXG4gIC0gYmFzZVxyXG4gIC0gY29tdW5cclxuaW5zdGFsbDpcclxuICBkdW1wOlxyXG4gICAgZGI6XHJcbiAgICAgIG93bmVyOiBkbWVuY3Vfb3duZXJcclxuICAgICAgYXBwbHktZ2VuZXJpYy11c2VyLXJlcGxhY2VzOiB0cnVlXHJcbiAgICBhZG1pbi1jYW4tY3JlYXRlLXRhYmxlczogdHJ1ZVxyXG4gICAgZW5hbmNlczogaW5saW5lXHJcbiAgICBza2lwLWNvbnRlbnQ6IHRydWVcclxuICAgIHNjcmlwdHM6XHJcbiAgICAgIHByZXBhcmU6XHJcbiAgICAgIC0gLi4vbm9kZV9tb2R1bGVzL29wZXJhdGl2b3MvaW5zdGFsbC9yZWxfdGFibGFfcmVsYWNpb25hZGEuc3FsXHJcbiAgICAgIC0gZXNxdWVtYV9jb211bi5zcWxcclxuICAgICAgLSBlc3F1ZW1hX2NvbXVuX3Npbl9kYXRvLnNxbFxyXG4gICAgICAtIGVzcXVlbWFfY29tdW5fbnNuYy5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvbWV0YS1lbmMvaW5zdGFsbC9wcmVwYXJlLnNxbFxyXG4gICAgICAtIC4uL25vZGVfbW9kdWxlcy92YXJjYWwvaW5zdGFsbC93cmFwcGVycy5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvb3BlcmF0aXZvcy9pbnN0YWxsL3NxbDJ0YWJsYV9kYXRvcy5zcWxcclxuICAgICAgcG9zdC1hZGFwdDogXHJcbiAgICAgIC0gcGFyYS1pbnN0YWxsLnNxbFxyXG4gICAgICAtIC4uL25vZGVfbW9kdWxlcy9wZy10cmlnZ2Vycy9saWIvcmVjcmVhdGUtaGlzLnNxbFxyXG4gICAgICAtIC4uL25vZGVfbW9kdWxlcy9wZy10cmlnZ2Vycy9saWIvdGFibGUtY2hhbmdlcy5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvcGctdHJpZ2dlcnMvbGliL2Z1bmN0aW9uLWNoYW5nZXMtdHJnLnNxbFxyXG4gICAgICAtIC4uL25vZGVfbW9kdWxlcy9wZy10cmlnZ2Vycy9saWIvZW5hbmNlLnNxbFxyXG4gICAgICAtIC4uL25vZGVfbW9kdWxlcy9kYXRvcy1leHQvaW5zdGFsbC9jb250cm9sYXJfbW9kaWZpY2FjaW9uX2VzdHJ1Y3R1cmFfY2VycmFkYS5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvbWV0YS1lbmMvaW5zdGFsbC9jYXNpbGxlcm9zX29yZGVuX3RvdGFsX2Z1bi5zcWxcclxuICAgICAgLSAuLi9ub2RlX21vZHVsZXMvbWV0YS1lbmMvaW5zdGFsbC9jYXNpbGxlcm9zX2plcmFycXVpemFkb3NfZnVuLnNxbFxyXG4gICAgICAtIC4uL25vZGVfbW9kdWxlcy9jb25zaXN0ZW5jaWFzL2luc3RhbGwvdHJ5X3NxbC5zcWxcclxuICAgICAgLSBlc3F1ZW1hX2Riby5zcWwgXHJcbiAgICAgIC0gdmFyY2FsX21hbnVhbC9lc3RydWN0dXJhLnNxbFxyXG4gICAgICAtIHZhcmNhbF9tYW51YWwvZnVuY2lvbl91cGRhdGUuc3FsXHJcbiAgICAgIC0gZnVuX3ZhbGlkYXJfdGlwb2RhdG8uc3FsXHJcbiAgICAgIC0gZGVzaW50ZWdyYXJway5zcWxcclxuICAgICAgLSBhZ3JlZ2FyX2FkanVudG9fY2FydG9fdHJnXHJcbiAgICAgIC0gc2luY3JvX3RhcmVhc19hcmVhc190YXJlYXNfdGVtX3RyZy5zcWxcclxuICAgICAgLSBzaW5jcm9uaXphY2lvbl90YXJlYXNfdGVtLnNxbFxyXG4gICAgICAtIHNpbmNyb25pemFjaW9uX3RlbS5zcWxcclxuICAgICAgLSBjb250cm9sX2Rpc2Zvcm1fY2VycmFkb190cmcuc3FsXHJcbiAgICAgIC0gY29udHJvbF9jYXJnYWRvX3RhcmVhc190ZW1fdHJnLnNxbFxyXG4gICAgICAtIGFjY2lvbl9jdW1wbGVfY29uZGljaW9uLnNxbFxyXG4gICAgICAtIGFjdHVhbGl6YXJfZXN0YWRvX3RlbV90cmcuc3FsXHJcbiAgICAgIC0gY2FyZ2FfaW5pY2lhbF90YXJlYXNfdGVtLnNxbFxyXG4gICAgICAtIHZhbGlkYXJfdGFyZWFzX3RlbV90cmcuc3FsXHJcbiAgICAgIC0gYXNpZ25hcl9kZXNhc2lnbmFyX3RhcmVhc190ZW1fdHJnLnNxbFxyXG4gICAgICAtIGRldGVybWluYXJfdGFyZWFfcHJveGltYV90cmcuc3FsXHJcbiAgICAgIC0gaW5pY2lhbF91cGRhdGVfdmFyY2FsX3Bvcl9lbmN1ZXN0YS5zcWxcclxubG9naW46XHJcbiAgaW5mb0ZpZWxkTGlzdDogW3VzdWFyaW8sIHJvbCwgaWRwZXJdXHJcbiAgdGFibGU6IHVzdWFyaW9zXHJcbiAgdXNlckZpZWxkTmFtZTogdXN1YXJpb1xyXG4gIHBhc3NGaWVsZE5hbWU6IG1kNWNsYXZlXHJcbiAgcm9sRmllbGROYW1lOiByb2xcclxuICBhY3RpdmVDbGF1c3VsZTogYWN0aXZvXHJcbiAgbG9ja2VkQ2xhdXN1bGU6IG5vdCBhY3Rpdm9cclxuICBwbHVzOlxyXG4gICAgbWF4QWdlLTUtc2VjOiA1MDAwICAgIFxyXG4gICAgbWF4QWdlOiA4NjQwMDAwMDBcclxuICAgIG1heEFnZS0xMC1kYXk6IDg2NDAwMDAwMFxyXG4gICAgYWxsb3dIdHRwTG9naW46IHRydWVcclxuICAgIGZpbGVTdG9yZTogZmFsc2VcclxuICAgIHNraXBDaGVja0FscmVhZHlMb2dnZWRJbjogdHJ1ZVxyXG4gICAgbG9naW5Gb3JtOlxyXG4gICAgICBmb3JtVGl0bGU6IGRtZW5jdVxyXG4gICAgICB1c2VybmFtZUxhYmVsOiB1c3VhcmlvXHJcbiAgICAgIHBhc3N3b3JkTGFiZWw6IGNsYXZlXHJcbiAgICAgIGJ1dHRvbkxhYmVsOiBlbnRyYXJcclxuICAgICAgZm9ybUltZzogaW1nL2xvZ2luLWxvY2staWNvbi5wbmdcclxuICAgIGNoUGFzc0Zvcm06XHJcbiAgICAgIHVzZXJuYW1lTGFiZWw6IHVzdWFyaW9cclxuICAgICAgb2xkUGFzc3dvcmRMYWJlbDogY2xhdmUgYW50ZXJpb3JcclxuICAgICAgbmV3UGFzc3dvcmRMYWJlbDogbnVldmEgY2xhdmVcclxuICAgICAgcmVwUGFzc3dvcmRMYWJlbDogcmVwZXRpciBudWV2YSBjbGF2ZVxyXG4gICAgICBidXR0b25MYWJlbDogQ2FtYmlhclxyXG4gICAgICBmb3JtVGl0bGU6IENhbWJpbyBkZSBjbGF2ZVxyXG4gIG1lc3NhZ2VzOlxyXG4gICAgdXNlck9yUGFzc0ZhaWw6IGVsIG5vbWJyZSBkZSB1c3VhcmlvIG5vIGV4aXN0ZSBvIGxhIGNsYXZlIG5vIGNvcnJlc3BvbmRlXHJcbiAgICBsb2NrZWRGYWlsOiBlbCB1c3VhcmlvIHNlIGVuY3VlbnRyYSBibG9xdWVhZG9cclxuICAgIGluYWN0aXZlRmFpbDogZXMgdXN1YXJpbyBlc3TDoSBtYXJjYWRvIGNvbW8gaW5hY3Rpdm9cclxuY2xpZW50LXNldHVwOlxyXG4gIHRpdGxlOiBTSUVIIDIuMFxyXG4gIGN1cnNvcnM6IHRydWVcclxuICBsYW5nOiBlc1xyXG4gIG1lbnU6IHRydWVcclxuICBiYWNrZ3JvdW5kLWltZzogLi4vaW1nL2JhY2tncm91bmQtdGVzdC5wbmdcclxuICBkZXZpY2VXaWR0aEZvck1vYmlsZTogZGV2aWNlLXdpZHRoXHJcbiAgdXNlci1zY2FsYWJsZTogbm9cclxuYCJdfQ==
@@ -19,6 +19,7 @@
19
19
  var db = be.db;
20
20
  var puedeEditar = context.forDump || ((_c = (_b = context.puede) === null || _b === void 0 ? void 0 : _b.campo) === null || _c === void 0 ? void 0 : _c.administrar) || context.user.rol === 'recepcionista';
21
21
  var camposCorte = [{ name: 'cluster', typeName: 'integer' }, ...(opts.camposCorte || [])];
22
+ var tieneSeleccionado = context.be.caches.tableContent.conReaHogar.config_sorteo;
22
23
  var camposCalculados = [
23
24
  { name: 'no_salieron', typeName: 'bigint', aggregate: 'sum', title: 'no salieron a campo', condicion: `resumen_estado is null` },
24
25
  { name: 'salieron', typeName: 'bigint', aggregate: 'sum', title: 'salieron a campo' },
@@ -66,8 +67,11 @@
66
67
  --TODO REVISAR
67
68
  round(rea*100.0/nullif( ${(['rea', ...(camposCalculados.filter(f => f.tasa_efectividad).map(f => f.name))].join('+'))},0),1) as tasa_efectividad,
68
69
  total-coalesce(no_salieron,0) as salieron,
69
- coalesce(otros,0) + ${opts.gabinete ? ` coalesce(otras_causas,0) ` : opts.sinhogfin ? ` coalesce(otras_causas_seleccionado,0)+coalesce(otras_causas_vivienda,0)` : ` coalesce(otras_causas_hogar,0)+coalesce(otras_causas_seleccionado,0)+coalesce(otras_causas_vivienda,0)`} as otras_causas_gabinete,
70
- coalesce(pendiente,0)+coalesce(mixta,0) +coalesce(sin_resultado,0) + ${opts.gabinete ? ` coalesce(incompleto,0) ` : opts.gabinete && !opts.sinhogfin ? ` coalesce(no_finalizada,0) ` : !opts.gabinete && !opts.sinhogfin ? `coalesce(sin_finalizar_dm,0)+ coalesce(sin_finalizar_incompleto,0) + coalesce(sin_finalizar_otra_causa,0)` : `0`} as en_curso
70
+ coalesce(otros,0) + ${opts.gabinete ? ` coalesce(otras_causas,0) ` : opts.sinhogfin ? ` coalesce(otras_causas_seleccionado,0)+coalesce(otras_causas_vivienda,0)` : !tieneSeleccionado ? ` coalesce(otras_causas_hogar,0) +coalesce(otras_causas_vivienda,0)` : ` coalesce(otras_causas_hogar,0) +coalesce(otras_causas_vivienda,0)+ coalesce(otras_causas_seleccionado,0)`} as otras_causas_gabinete,
71
+ coalesce(pendiente,0)+coalesce(mixta,0) +coalesce(sin_resultado,0) +coalesce(incompleto,0) +${opts.gabinete && tieneSeleccionado && !opts.sinhogfin ? ` coalesce(no_finalizada,0) ` : !opts.gabinete && !opts.sinhogfin && tieneSeleccionado ? `coalesce(sin_finalizar_dm,0)+ coalesce(sin_finalizar_incompleto,0) + coalesce(sin_finalizar_otra_causa,0)` : `0`} as en_curso
72
+ /* coalesce(otros,0)+${opts.gabinete ? `coalesce(otras_causas,0) ` : `coalesce(otras_causas_hogar,0) + coalesce(otras_causas_seleccionado,0) + coalesce(otras_causas_vivienda,0)`} as otras_causas_gabinete, */
73
+ /* coalesce(pendiente,0)+coalesce(mixta,0)+ coalesce(incompleto,0)+coalesce(sin_resultado,0)+${opts.gabinete ? `coalesce(no_finalizada,0)` : `coalesce(sin_finalizar_dm,0)+coalesce(sin_finalizar_incompleto,0)+ coalesce(sin_finalizar_otra_causa,0)`} as en_curso */
74
+
71
75
  from (
72
76
  select ${[
73
77
  ...camposCorte.map(f => f.name),
@@ -102,4 +106,4 @@
102
106
  }
103
107
  exports.control_campo = control_campo;
104
108
  });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udHJvbF9jYW1wby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtY29udHJvbF9jYW1wby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQWlCYixTQUFnQixhQUFhLENBQUMsT0FBb0IsRUFBQyxJQUF1Qjs7UUFDdEUsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFDLE1BQU0sRUFBQyxlQUFlLEVBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksZUFBZSxDQUFBO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBQSxJQUFJLENBQUMsUUFBUSxtQ0FBSSxLQUFLLENBQUE7UUFDdEMsSUFBSSxFQUFFLEdBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2IsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSSxNQUFBLE1BQUEsT0FBTyxDQUFDLEtBQUssMENBQUUsS0FBSywwQ0FBRSxXQUFXLENBQUEsSUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBRyxlQUFlLENBQUM7UUFDM0csSUFBSSxXQUFXLEdBQW1CLENBQUMsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFTLFFBQVEsRUFBQyxTQUFTLEVBQUMsRUFBQyxHQUFHLENBQzlFLElBQUksQ0FBQyxXQUFXLElBQUcsRUFBRSxDQUN4QixDQUFDLENBQUM7UUFFSCxJQUFJLGdCQUFnQixHQUFvRTtZQUNwRixFQUFDLElBQUksRUFBQyxhQUFhLEVBQUksUUFBUSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxxQkFBcUIsRUFBRSxTQUFTLEVBQUMsd0JBQXdCLEVBQUM7WUFDM0gsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFPLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsa0JBQWtCLEVBQUM7WUFDcEYsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFJLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUNqRixFQUFDLElBQUksRUFBQyxlQUFlLEVBQUUsUUFBUSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLDZCQUE2QixFQUFDO1lBQzVILHNJQUFzSTtZQUNySSxFQUFDLElBQUksRUFBQyxLQUFLLEVBQVksUUFBUSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxzQkFBc0IsRUFBQztZQUM1RixFQUFDLElBQUksRUFBQyxXQUFXLEVBQU0sUUFBUSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyx1QkFBdUIsRUFBQztZQUM3RixFQUFDLElBQUksRUFBQyxPQUFPLEVBQVUsUUFBUSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxtQkFBbUIsRUFBQztZQUN6Rjs7O2NBR0U7WUFDRixHQUFHLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFBLENBQUM7Z0JBQ3BELElBQUksRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsR0FBRyxDQUFDO2dCQUM5QixRQUFRLEVBQUMsUUFBUTtnQkFDakIsT0FBTyxFQUFDLEtBQUs7Z0JBQ2IsS0FBSyxFQUFDLENBQUMsQ0FBQyxLQUFLO2dCQUNiLFNBQVMsRUFBQyxrQkFBa0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztnQkFDcEYsU0FBUyxFQUFDLEtBQUs7Z0JBQ2YsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7YUFDckUsQ0FBQyxDQUFDO1NBQ04sQ0FBQztRQUNGLE9BQU87WUFDSCxJQUFJLEVBQUMsSUFBSSxDQUFDLE1BQU07WUFDaEIsUUFBUSxFQUFDLEtBQUs7WUFDZCxLQUFLLEVBQUMsSUFBSSxDQUFDLEtBQUssSUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsR0FBRyxDQUFDO1lBQy9DLE1BQU0sRUFBQztnQkFDSCxHQUFHLFdBQVc7Z0JBQ2QsRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFVLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBQztnQkFDMUQsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsR0FBQyxJQUFJLEVBQUMsU0FBUyxFQUFFLEdBQUcsUUFBUSxFQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxRQUFRLENBQUEsQ0FBQSxDQUFDLENBQUM7Z0JBQzdFLEVBQUMsSUFBSSxFQUFDLE9BQU8sRUFBc0IsUUFBUSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFDO2dCQUN0RSxFQUFDLElBQUksRUFBQyxrQkFBa0IsRUFBVyxRQUFRLEVBQUMsU0FBUyxFQUFDO2dCQUN0RCxFQUFDLElBQUksRUFBQyxZQUFZLEVBQWlCLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxrREFBa0QsRUFBQztnQkFDNUosRUFBQyxJQUFJLEVBQUMsc0JBQXNCLEVBQU8sUUFBUSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLGtEQUFrRCxFQUFDO2dCQUM1SixFQUFDLElBQUksRUFBQyxVQUFVLEVBQW1CLFFBQVEsRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFDLFVBQVUsRUFBTTtnQkFDdEgsRUFBQyxJQUFJLEVBQUMsdUJBQXVCLEVBQU0sUUFBUSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFDO2FBQ3pIO1lBQ0QsVUFBVSxFQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3JDLEdBQUcsRUFBQztnQkFDQSxPQUFPLEVBQUMsS0FBSztnQkFDYixJQUFJLEVBQUM7Ozs7a0RBSWlDLENBQ3RCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDeEY7OzhDQUVxQixJQUFJLENBQUMsUUFBUSxDQUFBLENBQUMsQ0FBQSw0QkFBNEIsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUEsMEVBQTBFLENBQUEsQ0FBQyxDQUFDLHlHQUF5RzsrRkFDN0wsSUFBSSxDQUFDLFFBQVEsQ0FBQSxDQUFDLENBQUMsMEJBQTBCLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUMsMkdBQTJHLENBQUMsQ0FBQyxDQUFBLEdBQUc7O2lDQUU5VDtvQkFDTCxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUM3QixtQkFBbUI7b0JBQ25CLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsRUFBRSxDQUFBOzJEQUNuQixFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3ZFLGdEQUFnRDtpQkFDbkQsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDOzs7Ozt1Q0FLSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQ2xELFFBQVEsQ0FBQyxDQUFDLFNBQVMsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7cUNBQ2xELENBQ0EsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDOzs7Ozs7NENBTUYsSUFBSSxDQUFDLFdBQVcsSUFBSSxNQUFNOzs7Ozs7OzBCQU81QyxXQUFXLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQSxZQUFZLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsRUFBRTs7Y0FFMUU7YUFDTDtTQUNKLENBQUM7SUFDTixDQUFDO0lBL0ZELHNDQStGQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSBcInF1ZXJ5c3RyaW5nXCI7XHJcbmltcG9ydCB7VGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHQsIEZpZWxkRGVmaW5pdGlvbn0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcblxyXG5leHBvcnQgdHlwZSBjb250cm9sQ2FtcG9zT3B0cz17XHJcbiAgICBub21icmU6c3RyaW5nLCBcclxuICAgIGFncnVwYWRvcj86c3RyaW5nLCBcclxuICAgIGFncnVwYWRvPzpib29sZWFuLFxyXG4gICAgY2FtcG9zQ29ydGU/OkZpZWxkRGVmaW5pdGlvbltdLFxyXG4gICAgZmlsdHJvV2hlcmU/OnN0cmluZ1xyXG4gICAgdGl0bGU/OnN0cmluZ1xyXG4gICAgZ2FiaW5ldGU/OmJvb2xlYW5cclxuICAgIHNpbmhvZ2Zpbj86Ym9vbGVhblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xfY2FtcG8oY29udGV4dDpUYWJsZUNvbnRleHQsb3B0cz86Y29udHJvbENhbXBvc09wdHMpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICBvcHRzID0gb3B0cyB8fCB7bm9tYnJlOidjb250cm9sX2NhbXBvJ31cclxuICAgIG9wdHMuYWdydXBhZG9yID0gb3B0cy5hZ3J1cGFkb3IgfHwgJ25vX3JlYV9ncm91cHMnXHJcbiAgICBvcHRzLmFncnVwYWRvID0gb3B0cy5hZ3J1cGFkbyA/PyBmYWxzZVxyXG4gICAgdmFyIGJlPWNvbnRleHQuYmU7XHJcbiAgICB2YXIgZGI9YmUuZGI7XHJcbiAgICB2YXIgcHVlZGVFZGl0YXIgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyfHxjb250ZXh0LnVzZXIucm9sPT09J3JlY2VwY2lvbmlzdGEnO1xyXG4gICAgdmFyIGNhbXBvc0NvcnRlOkZpZWxkRGVmaW5pdGlvbltdPVt7bmFtZTonY2x1c3RlcicgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcid9LC4uLihcclxuICAgICAgICBvcHRzLmNhbXBvc0NvcnRlIHx8W11cclxuICAgICldO1xyXG5cclxuICAgIHZhciBjYW1wb3NDYWxjdWxhZG9zOihGaWVsZERlZmluaXRpb24gJiB7Y29uZGljaW9uOnN0cmluZywgdGFzYV9lZmVjdGl2aWRhZDpib29sZWFufSlbXT1bXHJcbiAgICAgICAge25hbWU6J25vX3NhbGllcm9uJyAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB0aXRsZTonbm8gc2FsaWVyb24gYSBjYW1wbycsIGNvbmRpY2lvbjpgcmVzdW1lbl9lc3RhZG8gaXMgbnVsbGB9LFxyXG4gICAgICAgIHtuYW1lOidzYWxpZXJvbicgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcsIGFnZ3JlZ2F0ZTonc3VtJywgdGl0bGU6J3NhbGllcm9uIGEgY2FtcG8nfSxcclxuICAgICAgICB7bmFtZTonc2luX25vdmVkYWQnICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIHZpc2libGU6b3B0cy5hZ3J1cGFkb30sXHJcbiAgICAgICAge25hbWU6J3Npbl9yZXN1bHRhZG8nLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiFvcHRzLmFncnVwYWRvLCBjb25kaWNpb246YHJlc3VtZW5fZXN0YWRvIGluICgndmFjaW8nKWB9LFxyXG4gICAgICAgLy8ge25hbWU6J2NpdGFfcGFjdGFkYScgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiFvcHRzLmFncnVwYWRvLCBjb25kaWNpb246YHJlc3VtZW5fZXN0YWRvIGluICgnY2l0YSBwYWN0YWRhJylgfSxcclxuICAgICAgICB7bmFtZToncmVhJyAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIGNvbmRpY2lvbjpgcmVzdWx0YWRvPSdlZmVjdGl2YSdgfSxcclxuICAgICAgICB7bmFtZToncGVuZGllbnRlJyAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIGNvbmRpY2lvbjpgcmVzdWx0YWRvPSdwZW5kaWVudGUnYH0sXHJcbiAgICAgICAge25hbWU6J21peHRhJyAgICAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCBjb25kaWNpb246YHJlc3VsdGFkbz0nbWl4dGEnYH0sXHJcbiAgICAgICAgLypcclxuICAgICAgICB7bmFtZTonYXN1ZW50ZV92aXYnICAsIHR5cGVOYW1lOidiaWdpbnQnLCB0aXRsZTonYXVzZW50ZSBkZSB2aXZpZW5kYScsIGNvbmRpY2lvbjpgY29kX25vX3JlYT03YH0sXHJcbiAgICAgICAge25hbWU6J2FzdWVudGVfbWllJyAgLCB0eXBlTmFtZTonYmlnaW50JywgdGl0bGU6J2F1c2VudGUgZGUgbWllbWJybyBzZWxlY2Npb25hZG8nLCBjb25kaWNpb246YGNvZF9ub19yZWE9NzVgfSxcclxuICAgICAgICAqL1xyXG4gICAgICAgIC4uLihiZS5jYWNoZXMudGFibGVDb250ZW50W29wdHMuYWdydXBhZG9yXXx8W10pLm1hcChnPT4oe1xyXG4gICAgICAgICAgICBuYW1lOmcuZ3J1cG8ucmVwbGFjZSgvIC9nLCdfJyksXHJcbiAgICAgICAgICAgIHR5cGVOYW1lOidiaWdpbnQnLFxyXG4gICAgICAgICAgICBpblRhYmxlOmZhbHNlLFxyXG4gICAgICAgICAgICB0aXRsZTpnLmdydXBvLFxyXG4gICAgICAgICAgICBjb25kaWNpb246YGNvZF9ub19yZWEgaW4gKCR7Zy5jb2RpZ29zLm1hcChjPT5kYi5xdW90ZUxpdGVyYWwoYy5ub19yZWEpKS5qb2luKCcsJyl9KWAsXHJcbiAgICAgICAgICAgIGFnZ3JlZ2F0ZTonc3VtJyxcclxuICAgICAgICAgICAgdGFzYV9lZmVjdGl2aWRhZDohZy5jb2RpZ29zWzBdLmdydXBvMC5zdGFydHNXaXRoKCdubyBlbmN1ZXN0YWJsZScpXHJcbiAgICAgICAgfSkpXHJcbiAgICBdO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOm9wdHMubm9tYnJlLFxyXG4gICAgICAgIGVkaXRhYmxlOmZhbHNlLFxyXG4gICAgICAgIHRpdGxlOm9wdHMudGl0bGV8fG9wdHMubm9tYnJlLnJlcGxhY2UoL18vZywnICcpLFxyXG4gICAgICAgIGZpZWxkczpbXHJcbiAgICAgICAgICAgIC4uLmNhbXBvc0NvcnRlLFxyXG4gICAgICAgICAgICB7bmFtZTondG90YWwnICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bSd9LFxyXG4gICAgICAgICAgICAuLi5jYW1wb3NDYWxjdWxhZG9zLm1hcChmPT57dmFyIHtjb25kaWNpb24sIC4uLmZpZWxkRGVmfT1mOyByZXR1cm4gZmllbGREZWZ9KSxcclxuICAgICAgICAgICAge25hbWU6J290cm9zJyAgICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nfSxcclxuICAgICAgICAgICAge25hbWU6J3Rhc2FfZWZlY3RpdmlkYWQnICAgICAgICAgLCB0eXBlTmFtZTonZGVjaW1hbCd9LFxyXG4gICAgICAgICAgICB7bmFtZTonaW5jb21wbGV0bycgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIHZpc2libGU6IW9wdHMuYWdydXBhZG8sIGNvbmRpY2lvbjpgcmVzdW1lbl9lc3RhZG8gaW4gKCdpbmNvbXBsZXRvJywnY29uIHByb2JsZW1hcycpYH0sXHJcbiAgICAgICAgICAgIHtuYW1lOid2ZXJpZl9lbmN1X3BlbmRpZW50ZScgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcsIGFnZ3JlZ2F0ZTonc3VtJywgdmlzaWJsZTohb3B0cy5hZ3J1cGFkbywgY29uZGljaW9uOmByZXN1bWVuX2VzdGFkbyBpbiAoJ2luY29tcGxldG8nLCdjb24gcHJvYmxlbWFzJylgfSxcclxuICAgICAgICAgICAge25hbWU6J2VuX2N1cnNvJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiEhb3B0cy5nYWJpbmV0ZSwgdGl0bGU6J0VuX2N1cnNvJyAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6J290cmFzX2NhdXNhc19nYWJpbmV0ZScgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiEhb3B0cy5nYWJpbmV0ZSwgdGl0bGU6ICdPdHJhc19jYXVzYXMnfSxcclxuICAgICAgICBdLFxyXG4gICAgICAgIHByaW1hcnlLZXk6Y2FtcG9zQ29ydGUubWFwKGY9PmYubmFtZSksXHJcbiAgICAgICAgc3FsOntcclxuICAgICAgICAgICAgaXNUYWJsZTpmYWxzZSxcclxuICAgICAgICAgICAgZnJvbTpgIFxyXG4gICAgICAgICAgICAoIFxyXG4gICAgICAgICAgICAgICAgc2VsZWN0IHQuKiwgY29hbGVzY2UoaW5jb21wbGV0bywwKStjb2FsZXNjZShzaW5fcmVzdWx0YWRvLDApIGFzIHNpbl9ub3ZlZGFkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAtLVRPRE8gUkVWSVNBUlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3VuZChyZWEqMTAwLjAvbnVsbGlmKCAkeyhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsncmVhJywgLi4uKGNhbXBvc0NhbGN1bGFkb3MuZmlsdGVyKGY9PmYudGFzYV9lZmVjdGl2aWRhZCkubWFwKGY9PmYubmFtZSkpXS5qb2luKCcrJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgKX0sMCksMSkgYXMgdGFzYV9lZmVjdGl2aWRhZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWwtY29hbGVzY2Uobm9fc2FsaWVyb24sMCkgYXMgc2FsaWVyb24sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvYWxlc2NlKG90cm9zLDApICsgJHtvcHRzLmdhYmluZXRlP2AgY29hbGVzY2Uob3RyYXNfY2F1c2FzLDApIGA6b3B0cy5zaW5ob2dmaW4/YCBjb2FsZXNjZShvdHJhc19jYXVzYXNfc2VsZWNjaW9uYWRvLDApK2NvYWxlc2NlKG90cmFzX2NhdXNhc192aXZpZW5kYSwwKWA6IGAgY29hbGVzY2Uob3RyYXNfY2F1c2FzX2hvZ2FyLDApK2NvYWxlc2NlKG90cmFzX2NhdXNhc19zZWxlY2Npb25hZG8sMCkrY29hbGVzY2Uob3RyYXNfY2F1c2FzX3ZpdmllbmRhLDApYH0gIGFzIG90cmFzX2NhdXNhc19nYWJpbmV0ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29hbGVzY2UocGVuZGllbnRlLDApK2NvYWxlc2NlKG1peHRhLDApICtjb2FsZXNjZShzaW5fcmVzdWx0YWRvLDApICsgJHsgb3B0cy5nYWJpbmV0ZT8gYCBjb2FsZXNjZShpbmNvbXBsZXRvLDApIGA6IG9wdHMuZ2FiaW5ldGUgJiYgIW9wdHMuc2luaG9nZmluPyBgIGNvYWxlc2NlKG5vX2ZpbmFsaXphZGEsMCkgYDogIW9wdHMuZ2FiaW5ldGUgJiYgIW9wdHMuc2luaG9nZmluPyBgY29hbGVzY2Uoc2luX2ZpbmFsaXphcl9kbSwwKSsgY29hbGVzY2Uoc2luX2ZpbmFsaXphcl9pbmNvbXBsZXRvLDApICsgY29hbGVzY2Uoc2luX2ZpbmFsaXphcl9vdHJhX2NhdXNhLDApYCA6YDBgfSBhcyBlbl9jdXJzb1xyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gKCAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgJHtbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5jYW1wb3NDb3J0ZS5tYXAoZj0+Zi5uYW1lKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb3VudCgqKSBhcyB0b3RhbGAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5jYW1wb3NDYWxjdWxhZG9zLmZpbHRlcihmPT5mLmNvbmRpY2lvbikubWFwKGY9PmBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50KCopIGZpbHRlciAod2hlcmUga2xhc2U9JHtkYi5xdW90ZUxpdGVyYWwoZi5uYW1lKX0pIGFzICR7Zi5uYW1lfWApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvdW50KCopIGZpbHRlciAod2hlcmUga2xhc2UgaXMgbnVsbCkgYXMgb3Ryb3MnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF0uam9pbignLCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBjb3VudCgqKSBmaWx0ZXIgKHdoZXJlIHJlc3VtZW5fZXN0YWRvIGluICgnaW5jb21wbGV0bycsJ2NvbiBwcm9ibGVtYXMnKSkgYXMgaW5jb21wbGV0b1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBjb3VudCgqKSBmaWx0ZXIgKHdoZXJlIHJlc3VtZW5fZXN0YWRvIGluICgnbm8gcmVhJywnb2snKSBhbmQgdmVyaWZpY2FkbyBpcyBudWxsKSBhcyB2ZXJpZl9lbmN1X3BlbmRpZW50ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmcm9tIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCB0LiosYS5wYXJ0aWNpcGFjaW9uX2EsIGEuY2xhc2VfYSwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAke2NhbXBvc0NhbGN1bGFkb3MuZmlsdGVyKGY9PmYuY29uZGljaW9uKS5tYXAoZj0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB3aGVuICR7Zi5jb25kaWNpb259IHRoZW4gJHtkYi5xdW90ZUxpdGVyYWwoZi5uYW1lKX0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5qb2luKCcnKX0gZWxzZSBudWxsIGVuZCBhcyBrbGFzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgdC4qLCB0dC52ZXJpZmljYWRvLCB0Lm5vcmVhIGFzIGNvZF9ub19yZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGVtIHQgbGVmdCBqb2luIGNvbXVuYXMgYyBvbiB0Lm5yb2NvbXVuYT1jLmNvbXVuYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB0YXJlYXNfdGVtIHR0IG9uIHQub3BlcmF0aXZvPXR0Lm9wZXJhdGl2byBhbmQgdC5lbmM9dHQuZW5jIGFuZCB0dC50YXJlYT0nZW5jdSdcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlICR7b3B0cy5maWx0cm9XaGVyZSB8fCAndHJ1ZSd9ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgdCBsZWZ0IGpvaW4gKHNlbGVjdCBhcmVhLCBzdHJpbmdfYWdnKGRpc3RpbmN0IHBhcnRpY2lwYWNpb246OnRleHQsICcsICcgb3JkZXIgYnkgcGFydGljaXBhY2lvbjo6dGV4dCBkZXNjICkgYXMgcGFydGljaXBhY2lvbl9hXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgc3RyaW5nX2FnZyhkaXN0aW5jdCBjbGFzZSwgJywgJyBvcmRlciBieSBjbGFzZSBkZXNjICkgYXMgY2xhc2VfYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCBieSAxICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgYSAgdXNpbmcgIChhcmVhIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSB0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICR7Y2FtcG9zQ29ydGUubGVuZ3RoP2Bncm91cCBieSAke2NhbXBvc0NvcnRlLm1hcChmPT5mLm5hbWUpfWA6Jyd9XHJcbiAgICAgICAgICAgICAgICAgICAgKSB0XHJcbiAgICAgICAgICAgIClgXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxufVxyXG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udHJvbF9jYW1wby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtY29udHJvbF9jYW1wby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQWlCYixTQUFnQixhQUFhLENBQUMsT0FBb0IsRUFBQyxJQUF1Qjs7UUFDdEUsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFDLE1BQU0sRUFBQyxlQUFlLEVBQUMsQ0FBQTtRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksZUFBZSxDQUFBO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBQSxJQUFJLENBQUMsUUFBUSxtQ0FBSSxLQUFLLENBQUE7UUFDdEMsSUFBSSxFQUFFLEdBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2IsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sS0FBSSxNQUFBLE1BQUEsT0FBTyxDQUFDLEtBQUssMENBQUUsS0FBSywwQ0FBRSxXQUFXLENBQUEsSUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBRyxlQUFlLENBQUM7UUFDM0csSUFBSSxXQUFXLEdBQW1CLENBQUMsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFTLFFBQVEsRUFBQyxTQUFTLEVBQUMsRUFBQyxHQUFHLENBQzlFLElBQUksQ0FBQyxXQUFXLElBQUcsRUFBRSxDQUN4QixDQUFDLENBQUM7UUFDSCxJQUFJLGlCQUFpQixHQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQy9FLElBQUksZ0JBQWdCLEdBQW9FO1lBQ3BGLEVBQUMsSUFBSSxFQUFDLGFBQWEsRUFBSSxRQUFRLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxLQUFL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Q2xELENBQ0EsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDOzs7Ozs7NENBTUYsSUFBSSxDQUFDLFdBQVcsSUFBSSxNQUFNOzs7Ozs7OzBCQU81QyxXQUFXLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQSxZQUFZLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBLEVBQUUsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsRUFBRTs7Y0FFMUU7YUFDTDtTQUNKLENBQUM7SUFDTixDQUFDO0lBbEdELHNDQWtHQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuaW1wb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSBcInF1ZXJ5c3RyaW5nXCI7XHJcbmltcG9ydCB7VGFibGVEZWZpbml0aW9uLCBUYWJsZUNvbnRleHQsIEZpZWxkRGVmaW5pdGlvbn0gZnJvbSBcIi4vdHlwZXMtZG1lbmN1XCI7XHJcblxyXG5leHBvcnQgdHlwZSBjb250cm9sQ2FtcG9zT3B0cz17XHJcbiAgICBub21icmU6c3RyaW5nLCBcclxuICAgIGFncnVwYWRvcj86c3RyaW5nLCBcclxuICAgIGFncnVwYWRvPzpib29sZWFuLFxyXG4gICAgY2FtcG9zQ29ydGU/OkZpZWxkRGVmaW5pdGlvbltdLFxyXG4gICAgZmlsdHJvV2hlcmU/OnN0cmluZ1xyXG4gICAgdGl0bGU/OnN0cmluZ1xyXG4gICAgZ2FiaW5ldGU/OmJvb2xlYW5cclxuICAgIHNpbmhvZ2Zpbj86Ym9vbGVhblxyXG59XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRyb2xfY2FtcG8oY29udGV4dDpUYWJsZUNvbnRleHQsb3B0cz86Y29udHJvbENhbXBvc09wdHMpOlRhYmxlRGVmaW5pdGlvbiB7XHJcbiAgICBvcHRzID0gb3B0cyB8fCB7bm9tYnJlOidjb250cm9sX2NhbXBvJ31cclxuICAgIG9wdHMuYWdydXBhZG9yID0gb3B0cy5hZ3J1cGFkb3IgfHwgJ25vX3JlYV9ncm91cHMnXHJcbiAgICBvcHRzLmFncnVwYWRvID0gb3B0cy5hZ3J1cGFkbyA/PyBmYWxzZVxyXG4gICAgdmFyIGJlPWNvbnRleHQuYmU7XHJcbiAgICB2YXIgZGI9YmUuZGI7XHJcbiAgICB2YXIgcHVlZGVFZGl0YXIgPSBjb250ZXh0LmZvckR1bXAgfHwgY29udGV4dC5wdWVkZT8uY2FtcG8/LmFkbWluaXN0cmFyfHxjb250ZXh0LnVzZXIucm9sPT09J3JlY2VwY2lvbmlzdGEnO1xyXG4gICAgdmFyIGNhbXBvc0NvcnRlOkZpZWxkRGVmaW5pdGlvbltdPVt7bmFtZTonY2x1c3RlcicgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcid9LC4uLihcclxuICAgICAgICBvcHRzLmNhbXBvc0NvcnRlIHx8W11cclxuICAgICldO1xyXG4gICAgdmFyIHRpZW5lU2VsZWNjaW9uYWRvPWNvbnRleHQuYmUuY2FjaGVzLnRhYmxlQ29udGVudC5jb25SZWFIb2dhci5jb25maWdfc29ydGVvO1xyXG4gICAgdmFyIGNhbXBvc0NhbGN1bGFkb3M6KEZpZWxkRGVmaW5pdGlvbiAmIHtjb25kaWNpb246c3RyaW5nLCB0YXNhX2VmZWN0aXZpZGFkOmJvb2xlYW59KVtdPVtcclxuICAgICAgICB7bmFtZTonbm9fc2FsaWVyb24nICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIHRpdGxlOidubyBzYWxpZXJvbiBhIGNhbXBvJywgY29uZGljaW9uOmByZXN1bWVuX2VzdGFkbyBpcyBudWxsYH0sXHJcbiAgICAgICAge25hbWU6J3NhbGllcm9uJyAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB0aXRsZTonc2FsaWVyb24gYSBjYW1wbyd9LFxyXG4gICAgICAgIHtuYW1lOidzaW5fbm92ZWRhZCcgICwgdHlwZU5hbWU6J2JpZ2ludCcsIGFnZ3JlZ2F0ZTonc3VtJywgdmlzaWJsZTpvcHRzLmFncnVwYWRvfSxcclxuICAgICAgICB7bmFtZTonc2luX3Jlc3VsdGFkbycsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIHZpc2libGU6IW9wdHMuYWdydXBhZG8sIGNvbmRpY2lvbjpgcmVzdW1lbl9lc3RhZG8gaW4gKCd2YWNpbycpYH0sXHJcbiAgICAgICAvLyB7bmFtZTonY2l0YV9wYWN0YWRhJyAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIHZpc2libGU6IW9wdHMuYWdydXBhZG8sIGNvbmRpY2lvbjpgcmVzdW1lbl9lc3RhZG8gaW4gKCdjaXRhIHBhY3RhZGEnKWB9LFxyXG4gICAgICAgIHtuYW1lOidyZWEnICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcsIGFnZ3JlZ2F0ZTonc3VtJywgY29uZGljaW9uOmByZXN1bHRhZG89J2VmZWN0aXZhJ2B9LFxyXG4gICAgICAgIHtuYW1lOidwZW5kaWVudGUnICAgICwgdHlwZU5hbWU6J2JpZ2ludCcsIGFnZ3JlZ2F0ZTonc3VtJywgY29uZGljaW9uOmByZXN1bHRhZG89J3BlbmRpZW50ZSdgfSxcclxuICAgICAgICB7bmFtZTonbWl4dGEnICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIGNvbmRpY2lvbjpgcmVzdWx0YWRvPSdtaXh0YSdgfSxcclxuICAgICAgICAvKlxyXG4gICAgICAgIHtuYW1lOidhc3VlbnRlX3ZpdicgICwgdHlwZU5hbWU6J2JpZ2ludCcsIHRpdGxlOidhdXNlbnRlIGRlIHZpdmllbmRhJywgY29uZGljaW9uOmBjb2Rfbm9fcmVhPTdgfSxcclxuICAgICAgICB7bmFtZTonYXN1ZW50ZV9taWUnICAsIHR5cGVOYW1lOidiaWdpbnQnLCB0aXRsZTonYXVzZW50ZSBkZSBtaWVtYnJvIHNlbGVjY2lvbmFkbycsIGNvbmRpY2lvbjpgY29kX25vX3JlYT03NWB9LFxyXG4gICAgICAgICovXHJcbiAgICAgICAgLi4uKGJlLmNhY2hlcy50YWJsZUNvbnRlbnRbb3B0cy5hZ3J1cGFkb3JdfHxbXSkubWFwKGc9Pih7XHJcbiAgICAgICAgICAgIG5hbWU6Zy5ncnVwby5yZXBsYWNlKC8gL2csJ18nKSxcclxuICAgICAgICAgICAgdHlwZU5hbWU6J2JpZ2ludCcsXHJcbiAgICAgICAgICAgIGluVGFibGU6ZmFsc2UsXHJcbiAgICAgICAgICAgIHRpdGxlOmcuZ3J1cG8sXHJcbiAgICAgICAgICAgIGNvbmRpY2lvbjpgY29kX25vX3JlYSBpbiAoJHtnLmNvZGlnb3MubWFwKGM9PmRiLnF1b3RlTGl0ZXJhbChjLm5vX3JlYSkpLmpvaW4oJywnKX0pYCxcclxuICAgICAgICAgICAgYWdncmVnYXRlOidzdW0nLFxyXG4gICAgICAgICAgICB0YXNhX2VmZWN0aXZpZGFkOiFnLmNvZGlnb3NbMF0uZ3J1cG8wLnN0YXJ0c1dpdGgoJ25vIGVuY3Vlc3RhYmxlJylcclxuICAgICAgICB9KSlcclxuICAgIF07XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIG5hbWU6b3B0cy5ub21icmUsXHJcbiAgICAgICAgZWRpdGFibGU6ZmFsc2UsXHJcbiAgICAgICAgdGl0bGU6b3B0cy50aXRsZXx8b3B0cy5ub21icmUucmVwbGFjZSgvXy9nLCcgJyksXHJcbiAgICAgICAgZmllbGRzOltcclxuICAgICAgICAgICAgLi4uY2FtcG9zQ29ydGUsXHJcbiAgICAgICAgICAgIHtuYW1lOid0b3RhbCcgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcsIGFnZ3JlZ2F0ZTonc3VtJ30sXHJcbiAgICAgICAgICAgIC4uLmNhbXBvc0NhbGN1bGFkb3MubWFwKGY9Pnt2YXIge2NvbmRpY2lvbiwgLi4uZmllbGREZWZ9PWY7IHJldHVybiBmaWVsZERlZn0pLFxyXG4gICAgICAgICAgICB7bmFtZTonb3Ryb3MnICAgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bSd9LFxyXG4gICAgICAgICAgICB7bmFtZTondGFzYV9lZmVjdGl2aWRhZCcgICAgICAgICAsIHR5cGVOYW1lOidkZWNpbWFsJ30sXHJcbiAgICAgICAgICAgIHtuYW1lOidpbmNvbXBsZXRvJyAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2JpZ2ludCcsIGFnZ3JlZ2F0ZTonc3VtJywgdmlzaWJsZTohb3B0cy5hZ3J1cGFkbywgY29uZGljaW9uOmByZXN1bWVuX2VzdGFkbyBpbiAoJ2luY29tcGxldG8nLCdjb24gcHJvYmxlbWFzJylgfSxcclxuICAgICAgICAgICAge25hbWU6J3ZlcmlmX2VuY3VfcGVuZGllbnRlJyAgICAgLCB0eXBlTmFtZTonYmlnaW50JywgYWdncmVnYXRlOidzdW0nLCB2aXNpYmxlOiFvcHRzLmFncnVwYWRvLCBjb25kaWNpb246YHJlc3VtZW5fZXN0YWRvIGluICgnaW5jb21wbGV0bycsJ2NvbiBwcm9ibGVtYXMnKWB9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5fY3Vyc28nICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIHZpc2libGU6ISFvcHRzLmdhYmluZXRlLCB0aXRsZTonRW5fY3Vyc28nICAgICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonb3RyYXNfY2F1c2FzX2dhYmluZXRlJyAgICAsIHR5cGVOYW1lOidiaWdpbnQnLCBhZ2dyZWdhdGU6J3N1bScsIHZpc2libGU6ISFvcHRzLmdhYmluZXRlLCB0aXRsZTogJ090cmFzX2NhdXNhcyd9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgcHJpbWFyeUtleTpjYW1wb3NDb3J0ZS5tYXAoZj0+Zi5uYW1lKSxcclxuICAgICAgICBzcWw6e1xyXG4gICAgICAgICAgICBpc1RhYmxlOmZhbHNlLFxyXG4gICAgICAgICAgICBmcm9tOmAgXHJcbiAgICAgICAgICAgICggXHJcbiAgICAgICAgICAgICAgICBzZWxlY3QgdC4qLCBjb2FsZXNjZShpbmNvbXBsZXRvLDApK2NvYWxlc2NlKHNpbl9yZXN1bHRhZG8sMCkgYXMgc2luX25vdmVkYWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tVE9ETyBSRVZJU0FSXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kKHJlYSoxMDAuMC9udWxsaWYoICR7KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgWydyZWEnLCAuLi4oY2FtcG9zQ2FsY3VsYWRvcy5maWx0ZXIoZj0+Zi50YXNhX2VmZWN0aXZpZGFkKS5tYXAoZj0+Zi5uYW1lKSldLmpvaW4oJysnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApfSwwKSwxKSBhcyB0YXNhX2VmZWN0aXZpZGFkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbC1jb2FsZXNjZShub19zYWxpZXJvbiwwKSBhcyBzYWxpZXJvbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29hbGVzY2Uob3Ryb3MsMCkgKyAke29wdHMuZ2FiaW5ldGU/YCBjb2FsZXNjZShvdHJhc19jYXVzYXMsMCkgYDpvcHRzLnNpbmhvZ2Zpbj9gIGNvYWxlc2NlKG90cmFzX2NhdXNhc19zZWxlY2Npb25hZG8sMCkrY29hbGVzY2Uob3RyYXNfY2F1c2FzX3ZpdmllbmRhLDApYDogIXRpZW5lU2VsZWNjaW9uYWRvP2AgY29hbGVzY2Uob3RyYXNfY2F1c2FzX2hvZ2FyLDApICtjb2FsZXNjZShvdHJhc19jYXVzYXNfdml2aWVuZGEsMClgOmAgY29hbGVzY2Uob3RyYXNfY2F1c2FzX2hvZ2FyLDApICtjb2FsZXNjZShvdHJhc19jYXVzYXNfdml2aWVuZGEsMCkrIGNvYWxlc2NlKG90cmFzX2NhdXNhc19zZWxlY2Npb25hZG8sMClgfSAgYXMgb3RyYXNfY2F1c2FzX2dhYmluZXRlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2FsZXNjZShwZW5kaWVudGUsMCkrY29hbGVzY2UobWl4dGEsMCkgK2NvYWxlc2NlKHNpbl9yZXN1bHRhZG8sMCkgK2NvYWxlc2NlKGluY29tcGxldG8sMCkgKyR7IG9wdHMuZ2FiaW5ldGUgJiYgdGllbmVTZWxlY2Npb25hZG8gJiYgIW9wdHMuc2luaG9nZmluID8gYCBjb2FsZXNjZShub19maW5hbGl6YWRhLDApIGA6ICFvcHRzLmdhYmluZXRlICYmICFvcHRzLnNpbmhvZ2ZpbiAmJiB0aWVuZVNlbGVjY2lvbmFkbz8gYGNvYWxlc2NlKHNpbl9maW5hbGl6YXJfZG0sMCkrIGNvYWxlc2NlKHNpbl9maW5hbGl6YXJfaW5jb21wbGV0bywwKSArIGNvYWxlc2NlKHNpbl9maW5hbGl6YXJfb3RyYV9jYXVzYSwwKWAgOmAwYH0gYXMgZW5fY3Vyc29cclxuICAgICAgICAgICAgICAgICAgICAgLyogICBjb2FsZXNjZShvdHJvcywwKSske29wdHMuZ2FiaW5ldGU/YGNvYWxlc2NlKG90cmFzX2NhdXNhcywwKSBgOmBjb2FsZXNjZShvdHJhc19jYXVzYXNfaG9nYXIsMCkgKyBjb2FsZXNjZShvdHJhc19jYXVzYXNfc2VsZWNjaW9uYWRvLDApICsgY29hbGVzY2Uob3RyYXNfY2F1c2FzX3ZpdmllbmRhLDApYH0gIGFzIG90cmFzX2NhdXNhc19nYWJpbmV0ZSwgKi9cclxuICAgICAgICAgICAgICAgICAgICAgLyogICBjb2FsZXNjZShwZW5kaWVudGUsMCkrY29hbGVzY2UobWl4dGEsMCkrIGNvYWxlc2NlKGluY29tcGxldG8sMCkrY29hbGVzY2Uoc2luX3Jlc3VsdGFkbywwKSske29wdHMuZ2FiaW5ldGU/YGNvYWxlc2NlKG5vX2ZpbmFsaXphZGEsMClgOmBjb2FsZXNjZShzaW5fZmluYWxpemFyX2RtLDApK2NvYWxlc2NlKHNpbl9maW5hbGl6YXJfaW5jb21wbGV0bywwKSsgY29hbGVzY2Uoc2luX2ZpbmFsaXphcl9vdHJhX2NhdXNhLDApYH0gIGFzIGVuX2N1cnNvICovXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gKCAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgJHtbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5jYW1wb3NDb3J0ZS5tYXAoZj0+Zi5uYW1lKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBjb3VudCgqKSBhcyB0b3RhbGAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5jYW1wb3NDYWxjdWxhZG9zLmZpbHRlcihmPT5mLmNvbmRpY2lvbikubWFwKGY9PmBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50KCopIGZpbHRlciAod2hlcmUga2xhc2U9JHtkYi5xdW90ZUxpdGVyYWwoZi5uYW1lKX0pIGFzICR7Zi5uYW1lfWApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvdW50KCopIGZpbHRlciAod2hlcmUga2xhc2UgaXMgbnVsbCkgYXMgb3Ryb3MnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIF0uam9pbignLCcpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBjb3VudCgqKSBmaWx0ZXIgKHdoZXJlIHJlc3VtZW5fZXN0YWRvIGluICgnaW5jb21wbGV0bycsJ2NvbiBwcm9ibGVtYXMnKSkgYXMgaW5jb21wbGV0b1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBjb3VudCgqKSBmaWx0ZXIgKHdoZXJlIHJlc3VtZW5fZXN0YWRvIGluICgnbm8gcmVhJywnb2snKSBhbmQgdmVyaWZpY2FkbyBpcyBudWxsKSBhcyB2ZXJpZl9lbmN1X3BlbmRpZW50ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmcm9tIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdCB0LiosYS5wYXJ0aWNpcGFjaW9uX2EsIGEuY2xhc2VfYSwgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAke2NhbXBvc0NhbGN1bGFkb3MuZmlsdGVyKGY9PmYuY29uZGljaW9uKS5tYXAoZj0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB3aGVuICR7Zi5jb25kaWNpb259IHRoZW4gJHtkYi5xdW90ZUxpdGVyYWwoZi5uYW1lKX0gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKS5qb2luKCcnKX0gZWxzZSBudWxsIGVuZCBhcyBrbGFzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QgdC4qLCB0dC52ZXJpZmljYWRvLCB0Lm5vcmVhIGFzIGNvZF9ub19yZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gdGVtIHQgbGVmdCBqb2luIGNvbXVuYXMgYyBvbiB0Lm5yb2NvbXVuYT1jLmNvbXVuYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQgam9pbiB0YXJlYXNfdGVtIHR0IG9uIHQub3BlcmF0aXZvPXR0Lm9wZXJhdGl2byBhbmQgdC5lbmM9dHQuZW5jIGFuZCB0dC50YXJlYT0nZW5jdSdcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlICR7b3B0cy5maWx0cm9XaGVyZSB8fCAndHJ1ZSd9ICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgdCBsZWZ0IGpvaW4gKHNlbGVjdCBhcmVhLCBzdHJpbmdfYWdnKGRpc3RpbmN0IHBhcnRpY2lwYWNpb246OnRleHQsICcsICcgb3JkZXIgYnkgcGFydGljaXBhY2lvbjo6dGV4dCBkZXNjICkgYXMgcGFydGljaXBhY2lvbl9hXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgc3RyaW5nX2FnZyhkaXN0aW5jdCBjbGFzZSwgJywgJyBvcmRlciBieSBjbGFzZSBkZXNjICkgYXMgY2xhc2VfYVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cCBieSAxICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgYSAgdXNpbmcgIChhcmVhIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSB0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICR7Y2FtcG9zQ29ydGUubGVuZ3RoP2Bncm91cCBieSAke2NhbXBvc0NvcnRlLm1hcChmPT5mLm5hbWUpfWA6Jyd9XHJcbiAgICAgICAgICAgICAgICAgICAgKSB0XHJcbiAgICAgICAgICAgIClgXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxufVxyXG4iXX0=
@@ -23,6 +23,7 @@
23
23
  { name: 'tarea_actual', typeName: 'text', editable: false },
24
24
  { name: 'recepcionista', typeName: 'text', editable: false, inTable: false },
25
25
  { name: 'asignado', typeName: 'text', editable: false, inTable: false },
26
+ { name: 'estado', typeName: 'text', editable: false, nullable: false },
26
27
  { name: 'area', typeName: 'integer', editable: false },
27
28
  { name: 'zona', typeName: 'text', editable: false },
28
29
  { name: 'codcalle', typeName: 'integer', editable: false },
@@ -69,7 +70,7 @@
69
70
  sql: {
70
71
  isTable: false,
71
72
  from: `(
72
- select t.*, recepcionista, asignado
73
+ select t.*, recepcionista, asignado, estado
73
74
  from tem t
74
75
  inner join tareas_tem tt
75
76
  on (t.operativo=tt.operativo and t.enc=tt.enc and t.tarea_actual=tt.tarea)
@@ -80,4 +81,4 @@
80
81
  }
81
82
  exports.grilla_hoja_ruta = grilla_hoja_ruta;
82
83
  });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZ3JpbGxhX2hvamFfcnV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtZ3JpbGxhX2hvamFfcnV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUliLFNBQWdCLGdCQUFnQixDQUFDLE9BQW9CO1FBQ2pELG9CQUFvQjtRQUNwQixJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDeEIsT0FBTztZQUNILElBQUksRUFBQyxrQkFBa0I7WUFDdkIsV0FBVyxFQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFDLFdBQVc7WUFDcEIsTUFBTSxFQUFDO2dCQUNILEVBQUMsSUFBSSxFQUFDLFdBQVcsRUFBYyxRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUksUUFBUSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDO2dCQUNoSCxFQUFDLElBQUksRUFBQyxLQUFLLEVBQW9CLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBSSxRQUFRLEVBQUUsS0FBSyxFQUF3QjtnQkFDOUcsRUFBQyxJQUFJLEVBQUMsY0FBYyxFQUFXLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBRztnQkFDdEUsRUFBQyxJQUFJLEVBQUMsZUFBZSxFQUFVLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBRyxPQUFPLEVBQUUsS0FBSyxFQUFHO2dCQUN2RixFQUFDLElBQUksRUFBQyxVQUFVLEVBQWUsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHLE9BQU8sRUFBRSxLQUFLLEVBQUc7Z0JBQ3ZGLEVBQUMsSUFBSSxFQUFDLE1BQU0sRUFBbUIsUUFBUSxFQUFDLFNBQVMsRUFBRyxRQUFRLEVBQUUsS0FBSyxFQUFHO2dCQUN0RSxFQUFDLElBQUksRUFBQyxNQUFNLEVB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RSxNQUFNLEVBQUMsV0FBVyxFQUFDO3dCQUN4QyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE9BQU8sRUFBQztxQkFDMUM7b0JBQ0csS0FBSyxFQUFDLFNBQVM7aUJBQ2xCO2FBQ0Y7WUFDSCxHQUFHLEVBQUM7Z0JBQ0EsT0FBTyxFQUFDLEtBQUs7Z0JBQ2IsSUFBSSxFQUFDOzs7Ozs7Y0FNSDthQUNMO1NBRUosQ0FBQztJQUNOLENBQUM7SUFwRUQsNENBb0VDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0LCBGaWVsZERlZmluaXRpb24sIE90aGVyVGFibGVEZWZzfSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBncmlsbGFfaG9qYV9ydXRhKGNvbnRleHQ6VGFibGVDb250ZXh0KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgLy92YXIgYmU9Y29udGV4dC5iZTtcclxuICAgIHZhciBwdWVkZUVkaXRhciA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHsgICBcclxuICAgICAgICBuYW1lOidncmlsbGFfaG9qYV9ydXRhJyxcclxuICAgICAgICBlbGVtZW50TmFtZTonaGRyJyxcclxuICAgICAgICBlZGl0YWJsZTpwdWVkZUVkaXRhcixcclxuICAgICAgICBmaWVsZHM6W1xyXG4gICAgICAgICAgICB7bmFtZTonb3BlcmF0aXZvJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAnZXRvaTIxMSd9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6J3RhcmVhX2FjdHVhbCcgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlY2VwY2lvbmlzdGEnICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXNpZ25hZG8nICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidhcmVhJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOid6b25hJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjb2RjYWxsZScgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidub21jYWxsZScgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOiducm9jYXRhc3RyYWwnICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidwaXNvJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidkZXBhcnRhbWVudG8nICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidoYWJpdGFjaW9uJyAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzZWN0b3InICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidlZGlmaWNpbycgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidlbnRyYWRhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidiYXJyaW8nICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjb2Rwb3MnICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgLy8ge25hbWU6J2RvbWluaW8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2NvbXVuYScgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2ZyYWNjaW9uJyAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb3JhZGlvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb21hbnphbmEnICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2xhZG8nICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAvLyB7bmFtZTondXNvZG9taWNpbGlvJyAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgIC8vIHtuYW1lOidwYXJ0aWNpcGFjaW9uJyAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICB9LFxyXG4gICAgICAgICAgIC8vIHtuYW1lOidyb3RhY2lvbicgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAvLyB7bmFtZTonY2xhc2UnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgLy8ge25hbWU6J3BhbmVsJyAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonY2FzYScgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICAvLyBjb25jYXRlbmFkYXMgZW4gb2JzXHJcbiAgICAgICAgICAgLy8ge25hbWU6J29ic2RhdG9zZG9taWNpbGlvJyAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAvLyB7bmFtZTonb2JzY29uanVudG8nICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgIC8vIHtuYW1lOidyZXNlcnZhJyAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidzZW1hbmEnICAgICAgICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICAgfSxcclxuICAgICAgICAgICAvLyB7bmFtZToncGVyaW9kaWNpZGFkJyAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogdHJ1ZSAgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidvYnMnICAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICBdLFxyXG4gICAgICAgIHByaW1hcnlLZXk6W1wib3BlcmF0aXZvXCIsJ2VuYyddLFxyXG4gICAgICAgIGZvcmVpZ25LZXlzOltcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J2FyZWFzJyAgICwgZmllbGRzOlsnb3BlcmF0aXZvJywgJ2FyZWEnXX0sXHJcbiAgICAgICAgICAgIHtyZWZlcmVuY2VzOid0YXJlYXMnICwgZmllbGRzOltcclxuICAgICAgICAgICAgICAgIHtzb3VyY2U6J29wZXJhdGl2bycsIHRhcmdldDonb3BlcmF0aXZvJ30sXHJcbiAgICAgICAgICAgICAgICB7c291cmNlOid0YXJlYV9hY3R1YWwnLCB0YXJnZXQ6J3RhcmVhJ31cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGFsaWFzOidsYXRhcmVhJ1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSwgICBcclxuICAgICAgICBzcWw6e1xyXG4gICAgICAgICAgICBpc1RhYmxlOmZhbHNlLFxyXG4gICAgICAgICAgICBmcm9tOmAoXHJcbiAgICAgICAgICAgICAgICBzZWxlY3QgdC4qLCByZWNlcGNpb25pc3RhLCBhc2lnbmFkb1xyXG4gICAgICAgICAgICAgICAgICAgIGZyb20gdGVtIHRcclxuICAgICAgICAgICAgICAgICAgICBpbm5lciBqb2luIHRhcmVhc190ZW0gdHRcclxuICAgICAgICAgICAgICAgICAgICBvbiAodC5vcGVyYXRpdm89dHQub3BlcmF0aXZvIGFuZCAgdC5lbmM9dHQuZW5jICBhbmQgdC50YXJlYV9hY3R1YWw9dHQudGFyZWEpXHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXIgYnkgdC5lbmNcclxuICAgICAgICAgICAgKWAsXHJcbiAgICAgICAgfVxyXG5cclxuICAgIH07XHJcbn0iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZ3JpbGxhX2hvamFfcnV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdGFibGUtZ3JpbGxhX2hvamFfcnV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7SUFBQSxZQUFZLENBQUM7OztJQUliLFNBQWdCLGdCQUFnQixDQUFDLE9BQW9CO1FBQ2pELG9CQUFvQjtRQUNwQixJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDeEIsT0FBTztZQUNILElBQUksRUFBQyxrQkFBa0I7WUFDdkIsV0FBVyxFQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFDLFdBQVc7WUFDcEIsTUFBTSxFQUFDO2dCQUNILEVBQUMsSUFBSSxFQUFDLFdBQVcsRUFBYyxRQUFRLEVBQUMsTUFBTSxFQUFNLFFBQVEsRUFBRSxLQUFLLEVBQUksUUFBUSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDO2dCQUNoSCxFQUFDLElBQUksRUFBQyxLQUFLLEVBQW9CLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBSSxRQUFRLEVBQUUsS0FBSyxFQUF3QjtnQkFDOUcsRUFBQyxJQUFJLEVBQUMsY0FBYyxFQUFXLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBRztnQkFDdEUsRUFBQyxJQUFJLEVBQUMsZUFBZSxFQUFVLFFBQVEsRUFBQyxNQUFNLEVBQU0sUUFBUSxFQUFFLEtBQUssRUFBRyxPQUFPLEVBQUUsS0FBSyxFQUFHO2dCQUN2RixFQUFDLElBQUksRUFBQyxVQUFVLEVBQWUsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHLE9BQU8sRUFBRSxLQUFLLEVBQUc7Z0JBQ3ZGLEVBQUMsSUFBSSxFQUFDLFFBQVEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sRUFBTSxRQUFRLEVBQUUsS0FBSyxFQUFHLFFBQVEsRUFBRSxLQUFLLEVBQUU7Z0JBQ3ZGLEVB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LEVBQUUsTUFBTSxDQUFDLEVBQUM7Z0JBQ3JELEVBQUMsVUFBVSxFQUFDLFFBQVEsRUFBRyxNQUFNLEVBQUM7d0JBQzFCLEVBQUMsTUFBTSxFQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUMsV0FBVyxFQUFDO3dCQUN4QyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE9BQU8sRUFBQztxQkFDMUM7b0JBQ0csS0FBSyxFQUFDLFNBQVM7aUJBQ2xCO2FBQ0Y7WUFDSCxHQUFHLEVBQUM7Z0JBQ0EsT0FBTyxFQUFDLEtBQUs7Z0JBQ2IsSUFBSSxFQUFDOzs7Ozs7Y0FNSDthQUNMO1NBRUosQ0FBQztJQUNOLENBQUM7SUFyRUQsNENBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQge1RhYmxlRGVmaW5pdGlvbiwgVGFibGVDb250ZXh0LCBGaWVsZERlZmluaXRpb24sIE90aGVyVGFibGVEZWZzfSBmcm9tIFwiLi90eXBlcy1kbWVuY3VcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBncmlsbGFfaG9qYV9ydXRhKGNvbnRleHQ6VGFibGVDb250ZXh0KTpUYWJsZURlZmluaXRpb24ge1xyXG4gICAgLy92YXIgYmU9Y29udGV4dC5iZTtcclxuICAgIHZhciBwdWVkZUVkaXRhciA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHsgICBcclxuICAgICAgICBuYW1lOidncmlsbGFfaG9qYV9ydXRhJyxcclxuICAgICAgICBlbGVtZW50TmFtZTonaGRyJyxcclxuICAgICAgICBlZGl0YWJsZTpwdWVkZUVkaXRhcixcclxuICAgICAgICBmaWVsZHM6W1xyXG4gICAgICAgICAgICB7bmFtZTonb3BlcmF0aXZvJyAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAnZXRvaTIxMSd9LFxyXG4gICAgICAgICAgICB7bmFtZTonZW5jJyAgICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICAsIG51bGxhYmxlOiBmYWxzZSAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge25hbWU6J3RhcmVhX2FjdHVhbCcgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3JlY2VwY2lvbmlzdGEnICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAsIGluVGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonYXNpZ25hZG8nICAgICAgICAgICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICwgaW5UYWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidlc3RhZG8nICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgLCBudWxsYWJsZTogZmFsc2UgfSxcclxuICAgICAgICAgICAge25hbWU6J2FyZWEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3pvbmEnICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NvZGNhbGxlJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25vbWNhbGxlJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J25yb2NhdGFzdHJhbCcgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3Bpc28nICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2RlcGFydGFtZW50bycgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2hhYml0YWNpb24nICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlY3RvcicgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2VkaWZpY2lvJyAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2VudHJhZGEnICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2JhcnJpbycgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J2NvZHBvcycgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAvLyB7bmFtZTonZG9taW5pbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvY29tdW5hJyAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvZnJhY2Npb24nICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvcmFkaW8nICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvbWFuemFuYScgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgICB7bmFtZTonbnJvbGFkbycgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgIC8vIHtuYW1lOid1c29kb21pY2lsaW8nICAgICAgICAgLCB0eXBlTmFtZTonaW50ZWdlcicgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgLy8ge25hbWU6J3BhcnRpY2lwYWNpb24nICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgIH0sXHJcbiAgICAgICAgICAgLy8ge25hbWU6J3JvdGFjaW9uJyAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgIC8vIHtuYW1lOidjbGFzZScgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAvLyB7bmFtZToncGFuZWwnICAgICAgICAgICAgICAgICwgdHlwZU5hbWU6J2ludGVnZXInICwgZWRpdGFibGU6IGZhbHNlICAsdmlzaWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIHtuYW1lOidjYXNhJyAgICAgICAgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgIC8vIGNvbmNhdGVuYWRhcyBlbiBvYnNcclxuICAgICAgICAgICAvLyB7bmFtZTonb2JzZGF0b3Nkb21pY2lsaW8nICAgICwgdHlwZU5hbWU6J3RleHQnICAgICwgZWRpdGFibGU6IGZhbHNlICB9LFxyXG4gICAgICAgICAgIC8vIHtuYW1lOidvYnNjb25qdW50bycgICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgIH0sXHJcbiAgICAgICAgICAgLy8ge25hbWU6J3Jlc2VydmEnICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgICAgICAgICAge25hbWU6J3NlbWFuYScgICAgICAgICAgICAgICAsIHR5cGVOYW1lOidpbnRlZ2VyJyAsIGVkaXRhYmxlOiBmYWxzZSAgLHZpc2libGU6IHRydWUgICB9LFxyXG4gICAgICAgICAgIC8vIHtuYW1lOidwZXJpb2RpY2lkYWQnICAgICAgICAgLCB0eXBlTmFtZTondGV4dCcgICAgLCBlZGl0YWJsZTogZmFsc2UgICx2aXNpYmxlOiB0cnVlICAgfSxcclxuICAgICAgICAgICAge25hbWU6J29icycgICAgICAgICAgICAgICAgICAsIHR5cGVOYW1lOid0ZXh0JyAgICAsIGVkaXRhYmxlOiBmYWxzZSAgfSxcclxuICAgIF0sXHJcbiAgICAgICAgcHJpbWFyeUtleTpbXCJvcGVyYXRpdm9cIiwnZW5jJ10sXHJcbiAgICAgICAgZm9yZWlnbktleXM6W1xyXG4gICAgICAgICAgICB7cmVmZXJlbmNlczonYXJlYXMnICAgLCBmaWVsZHM6WydvcGVyYXRpdm8nLCAnYXJlYSddfSxcclxuICAgICAgICAgICAge3JlZmVyZW5jZXM6J3RhcmVhcycgLCBmaWVsZHM6W1xyXG4gICAgICAgICAgICAgICAge3NvdXJjZTonb3BlcmF0aXZvJywgdGFyZ2V0OidvcGVyYXRpdm8nfSxcclxuICAgICAgICAgICAgICAgIHtzb3VyY2U6J3RhcmVhX2FjdHVhbCcsIHRhcmdldDondGFyZWEnfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgYWxpYXM6J2xhdGFyZWEnXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICBdLCAgIFxyXG4gICAgICAgIHNxbDp7XHJcbiAgICAgICAgICAgIGlzVGFibGU6ZmFsc2UsXHJcbiAgICAgICAgICAgIGZyb206YChcclxuICAgICAgICAgICAgICAgIHNlbGVjdCB0LiosIHJlY2VwY2lvbmlzdGEsIGFzaWduYWRvLCBlc3RhZG9cclxuICAgICAgICAgICAgICAgICAgICBmcm9tIHRlbSB0XHJcbiAgICAgICAgICAgICAgICAgICAgaW5uZXIgam9pbiB0YXJlYXNfdGVtIHR0XHJcbiAgICAgICAgICAgICAgICAgICAgb24gKHQub3BlcmF0aXZvPXR0Lm9wZXJhdGl2byBhbmQgIHQuZW5jPXR0LmVuYyAgYW5kIHQudGFyZWFfYWN0dWFsPXR0LnRhcmVhKVxyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyIGJ5IHQuZW5jXHJcbiAgICAgICAgICAgIClgLFxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9O1xyXG59Il19
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dmencu",
3
3
  "description": "DM Encu - Encuestas en dispositivo móvil",
4
- "version": "0.7.30",
4
+ "version": "0.7.31",
5
5
  "author": "Codenautas <codenautas@googlegroups.com>",
6
6
  "license": "MIT",
7
7
  "main": "dist/server/server/app-dmencu.js",