dmencu 3.0.6 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/client/unlogged/abrir-formulario.js +1 -1
  2. package/dist/client/unlogged/css/bootstrap.min.css +6 -6
  3. package/dist/client/unlogged/render-config.js +1 -1
  4. package/dist/client/unlogged/render-formulario.js +9 -5
  5. package/dist/client/unlogged/render-formulario.tsx +46 -43
  6. package/dist/client/unlogged/render-init.js +1 -1
  7. package/dist/client/unlogged/tsconfig.json +14 -14
  8. package/dist/server/server/app-dmencu.d.ts +516 -863
  9. package/dist/server/server/table-area_enc_proximas.js +1 -1
  10. package/dist/server/server/table-barrios.js +1 -1
  11. package/dist/server/server/table-encuestadores.js +7 -7
  12. package/dist/server/server/table-fracciones.js +1 -1
  13. package/dist/server/server/table-hogares.js +1 -1
  14. package/dist/server/server/table-hogares_sup.js +1 -1
  15. package/dist/server/server/table-manzanas.js +1 -1
  16. package/dist/server/server/table-parametros.js +1 -1
  17. package/dist/server/server/table-personal.js +7 -7
  18. package/dist/server/server/table-personal_rol.js +7 -7
  19. package/dist/server/server/table-personas.js +1 -1
  20. package/dist/server/server/table-personas_sup.js +1 -1
  21. package/dist/server/server/table-radios.js +1 -1
  22. package/dist/server/server/table-recepcionistas.js +1 -1
  23. package/dist/server/server/table-visitas.js +1 -1
  24. package/dist/server/server/table-visitas_sup.js +1 -1
  25. package/dist/server/server/table-viviendas.js +1 -1
  26. package/dist/server/server/types-dmencu.js +1 -1
  27. package/dist/unlogged/unlogged/abrir-formulario.js +1 -1
  28. package/dist/unlogged/unlogged/css/bootstrap.min.css +6 -6
  29. package/dist/unlogged/unlogged/render-config.js +1 -1
  30. package/dist/unlogged/unlogged/render-formulario.js +9 -5
  31. package/dist/unlogged/unlogged/render-formulario.tsx +46 -43
  32. package/dist/unlogged/unlogged/render-init.js +1 -1
  33. package/dist/unlogged/unlogged/tsconfig.json +14 -14
  34. package/install/actualizar-2023-05-14.sql +38 -38
  35. package/install/actualizar_inconvar.sql +28 -28
  36. package/install/agregados_tem.sql +4 -4
  37. package/install/asignar_desasignar_tareas_tem_trg.sql +43 -43
  38. package/install/metadatos/permisos.tab +11 -11
  39. package/install/metadatos/roles.tab +10 -10
  40. package/install/metadatos/roles_permisos.tab +94 -94
  41. package/install/metadatos/tipovar.tab +9 -9
  42. package/install/sincro_tareas_areas_tareas_tem_trg.sql +29 -29
  43. package/install/usuarios_trg.sql +41 -41
  44. package/install/validar_tareas_tem_trg.sql +67 -67
  45. package/package.json +91 -91
@@ -581,7 +581,10 @@ function EncabezadoDespliegue(props: {
581
581
  variant="outlined"
582
582
  className="boton-pregunta-nsnc"
583
583
  onClick={() => {
584
- dispatchByPass(accion_registrar_respuesta, { respuesta: ns_nc, variable: casillero.var_name as IdVariable, forPk: forPk })
584
+ var { siguienteVariable } = dispatchByPass(accion_registrar_respuesta, { respuesta: ns_nc, variable: casillero.var_name as IdVariable, forPk: forPk });
585
+ if(siguienteVariable) {
586
+ enfocarElementoDeVariable(casillero.especial?.scrollTo ?? siguienteVariable);
587
+ }
585
588
  }}
586
589
  >
587
590
  NS/NC
@@ -702,7 +705,7 @@ function Campo(props: { disabled: boolean, pregunta: PreguntaSimple | PreguntaCo
702
705
  };
703
706
  const handleSubmit = ({ esBotonConfirmar }: { esBotonConfirmar: boolean }) => {
704
707
  debeSaltar = esBotonConfirmar ? true : (saltoAutomatico || conCampoOpciones);
705
-
708
+
706
709
  var isInputFocused = document.activeElement && (document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA');
707
710
  if (isInputFocused) {
708
711
  if (document.activeElement instanceof HTMLElement) {
@@ -721,9 +724,9 @@ function Campo(props: { disabled: boolean, pregunta: PreguntaSimple | PreguntaCo
721
724
  variable={pregunta.var_name}
722
725
  forPk={props.forPk}
723
726
  />}
724
- <form
725
- className="form-campo-wrapper"
726
- style={{ display: 'contents' }}
727
+ <form
728
+ className="form-campo-wrapper"
729
+ style={{ display: 'contents' }}
727
730
  onSubmit={(e) => {
728
731
  e.preventDefault();
729
732
  handleSubmit({ esBotonConfirmar: false });
@@ -734,7 +737,7 @@ function Campo(props: { disabled: boolean, pregunta: PreguntaSimple | PreguntaCo
734
737
  id={`var-${pregunta.var_name || ''}`}
735
738
  disabled={disabled || pregunta.especial?.gps}
736
739
  className="variable"
737
- //var-length={pregunta.longitud}
740
+ //var-length={pregunta.longitud}
738
741
  fullWidth={true}
739
742
  inputProps={inputProps}
740
743
  type={pregunta.despliegueTipoInput ?? adaptarTipoVarCasillero(pregunta.tipovar)}
@@ -1318,14 +1321,14 @@ function BotonFormularioDespliegue(props: { casillero: BotonFormulario, formular
1318
1321
  var sufijoIdElemento = toPlainForPk(forPk);
1319
1322
  /*
1320
1323
  registrarElemento({
1321
- id:`div-boton-formulario-${sufijoIdElemento}`,
1322
- attr:'esta-inhabilitada',
1324
+ id:`div-boton-formulario-${sufijoIdElemento}`,
1325
+ attr:'esta-inhabilitada',
1323
1326
  // fun: (r:Respuestas)=>habilitador(r)?'SI':'NO'
1324
1327
  fun: (_r:Respuestas)=>'NO'
1325
1328
  });
1326
1329
  registrarElemento<HTMLButtonElement>({
1327
- id:`boton-formulario-${sufijoIdElemento}`,
1328
- prop:'disabled',
1330
+ id:`boton-formulario-${sufijoIdElemento}`,
1331
+ prop:'disabled',
1329
1332
  // fun: (r:Respuestas)=>!habilitador(r)
1330
1333
  fun: (_r:Respuestas)=>false
1331
1334
  });
@@ -1514,29 +1517,29 @@ function BotonFormularioDespliegue(props: { casillero: BotonFormulario, formular
1514
1517
  <Button color="primary" variant="contained" onClick={() => setConfirmarForzarIr(null)}>Entendido</Button>
1515
1518
  </Dialog>
1516
1519
  {confirmacionBorrado && (
1517
- <Dialog open={true} onClose={() => {
1518
- setConfirmacionBorrado(null);
1519
- setFraseBorrado('');
1520
- setErrorFraseBorrado(false);
1520
+ <Dialog open={true} onClose={() => {
1521
+ setConfirmacionBorrado(null);
1522
+ setFraseBorrado('');
1523
+ setErrorFraseBorrado(false);
1521
1524
  }}>
1522
1525
  <DialogTitle>Advertencia: Se perderán datos</DialogTitle>
1523
1526
  <DialogContent>
1524
1527
  <DialogContentText>
1525
1528
  {`Está por borrar el formulario ${confirmacionBorrado.defBoton.forPk.formulario} (${estructura.unidades_analisis[estructura.formularios[confirmacionBorrado.defBoton.forPk.formulario].casilleros.unidad_analisis].pk_agregada}: ${confirmacionBorrado.defBoton.num}). Los datos del mismo y todos sus registros asociados se perderán. ¿Desea continuar?`}
1526
1529
  </DialogContentText>
1527
-
1530
+
1528
1531
  <div style={{ marginTop: '20px', marginBottom: '20px' }}>
1529
1532
  <DialogContentText>
1530
1533
  Para confirmar el borrado, escriba la frase <strong>"forzar borrado"</strong> a continuación:
1531
1534
  </DialogContentText>
1532
- <input
1535
+ <input
1533
1536
  id="input-forzar-borrado"
1534
- type="text"
1535
- value={fraseBorrado}
1537
+ type="text"
1538
+ value={fraseBorrado}
1536
1539
  onChange={e => {
1537
1540
  setFraseBorrado(e.target.value);
1538
1541
  setErrorFraseBorrado(false);
1539
- }}
1542
+ }}
1540
1543
  style={{width: '100%', padding: '8px', border: errorFraseBorrado ? '1px solid red' : '1px solid #ccc', borderRadius: '4px'}}
1541
1544
  placeholder="forzar borrado"
1542
1545
  autoComplete="off"
@@ -1550,20 +1553,20 @@ function BotonFormularioDespliegue(props: { casillero: BotonFormulario, formular
1550
1553
  </div>
1551
1554
  </DialogContent>
1552
1555
  <DialogActions>
1553
- <Button
1554
- color="primary"
1555
- variant="outlined"
1556
- onClick={() => {
1557
- setConfirmacionBorrado(null);
1558
- setFraseBorrado('');
1559
- setErrorFraseBorrado(false);
1556
+ <Button
1557
+ color="primary"
1558
+ variant="outlined"
1559
+ onClick={() => {
1560
+ setConfirmacionBorrado(null);
1561
+ setFraseBorrado('');
1562
+ setErrorFraseBorrado(false);
1560
1563
  }}
1561
1564
  >
1562
1565
  Cancelar
1563
1566
  </Button>
1564
1567
  <Button color="secondary" variant="contained" onClick={() => {
1565
1568
  if (!confirmacionBorrado) return;
1566
-
1569
+
1567
1570
  if (fraseBorrado.trim().toLowerCase() !== "forzar borrado") {
1568
1571
  setErrorFraseBorrado(true);
1569
1572
  setTimeout(() => {
@@ -1712,7 +1715,7 @@ function BloqueDespliegue(props: { bloque: Bloque, formulario: Formulario, forPk
1712
1715
  var { modoDespliegue } = useSelectorVivienda(forPk);
1713
1716
  if (multiple) {
1714
1717
  // TODO: GENERALIZAR
1715
- // @ts-ignore
1718
+ // @ts-ignore
1716
1719
  // lista=respuestas.personas.map((_persona, i)=>(
1717
1720
  // {forPk:{...forPk, persona:i+1}, key:i+1, multiple:true}
1718
1721
  // ))
@@ -2078,7 +2081,7 @@ setDesplegarLineaResumenUAPrincipal((props: {
2078
2081
  feedbackAll: { [formulario in PlainForPk]: FormStructureState<IdVariable, Valor, IdFin> },
2079
2082
  _estructura: Estructura
2080
2083
  ) => {
2081
- //pregunto si es la misma vivienda porque la funcion se dispara
2084
+ //pregunto si es la misma vivienda porque la funcion se dispara
2082
2085
  //con todas las combinaciones de respuestas para cada forPk
2083
2086
  //@ts-ignore vivienda existe
2084
2087
  if (r[estructura.pkAgregadaUaPpal] == forPk[estructura.pkAgregadaUaPpal]) {
@@ -2283,8 +2286,8 @@ export function AppBarPrincipal(props: AppBarPrincipalProps): JSX.Element {
2283
2286
  <Toolbar>
2284
2287
  {props.barraNavFormulario}
2285
2288
  {mostrarBotoneraNavegacion ? (
2286
- <BotoneraNavegacion disabled={props.disabled}/>
2287
- ) : null}
2289
+ <BotoneraNavegacion disabled={props.disabled}/>
2290
+ ) : null}
2288
2291
  {props.modoDM === 'capa' && !props.barraNavFormulario ? (
2289
2292
  <Typography><span style={{ marginLeft: '5px' }}> MODO CAPACITACIÓN</span></Typography>
2290
2293
  ) : null}
@@ -2301,7 +2304,7 @@ export function BotoneraNavegacion(props: { disabled?: boolean }): JSX.Element {
2301
2304
  return (
2302
2305
  <ButtonGroup variant="outlined" size="small" color="inherit">
2303
2306
  <Button
2304
- onClick={() =>
2307
+ onClick={() =>
2305
2308
  dispatch(dispatchers.SET_OPCION({ opcion: 'pantallaActual', valor: 'hdr' }))
2306
2309
  }
2307
2310
  disabled={pantallaActual === 'hdr' || props.disabled}
@@ -2309,7 +2312,7 @@ export function BotoneraNavegacion(props: { disabled?: boolean }): JSX.Element {
2309
2312
  >
2310
2313
  <ICON.Assignment /> Hoja de Ruta
2311
2314
  </Button>
2312
-
2315
+
2313
2316
  <Button
2314
2317
  onClick={() =>
2315
2318
  dispatch(dispatchers.SET_OPCION({ opcion: 'pantallaActual', valor: 'sincronizacion' }))
@@ -2323,11 +2326,11 @@ export function BotoneraNavegacion(props: { disabled?: boolean }): JSX.Element {
2323
2326
  );
2324
2327
  }
2325
2328
 
2326
- export function UsuarioLogueadoYConfig(props: {
2329
+ export function UsuarioLogueadoYConfig(props: {
2327
2330
  mostrarSetup?: boolean,
2328
2331
  mostrarLogout?: boolean,
2329
- onLogout?: () => void,
2330
- navigationMenu?: React.ReactNode
2332
+ onLogout?: () => void,
2333
+ navigationMenu?: React.ReactNode
2331
2334
  }): JSX.Element {
2332
2335
  var username: string | null = getFormRenderer().getUsernameLogueado();
2333
2336
  var idper: string | null = getFormRenderer().getIdperLogueado();
@@ -2362,8 +2365,8 @@ export function UsuarioLogueadoYConfig(props: {
2362
2365
  </Typography>
2363
2366
  {props.mostrarSetup ? (
2364
2367
  <FastSetup>
2365
- <MenuItem
2366
- onClick={() =>
2368
+ <MenuItem
2369
+ onClick={() =>
2367
2370
  dispatch(dispatchers.SET_OPCION({ opcion: 'pantallaActual', valor: 'modo' }))}
2368
2371
  >
2369
2372
  <ListItemIcon>{modoDM === 'capa' ? <ICON.BusinessCenter /> : <ICON.SportsEsports />} </ListItemIcon>
@@ -2375,8 +2378,8 @@ export function UsuarioLogueadoYConfig(props: {
2375
2378
  >
2376
2379
  <ListItemText>Soporte técnico</ListItemText>
2377
2380
  </MenuItem>
2378
- <MenuItem
2379
- onClick={() =>
2381
+ <MenuItem
2382
+ onClick={() =>
2380
2383
  dispatch(dispatchers.RESET_OPCIONES({}))}
2381
2384
  >
2382
2385
  <ListItemIcon><ICON.Refresh/></ListItemIcon>
@@ -2386,7 +2389,7 @@ export function UsuarioLogueadoYConfig(props: {
2386
2389
  onClick={() => {
2387
2390
  history.replaceState(null, '', `${location.origin + location.pathname}/../menu#i=sincronizar`);
2388
2391
  location.reload();
2389
- }}
2392
+ }}
2390
2393
  >
2391
2394
  <ListItemIcon><ICON.SyncAlt /></ListItemIcon>
2392
2395
  <ListItemText>Sincronización (link viejo)</ListItemText>
@@ -2525,7 +2528,7 @@ export function LayoutAccionDispositivo(props: LayoutAccionDispositivoProps): JS
2525
2528
  onClick={props.onAccion}
2526
2529
  >
2527
2530
  {props.textoBotonAccion}
2528
- </Button>
2531
+ </Button>
2529
2532
  </div>
2530
2533
  <div style={{ display: 'flex', gap: '10px', alignItems: 'center', flexWrap: 'wrap' }}>
2531
2534
  {!props.online && (
@@ -2595,7 +2598,7 @@ export function PantallaSincronizacion(props: PantallaSincronizacionProps): JSX.
2595
2598
  loading={loading}
2596
2599
  online={online}
2597
2600
  textoBotonAccion={
2598
- loading ?
2601
+ loading ?
2599
2602
  'Sincronizando...'
2600
2603
  :
2601
2604
  <span style={{ display: 'flex', alignItems: 'center', gap: '8px' }}><ICON.CloudSync /> Sincronizar</span>
@@ -124,4 +124,4 @@
124
124
  return createLocalStorageFormRenderer({});
125
125
  }
126
126
  });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWluaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvcmVuZGVyLWluaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNEhBLHdFQUlDO0lBTUQsNENBRUM7SUF2SUQsbURBQW1FO0lBSW5FLE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUFDO0lBQzdDLE1BQU0sdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUM5QyxNQUFNLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztJQUM5QixRQUFBLGtCQUFrQixHQUFHLGFBQWEsQ0FBQztJQUNuQyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztJQUNqQyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztJQUNqQyxRQUFBLEtBQUssR0FBRyxPQUFPLENBQUM7SUFDaEIsUUFBQSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUVyRCx1RUFBdUU7SUFDdkUsd0VBQXdFO0lBQ3hFLE1BQU0sa0JBQWtCLEdBQUc7UUFDdkIsWUFBWTtZQUNSLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxZQUFZLENBQUMsS0FBVTtZQUNuQixLQUFLLENBQUMsV0FBVyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxvQkFBb0I7WUFDaEIsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELG9CQUFvQixDQUFDLEtBQWE7WUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsa0JBQWtCO1lBQ2QsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQs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LENBQUM7aUJBQU0sQ0FBQztnQkFDSixLQUFLLENBQUMsYUFBYSxDQUFDLDBCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFDRCxLQUFLLENBQUMsYUFBYSxDQUFDLHlCQUFpQixFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDM0QsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUNELFFBQVE7WUFDSixVQUFVLENBQUMsR0FBRSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsWUFBWSxDQUFDLENBQUM7Z0JBQ25GLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUE7WUFDTixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixDQUFDO0tBRUosQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxTQUFnQiw4QkFBOEIsQ0FDMUMsYUFBdUQ7UUFFdkQsT0FBTyxJQUFBLGtDQUFrQixrQ0FBTSxrQkFBa0IsR0FBSyxhQUFhLEVBQUcsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBZ0IsZ0JBQWdCO1FBQzVCLE9BQU8sOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdvdG9Db25zaXN0aXIgfSBmcm9tIFwiLi9yZWR1eC1mb3JtdWxhcmlvXCI7XG5pbXBvcnQgeyBjcmVhdGVGb3JtUmVuZGVyZXIsIEZvcm1SZW5kZXJlciB9IGZyb20gXCIuL3JlbmRlci1jb25maWdcIjtcbmltcG9ydCB7IERhdG9zQnlQYXNzUGVyc2lzdGlibGVzLCBNb2RvRE0sIEVzdHJ1Y3R1cmEsIE1vZG9BbG1hY2VuYW1pZW50byB9IGZyb20gXCIuL3RpcG9zXCI7XG5cblxuY29uc3QgTE9DQUxfU1RPUkFHRV9TVEFURV9OQU1FID0gJ2hkci1zdGF0ZSc7XG5jb25zdCBMQVNUX0FVVE9fVkFMVUVfUEtfUkFJWiA9ICdwcm94aW1vX3ZhbG9yX3BrX3JhaXonO1xuY29uc3QgQVBQX0NBQ0hFX1ZFUlNJT04gPSAnYXBwLWNhY2hlLXZlcnNpb24nO1xuY29uc3QgTU9ET19ETV9MT0NBTFNUT1JBR0VfS0VZID0gJ21vZG9fZG0nO1xuZXhwb3J0IGNvbnN0IEdMT1ZBUl9EQVRPU0JZUEFTUyA9ICdkYXRvc2J5cGFzcyc7XG5leHBvcnQgY29uc3QgR0xPVkFSX01PRE9CWVBBU1MgPSAnbW9kb2J5cGFzcyc7XG5leHBvcnQgY29uc3QgR0xPVkFSX0VTVFJVQ1RVUkEgPSAnZXN0cnVjdHVyYSc7XG5leHBvcnQgY29uc3QgU0VUVVAgPSAnc2V0dXAnO1xuZXhwb3J0IGNvbnN0IExBU1RfTE9HR0VEX1NFVFVQID0gJ2xhc3RfbG9nZ2VkX3NldHVwJztcblxuLy8gQ29uZmlndXJhY2nDs24gZGUgYWxtYWNlbmFtaWVudG8gbG9jYWwgKGxvY2FsU3RvcmFnZS9zZXNzaW9uU3RvcmFnZSkuXG4vLyBFcyBsYSBjb25maWd1cmFjacOzbiByZWNvbWVuZGFkYSBwb3IgZGVmZWN0byBwYXJhIGVsIHJlbmRlcmVyIG9mZmxpbmUuXG5jb25zdCBsb2NhbFN0b3JhZ2VDb25maWcgPSB7XG4gICAgZ2V0Q2Fzb1N0YXRlKCkge1xuICAgICAgICByZXR1cm4gbXlPd24uZ2V0TG9jYWxWYXIoTE9DQUxfU1RPUkFHRV9TVEFURV9OQU1FKTtcbiAgICB9LFxuXG4gICAgc2V0Q2Fzb1N0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoTE9DQUxfU1RPUkFHRV9TVEFURV9OQU1FLCBzdGF0ZSk7XG4gICAgfSxcblxuICAgIGdldFVsdGltb1ZhbG9yUGtSYWl6KCkge1xuICAgICAgICByZXR1cm4gbXlPd24uZ2V0TG9jYWxWYXIoTEFTVF9BVVRPX1ZBTFVFX1BLX1JBSVopO1xuICAgIH0sXG5cbiAgICBzZXRVbHRpbW9WYWxvclBrUmFpeih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIG15T3duLnNldExvY2FsVmFyKExBU1RfQVVUT19WQUxVRV9QS19SQUlaLCB2YWx1ZSk7XG4gICAgfSxcblxuICAgIGdldEFwcENhY2hlVmVyc2lvbigpIHtcbiAgICAgICAgcmV0dXJuIG15T3duLmdldExvY2FsVmFyKEFQUF9DQUNIRV9WRVJTSU9OKTtcbiAgICB9LFxuXG4gICAgc2V0QXBwQ2FjaGVWZXJzaW9uKHZlcnNpb246IHN0cmluZykge1xuICAgICAgICBteU93bi5zZXRMb2NhbFZhcihBUFBfQ0FDSEVfVkVSU0lPTiwgdmVyc2lvbik7XG4gICAgfSxcbiAgICBcbiAgICBnZXRNb2RvRE0oKSB7XG4gICAgICAgIHJldHVybiBteU93bi5nZXRMb2NhbFZhcihNT0RPX0RNX0xPQ0FMU1RPUkFHRV9LRVkpO1xuICAgIH0sXG4gICAgXG4gICAgc2V0TW9kb0RNKG1vZG86IE1vZG9ETSkge1xuICAgICAgICBteU93bi5zZXRMb2NhbFZhcihNT0RPX0RNX0xPQ0FMU1RPUkFHRV9LRVksIG1vZG8pO1xuICAgIH0sXG5cbiAgICBnZXRJZHBlckxvZ3VlYWRvKCkge1xuICAgICAgICBjb25zdCBzZXR1cCA9IG15T3duLmdldExvY2FsVmFyKFNFVFVQKSB8fCB7fTtcbiAgICAgICAgY29uc3QgYmFja3VwID0gbXlPd24uZ2V0TG9jYWxWYXIoTEFTVF9MT0dHRURfU0VUVVApIHx8IHt9O1xuXG4gICAgICAgIGlmIChzZXR1cC5pZHBlcikge1xuICAgICAgICAgICAgLy8gU2kgZWwgc2V0dXAgZXN0w6Egc2Fubywgbm9zIGFzZWd1cmFtb3MgZGUgcXVlIGVsIGJhY2t1cCBlc3TDqSBhY3R1YWxpemFkb1xuICAgICAgICAgICAgaWYgKGJhY2t1cC5pZHBlciAhPT0gc2V0dXAuaWRwZXIpIHtcbiAgICAgICAgICAgICAgICBteU93bi5zZXRMb2NhbFZhcihMQVNUX0xPR0dFRF9TRVRVUCwgeyAuLi5iYWNrdXAsIGlkcGVyOiBzZXR1cC5pZHBlciB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzZXR1cC5pZHBlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNpIHBlcmRpbW9zIGxhIGNvb2tpZSB5IGVsIHNldHVwIHZpbm8gdmFjw61vLCB1c2Ftb3MgZWwgYmFja3VwXG4gICAgICAgIHJldHVybiBiYWNrdXAuaWRwZXIgfHwgbnVsbDtcbiAgICB9LFxuXG4gICAgZ2V0VXNlcm5hbWVMb2d1ZWFkbygpIHtcbiAgICAgICAgY29uc3Qgc2V0dXAgPSBteU93bi5nZXRMb2NhbFZhcihTRVRVUCkgfHwge307XG4gICAgICAgIGNvbnN0IGJhY2t1cCA9IG15T3duLmdldExvY2FsVmFyKExBU1RfTE9HR0VEX1NFVFVQKSB8fCB7fTtcblxuICAgICAgICBpZiAoc2V0dXAudXNlcm5hbWUpIHtcbiAgICAgICAgICAgIGlmIChiYWNrdXAudXNlcm5hbWUgIT09IHNldHVwLnVzZXJuYW1lKSB7XG4gICAgICAgICAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoTEFTVF9MT0dHRURfU0VUVVAsIHsgLi4uYmFja3VwLCB1c2VybmFtZTogc2V0dXAudXNlcm5hbWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc2V0dXAudXNlcm5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYmFja3VwLnVzZXJuYW1lIHx8IG51bGw7XG4gICAgfSxcblxuICAgIGxlZXJFc3RydWN0dXJhKCk6IFByb21pc2U8RXN0cnVjdHVyYSB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShteU93bi5nZXRMb2NhbFZhcihHTE9WQVJfRVNUUlVDVFVSQSkpO1xuICAgIH0sXG4gICAgXG4gICAgcGVyc2lzdGlyRXN0cnVjdHVyYShlc3RydWN0dXJhOiBFc3RydWN0dXJhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIG15T3duLnNldExvY2FsVmFyKEdMT1ZBUl9FU1RSVUNUVVJBLCBlc3RydWN0dXJhKTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH0sXG5cbiAgICBsZWVyRGF0b3MoKTogUHJvbWlzZTxEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcyB8IG51bGw+IHtcbiAgICAgICAgdmFyIG1vZG9BbG1hY2VuYW1pZW50byA9IG15T3duLmdldFNlc3Npb25WYXIoR0xPVkFSX01PRE9CWVBBU1MpIGFzIE1vZG9BbG1hY2VuYW1pZW50bztcbiAgICAgICAgXG4gICAgICAgIGlmIChtb2RvQWxtYWNlbmFtaWVudG8gPT0gJ2xvY2FsJykge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShteU93bi5nZXRMb2NhbFZhcihHTE9WQVJfREFUT1NCWVBBU1MpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobXlPd24uZ2V0U2Vzc2lvblZhcihHTE9WQVJfREFUT1NCWVBBU1MpKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBwZXJzaXN0aXJEYXRvcyhkYXRvczogRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdmFyIHsgbW9kb0FsbWFjZW5hbWllbnRvIH0gPSBkYXRvcztcbiAgICAgICAgaWYgKG1vZG9BbG1hY2VuYW1pZW50byA9PSAnbG9jYWwnKSB7XG4gICAgICAgICAgICBteU93bi5zZXRMb2NhbFZhcihHTE9WQVJfREFUT1NCWVBBU1MsIGRhdG9zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG15T3duLnNldFNlc3Npb25WYXIoR0xPVkFSX0RBVE9TQllQQVNTLCBkYXRvcyk7XG4gICAgICAgIH1cbiAgICAgICAgbXlPd24uc2V0U2Vzc2lvblZhcihHTE9WQVJfTU9ET0JZUEFTUywgbW9kb0FsbWFjZW5hbWllbnRvKTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH0sXG4gICAgb25Mb2dvdXQoKTogUHJvbWlzZTx2b2lkPntcbiAgICAgICAgc2V0VGltZW91dCgoKT0+e1xuICAgICAgICAgICAgaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwgJycsIGAke2xvY2F0aW9uLm9yaWdpbiArIGxvY2F0aW9uLnBhdGhuYW1lfS8uLi9sb2dvdXRgKTtcbiAgICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICB9LDEwMClcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgICBcbn07XG5cbi8qKlxuICogQ3JlYSB1biBGb3JtUmVuZGVyZXIgY29uIGFsbWFjZW5hbWllbnRvIGVuIGxvY2FsU3RvcmFnZS9zZXNzaW9uU3RvcmFnZS5cbiAqIEVzIGxhIGNvbmZpZ3VyYWNpw7NuIHJlY29tZW5kYWRhIHBvciBkZWZlY3RvIHBhcmEgZWwgbW9kbyBvZmZsaW5lLlxuICogU2UgcHVlZGUgc29icmVlc2NyaWJpciBjdWFscXVpZXIgbcOpdG9kbyBtZWRpYW50ZSBwYXJ0aWFsQ29uZmlnLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9jYWxTdG9yYWdlRm9ybVJlbmRlcmVyKFxuICAgIHBhcnRpYWxDb25maWc6IFBhcmFtZXRlcnM8dHlwZW9mIGNyZWF0ZUZvcm1SZW5kZXJlcj5bMF1cbik6IEZvcm1SZW5kZXJlciB7XG4gICAgcmV0dXJuIGNyZWF0ZUZvcm1SZW5kZXJlcih7IC4uLmxvY2FsU3RvcmFnZUNvbmZpZywgLi4ucGFydGlhbENvbmZpZyB9KTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2FyIGNyZWF0ZUxvY2FsU3RvcmFnZUZvcm1SZW5kZXJlciBlbiBzdSBsdWdhci5cbiAqIFNlIG1hbnRpZW5lIHBvciBjb21wYXRpYmlsaWRhZCBtaWVudHJhcyBzZSBtaWdyYW4gbG9zIGNvbnN1bWlkb3Jlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRGb3JtUmVuZGVyZXIoKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUxvY2FsU3RvcmFnZUZvcm1SZW5kZXJlcih7fSk7XG59Il19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWluaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdW5sb2dnZWQvcmVuZGVyLWluaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNEhBLHdFQUlDO0lBTUQsNENBRUM7SUF2SUQsbURBQW1FO0lBSW5FLE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUFDO0lBQzdDLE1BQU0sdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7SUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUM5QyxNQUFNLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztJQUM5QixRQUFBLGtCQUFrQixHQUFHLGFBQWEsQ0FBQztJQUNuQyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztJQUNqQyxRQUFBLGlCQUFpQixHQUFHLFlBQVksQ0FBQztJQUNqQyxRQUFBLEtBQUssR0FBRyxPQUFPLENBQUM7SUFDaEIsUUFBQSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztJQUVyRCx1RUFBdUU7SUFDdkUsd0VBQXdFO0lBQ3hFLE1BQU0sa0JBQWtCLEdBQUc7UUFDdkIsWUFBWTtZQUNSLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxZQUFZLENBQUMsS0FBVTtZQUNuQixLQUFLLENBQUMsV0FBVyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxvQkFBb0I7WUFDaEIsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVELG9CQUFvQixDQUFDLEtBQWE7WUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsa0JBQWtCO1lBQ2QsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEQs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LENBQUM7aUJBQU0sQ0FBQztnQkFDSixLQUFLLENBQUMsYUFBYSxDQUFDLDBCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFDRCxLQUFLLENBQUMsYUFBYSxDQUFDLHlCQUFpQixFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDM0QsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQztRQUNELFFBQVE7WUFDSixVQUFVLENBQUMsR0FBRSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsWUFBWSxDQUFDLENBQUM7Z0JBQ25GLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUE7WUFDTixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixDQUFDO0tBRUosQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxTQUFnQiw4QkFBOEIsQ0FDMUMsYUFBdUQ7UUFFdkQsT0FBTyxJQUFBLGtDQUFrQixrQ0FBTSxrQkFBa0IsR0FBSyxhQUFhLEVBQUcsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBZ0IsZ0JBQWdCO1FBQzVCLE9BQU8sOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdvdG9Db25zaXN0aXIgfSBmcm9tIFwiLi9yZWR1eC1mb3JtdWxhcmlvXCI7XHJcbmltcG9ydCB7IGNyZWF0ZUZvcm1SZW5kZXJlciwgRm9ybVJlbmRlcmVyIH0gZnJvbSBcIi4vcmVuZGVyLWNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBEYXRvc0J5UGFzc1BlcnNpc3RpYmxlcywgTW9kb0RNLCBFc3RydWN0dXJhLCBNb2RvQWxtYWNlbmFtaWVudG8gfSBmcm9tIFwiLi90aXBvc1wiO1xyXG5cclxuXHJcbmNvbnN0IExPQ0FMX1NUT1JBR0VfU1RBVEVfTkFNRSA9ICdoZHItc3RhdGUnO1xyXG5jb25zdCBMQVNUX0FVVE9fVkFMVUVfUEtfUkFJWiA9ICdwcm94aW1vX3ZhbG9yX3BrX3JhaXonO1xyXG5jb25zdCBBUFBfQ0FDSEVfVkVSU0lPTiA9ICdhcHAtY2FjaGUtdmVyc2lvbic7XHJcbmNvbnN0IE1PRE9fRE1fTE9DQUxTVE9SQUdFX0tFWSA9ICdtb2RvX2RtJztcclxuZXhwb3J0IGNvbnN0IEdMT1ZBUl9EQVRPU0JZUEFTUyA9ICdkYXRvc2J5cGFzcyc7XHJcbmV4cG9ydCBjb25zdCBHTE9WQVJfTU9ET0JZUEFTUyA9ICdtb2RvYnlwYXNzJztcclxuZXhwb3J0IGNvbnN0IEdMT1ZBUl9FU1RSVUNUVVJBID0gJ2VzdHJ1Y3R1cmEnO1xyXG5leHBvcnQgY29uc3QgU0VUVVAgPSAnc2V0dXAnO1xyXG5leHBvcnQgY29uc3QgTEFTVF9MT0dHRURfU0VUVVAgPSAnbGFzdF9sb2dnZWRfc2V0dXAnO1xyXG5cclxuLy8gQ29uZmlndXJhY2nDs24gZGUgYWxtYWNlbmFtaWVudG8gbG9jYWwgKGxvY2FsU3RvcmFnZS9zZXNzaW9uU3RvcmFnZSkuXHJcbi8vIEVzIGxhIGNvbmZpZ3VyYWNpw7NuIHJlY29tZW5kYWRhIHBvciBkZWZlY3RvIHBhcmEgZWwgcmVuZGVyZXIgb2ZmbGluZS5cclxuY29uc3QgbG9jYWxTdG9yYWdlQ29uZmlnID0ge1xyXG4gICAgZ2V0Q2Fzb1N0YXRlKCkge1xyXG4gICAgICAgIHJldHVybiBteU93bi5nZXRMb2NhbFZhcihMT0NBTF9TVE9SQUdFX1NUQVRFX05BTUUpO1xyXG4gICAgfSxcclxuXHJcbiAgICBzZXRDYXNvU3RhdGUoc3RhdGU6IGFueSkge1xyXG4gICAgICAgIG15T3duLnNldExvY2FsVmFyKExPQ0FMX1NUT1JBR0VfU1RBVEVfTkFNRSwgc3RhdGUpO1xyXG4gICAgfSxcclxuXHJcbiAgICBnZXRVbHRpbW9WYWxvclBrUmFpeigpIHtcclxuICAgICAgICByZXR1cm4gbXlPd24uZ2V0TG9jYWxWYXIoTEFTVF9BVVRPX1ZBTFVFX1BLX1JBSVopO1xyXG4gICAgfSxcclxuXHJcbiAgICBzZXRVbHRpbW9WYWxvclBrUmFpeih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoTEFTVF9BVVRPX1ZBTFVFX1BLX1JBSVosIHZhbHVlKTtcclxuICAgIH0sXHJcblxyXG4gICAgZ2V0QXBwQ2FjaGVWZXJzaW9uKCkge1xyXG4gICAgICAgIHJldHVybiBteU93bi5nZXRMb2NhbFZhcihBUFBfQ0FDSEVfVkVSU0lPTik7XHJcbiAgICB9LFxyXG5cclxuICAgIHNldEFwcENhY2hlVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcpIHtcclxuICAgICAgICBteU93bi5zZXRMb2NhbFZhcihBUFBfQ0FDSEVfVkVSU0lPTiwgdmVyc2lvbik7XHJcbiAgICB9LFxyXG4gICAgXHJcbiAgICBnZXRNb2RvRE0oKSB7XHJcbiAgICAgICAgcmV0dXJuIG15T3duLmdldExvY2FsVmFyKE1PRE9fRE1fTE9DQUxTVE9SQUdFX0tFWSk7XHJcbiAgICB9LFxyXG4gICAgXHJcbiAgICBzZXRNb2RvRE0obW9kbzogTW9kb0RNKSB7XHJcbiAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoTU9ET19ETV9MT0NBTFNUT1JBR0VfS0VZLCBtb2RvKTtcclxuICAgIH0sXHJcblxyXG4gICAgZ2V0SWRwZXJMb2d1ZWFkbygpIHtcclxuICAgICAgICBjb25zdCBzZXR1cCA9IG15T3duLmdldExvY2FsVmFyKFNFVFVQKSB8fCB7fTtcclxuICAgICAgICBjb25zdCBiYWNrdXAgPSBteU93bi5nZXRMb2NhbFZhcihMQVNUX0xPR0dFRF9TRVRVUCkgfHwge307XHJcblxyXG4gICAgICAgIGlmIChzZXR1cC5pZHBlcikge1xyXG4gICAgICAgICAgICAvLyBTaSBlbCBzZXR1cCBlc3TDoSBzYW5vLCBub3MgYXNlZ3VyYW1vcyBkZSBxdWUgZWwgYmFja3VwIGVzdMOpIGFjdHVhbGl6YWRvXHJcbiAgICAgICAgICAgIGlmIChiYWNrdXAuaWRwZXIgIT09IHNldHVwLmlkcGVyKSB7XHJcbiAgICAgICAgICAgICAgICBteU93bi5zZXRMb2NhbFZhcihMQVNUX0xPR0dFRF9TRVRVUCwgeyAuLi5iYWNrdXAsIGlkcGVyOiBzZXR1cC5pZHBlciB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gc2V0dXAuaWRwZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBTaSBwZXJkaW1vcyBsYSBjb29raWUgeSBlbCBzZXR1cCB2aW5vIHZhY8OtbywgdXNhbW9zIGVsIGJhY2t1cFxyXG4gICAgICAgIHJldHVybiBiYWNrdXAuaWRwZXIgfHwgbnVsbDtcclxuICAgIH0sXHJcblxyXG4gICAgZ2V0VXNlcm5hbWVMb2d1ZWFkbygpIHtcclxuICAgICAgICBjb25zdCBzZXR1cCA9IG15T3duLmdldExvY2FsVmFyKFNFVFVQKSB8fCB7fTtcclxuICAgICAgICBjb25zdCBiYWNrdXAgPSBteU93bi5nZXRMb2NhbFZhcihMQVNUX0xPR0dFRF9TRVRVUCkgfHwge307XHJcblxyXG4gICAgICAgIGlmIChzZXR1cC51c2VybmFtZSkge1xyXG4gICAgICAgICAgICBpZiAoYmFja3VwLnVzZXJuYW1lICE9PSBzZXR1cC51c2VybmFtZSkge1xyXG4gICAgICAgICAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoTEFTVF9MT0dHRURfU0VUVVAsIHsgLi4uYmFja3VwLCB1c2VybmFtZTogc2V0dXAudXNlcm5hbWUgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHNldHVwLnVzZXJuYW1lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGJhY2t1cC51c2VybmFtZSB8fCBudWxsO1xyXG4gICAgfSxcclxuXHJcbiAgICBsZWVyRXN0cnVjdHVyYSgpOiBQcm9taXNlPEVzdHJ1Y3R1cmEgfCBudWxsPiB7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShteU93bi5nZXRMb2NhbFZhcihHTE9WQVJfRVNUUlVDVFVSQSkpO1xyXG4gICAgfSxcclxuICAgIFxyXG4gICAgcGVyc2lzdGlyRXN0cnVjdHVyYShlc3RydWN0dXJhOiBFc3RydWN0dXJhKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgbXlPd24uc2V0TG9jYWxWYXIoR0xPVkFSX0VTVFJVQ1RVUkEsIGVzdHJ1Y3R1cmEpO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgIH0sXHJcblxyXG4gICAgbGVlckRhdG9zKCk6IFByb21pc2U8RGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMgfCBudWxsPiB7XHJcbiAgICAgICAgdmFyIG1vZG9BbG1hY2VuYW1pZW50byA9IG15T3duLmdldFNlc3Npb25WYXIoR0xPVkFSX01PRE9CWVBBU1MpIGFzIE1vZG9BbG1hY2VuYW1pZW50bztcclxuICAgICAgICBcclxuICAgICAgICBpZiAobW9kb0FsbWFjZW5hbWllbnRvID09ICdsb2NhbCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShteU93bi5nZXRMb2NhbFZhcihHTE9WQVJfREFUT1NCWVBBU1MpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG15T3duLmdldFNlc3Npb25WYXIoR0xPVkFSX0RBVE9TQllQQVNTKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBwZXJzaXN0aXJEYXRvcyhkYXRvczogRGF0b3NCeVBhc3NQZXJzaXN0aWJsZXMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB2YXIgeyBtb2RvQWxtYWNlbmFtaWVudG8gfSA9IGRhdG9zO1xyXG4gICAgICAgIGlmIChtb2RvQWxtYWNlbmFtaWVudG8gPT0gJ2xvY2FsJykge1xyXG4gICAgICAgICAgICBteU93bi5zZXRMb2NhbFZhcihHTE9WQVJfREFUT1NCWVBBU1MsIGRhdG9zKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBteU93bi5zZXRTZXNzaW9uVmFyKEdMT1ZBUl9EQVRPU0JZUEFTUywgZGF0b3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBteU93bi5zZXRTZXNzaW9uVmFyKEdMT1ZBUl9NT0RPQllQQVNTLCBtb2RvQWxtYWNlbmFtaWVudG8pO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgIH0sXHJcbiAgICBvbkxvZ291dCgpOiBQcm9taXNlPHZvaWQ+e1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCk9PntcclxuICAgICAgICAgICAgaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCwgJycsIGAke2xvY2F0aW9uLm9yaWdpbiArIGxvY2F0aW9uLnBhdGhuYW1lfS8uLi9sb2dvdXRgKTtcclxuICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgfSwxMDApXHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbn07XHJcblxyXG4vKipcclxuICogQ3JlYSB1biBGb3JtUmVuZGVyZXIgY29uIGFsbWFjZW5hbWllbnRvIGVuIGxvY2FsU3RvcmFnZS9zZXNzaW9uU3RvcmFnZS5cclxuICogRXMgbGEgY29uZmlndXJhY2nDs24gcmVjb21lbmRhZGEgcG9yIGRlZmVjdG8gcGFyYSBlbCBtb2RvIG9mZmxpbmUuXHJcbiAqIFNlIHB1ZWRlIHNvYnJlZXNjcmliaXIgY3VhbHF1aWVyIG3DqXRvZG8gbWVkaWFudGUgcGFydGlhbENvbmZpZy5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMb2NhbFN0b3JhZ2VGb3JtUmVuZGVyZXIoXHJcbiAgICBwYXJ0aWFsQ29uZmlnOiBQYXJhbWV0ZXJzPHR5cGVvZiBjcmVhdGVGb3JtUmVuZGVyZXI+WzBdXHJcbik6IEZvcm1SZW5kZXJlciB7XHJcbiAgICByZXR1cm4gY3JlYXRlRm9ybVJlbmRlcmVyKHsgLi4ubG9jYWxTdG9yYWdlQ29uZmlnLCAuLi5wYXJ0aWFsQ29uZmlnIH0pO1xyXG59XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgVXNhciBjcmVhdGVMb2NhbFN0b3JhZ2VGb3JtUmVuZGVyZXIgZW4gc3UgbHVnYXIuXHJcbiAqIFNlIG1hbnRpZW5lIHBvciBjb21wYXRpYmlsaWRhZCBtaWVudHJhcyBzZSBtaWdyYW4gbG9zIGNvbnN1bWlkb3Jlcy5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBpbml0Rm9ybVJlbmRlcmVyKCkge1xyXG4gICAgcmV0dXJuIGNyZWF0ZUxvY2FsU3RvcmFnZUZvcm1SZW5kZXJlcih7fSk7XHJcbn0iXX0=
@@ -1,15 +1,15 @@
1
- {
2
- "compilerOptions": {
3
- "outDir": "../../dist/unlogged/unlogged",
4
- "moduleResolution": "node",
5
- "inlineSourceMap": true,
6
- "inlineSources": true,
7
- "typeRoots" : ["node_modules/@types", "../../node_modules/types.d.ts/modules"],
8
- "lib": ["dom","es2016"],
9
- "jsx": "react"
10
- },
11
- "include":[
12
- "."
13
- ],
14
- "extends": "../../tsconfig-common.json"
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "../../dist/unlogged/unlogged",
4
+ "moduleResolution": "node",
5
+ "inlineSourceMap": true,
6
+ "inlineSources": true,
7
+ "typeRoots" : ["node_modules/@types", "../../node_modules/types.d.ts/modules"],
8
+ "lib": ["dom","es2016"],
9
+ "jsx": "react"
10
+ },
11
+ "include":[
12
+ "."
13
+ ],
14
+ "extends": "../../tsconfig-common.json"
15
15
  }