diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000..c1dd12f Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..b7cb93e --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/README.md b/README.md index adb0deb..1d305ba 100644 --- a/README.md +++ b/README.md @@ -1,154 +1,85 @@ -# Desafío 3: Complemento valores UF +# DESAFIO 3 -El desafío consiste en lo siguiente: - - Existe la siguiente librería en el directorio "lib\Generador_Datos_Desafio_Tres-1.0.0.jar" que se encuentra en este proyecto. Este debe ser integrado en la solución. - - Este jar contiene 2 class que debe ser utilizadas para resolver el desafío - - La clase com.previred.desafio.tres.uf.Valores con el método getRango, este retorna una estructura con un rango de fechas y un listado de valores de UF - - El método getRango retorna el objeto UFs, este contiene fecha de inicio, fecha de fin del rango, ademas contiene un set de UF que tiene como atributos de: valor de UF y la fecha de la UF - - La lista de UF están dentro del rango de fechas (inicio y fin) - - La cantidad de valores para uf son máximo 100 - - El listado entregado con los valores UF no son secuenciales (contiene laguna de valores) y no se encuentra ordenado - - La clase com.previred.desafio.tres.uf.DatosUf este es un singleton que contiene 2 métodos - - El método getUf retorna el valor UF para una fecha - - El método getUfs retorna una lista de valores de UF para un rango dado +La siguiente app permite consumir una libreria de previred, obtener las uf +## Descripcion de la implementación: -1. Consumir la función getRango de la clase com.previred.desafio.tres.uf.Valores -2. Escribir un algoritmo para complementar los valores de UF para las fechas faltantes en la lista contenidas en la clase Ufs que retorna getRango -3. Para complementar los valores de UF se pueden utilizar los métodos getUf y getUfs de la clase com.previred.desafio.tres.uf.DatosUf. -4. La lista de salida debe esta ordenada de forma descendente. -5. Para la implementación debe elegir uno de los siguientes formatos de salida. +Se realiza en base al requerimiento un aplicativo que permite consumir la libreria jar de previred, en el cual por medio de el metodo getRange(), se obtienen valores de uf y la fecha a la que pertenece, estos valores vienen desordenados y no secuenciales hay lagunas muchas veces entre ellos, en base al requerimiento entregado se entiende que en base al rango entregado hay que completar la secuencia hasta obtener todos los valores comprendidos en ese rango, lo que se hace es por medio del metodo getUfs, se obtienen todos los valores, luego se valida que los encontrados previamente existan en la lista obtenida por rango luego se ordena de manera descendente y finalmente se exporta a un archivo con nombre valores.json que se encuentra en la carpeta files, la libreria esta en la carpeta lib y el detalle de la jerarquia y estructura de carpetas se detalla a continuacion, se agrega logger para ver el trace del aplicativo. se documenta el codigo, se agregan pruebas unitarias y se realiza un scan con sonarlint para asegurar la calidad de codigo. -### Formato 1 - -Crear un archivo CSV con todos los datos calculados, las columnas deben contemplar el siguiente formato: - - La primera columna representa el tipo, tipo 1 cabecera y tipo 2 es detalle de las UFs - - Para las filas de tipo 1 el formato es fecha de inicio y fecha de fin - - Para las filas de tipo 2 el formato es fecha uf y valor uf +## Tecnologia utilizada: + - Springboot + - Java 1.8 + - Libreria Gson version 2.9.0 (para la gestion de json) + - Libreria commons-collections y commons-beansutils ( para el ordenamiento) + - Libreria lof4j-springboot (para todo el registro, seguimiento) + - Libreria springboot configuration-processor para los configurationProperties. + - Libreria mockito y powermock-module (este incorpora alguno assert parael control de excepciones) + - Maven para la gestion de repositorio. + - Libreria jar proporcionada por previred para el desafio(Generador_Datos_Desafio_Tres-1.0.0.jar) - *Ejemplo* +## Pruebas unitarias y calidad de codigo: + - Se realizan pruebas unitarias, y ejecucion de analisis para verificar cobertura, se cumple con los standares minimos de un 90% de cobertura del proyecto, se adjunta evidencia en carpeta /evidencia con el detalle de cobrtura. + - Se realiza analisis con Plugin SonarLint, para reducir deuda tecnica. y cumplir con los standares minimos. + +## Comenzando 🚀 +La jerarquía de carpetas del proyecto es de la siguiente manera. ``` -1; 2014-04-01; 2015-03-05 -2; 2014-01-04; 23.321,57 -2; 2014-01-05; 23.324,58 -2; 2014-01-06; 23.327,58 -2; 2014-01-07; 23.330,58 -2; 2014-01-08; 23.333,59 -2; 2014-01-09; 23.336,59 - : -2; 2014-04-01; 23.610,77 +src/main/java + cl.zco.desafio3 -> lanzador, configuraciones, proveedor de contexto + cl.zco.desafio3.dto -> los dto que se utilizaran para la generacion con la estructura deseada + cl.zco.desafio3.negocio -> Definicion logica del requerimiento + cl.zco.desafio3.util-> las utilidades que se crearon para que el codigo estuviera limpio y fuera mantenible +src/test/java + cl.zco.desafio3 -> prueba unitaria lanzador + cl.zco.desafio3.negocio -> pruebas unitarias negocio + cl.zco.desafio3.util -> pruebas unitarias de las utilidades +lib/ + Generador_Datos_Desafio_Tres-1.0.0.jar +doc/ + javadoc > index.html +resumen/cobertura + index.html > aqui esta el detalle y resultado de junit + coverage +files/ + valores.json (archivo con la salida en json) +evidencia/ + imagen1 -> evidencia de cobertura junit + imagen2, imagen3 y imagen4 -> ejecucion desde IDE + imagen5, imagen6 y imagen7 -> ejecucion desde CMD + mvn_install.log -> log de maven install build success + valores.json -> archivo generado +jar/ + desafio3-0.0.1-SNAPSHOT.jar ->ultimo jar compilado con todas las librerias ``` -### Formato 2 -Crear un archivo XML que contenga el siguiente formato: - - Debe contener un tag general llamado valores - - Dentro de tag valores se deben crear los tag inicio, fin y UFs - - El tag inicio debe contener la fecha de inicio recibida - - El tag fin debe contener la fecha de fin recibida - - El tag UFs debe contener un lista de tag UF con el siguiente formato - - El tag UF debe contener el tag fecha con la fecha inicial y el tag dato con el valor de la UF +## Pre-requisitos. 📋 -*Ejemplo* +Java 1.8 +Maven configurado -```xml - - - 2014-04-01 - 2015-03-05 - - - 2014-01-04 - 23.321,57 - - - 2014-01-05 - 23.324,58 - - - 2014-01-06 - 23.327,58 - - - 2014-01-07 - 23.330,58 - - - 2014-01-08 - 23.333,59 - - - 2014-01-09 - 23.336,59 - +## Configuraciones para arrancar: 📦 +En el problema si indicaba que solo mostraba 100 valores de UF, como la salida es mas extensa se crea una propiedad en el fichero desafio3.properties donde se puede colocar la cantidad maxima de UF de la lista en el json de salida, si se quiere cambiar simplemente se debe modificar el property, si se deja en valor 0 (cero) se mostrará todos los valores de UF dentro del rango. - : - - - 2014-04-01 - 23.610,77 - - - -``` +Los datos entregados para desplegar la aplicación son: -### Formato 3 -Crear un archivo JSON que contenga el siguiente formato: - - Debe contener la fecha de inicio “inicio” - - Debe contener la fecha de fin “fin” - - La lista de valores de “UFs” con los valores de fecha de uf “fecha” y valor de la uf “dato” +### Arrancar directamente desde el jar: +1. Ir a la consola (CMD) +2. Ir a la ruta donde esta el jar +3. Escribir esta sentencia-> java -jar desafio3-0.0.1-SNAPSHOT.jar +4. Aparecerá mensaje dando la bienvenida, indicando que es necesario tener una carpeta en C:\files\ porque en esa ubicacion se guardara el archivo 'valores.json' +5. Al terminar mostrará un mensaje indicando que el proceso a finalizado. -*Ejemplo* +### Arranchar desde el ambiente de desarrollo (eclipse > SpringToolSuite4) +1. Sincronizar repositorio +2. Realizar un maven install +3. Ir a la clase 'Desafio3Application.java' boton derecho > Run As > Spring Boot App +4. Aparecerá mensaje dando la bienvenida, indicando que se creará el archivo json en la carpeta /files dentro del workspacecon el nombre solicitado 'valores.json' +5. Al terminar mostrará un mensaje indicando que el proceso a finalizado. -```json -{ - "inicio":"2014-04-01", - "fin":"2015-03-05", - "UFs":[ - { - "fecha":"2014-01-04", - "dato":"23.321,57" - }, - { - "fecha":"2014-01-05", - "dato":"23.324,58" - }, - { - "fecha":"2014-01-06", - "dato":"23.327,58" - }, - { - "fecha":"2014-01-07", - "dato":"23.330,58" - }, - { - "fecha":"2014-01-08", - "dato":"23.333,59" - }, - { - "fecha":"2014-01-09", - "dato":"23.336,59" - }, +## Autor ✒️ +**Patricio Angel Astorga Toledo** - *Ingeniería informática* - [mail] pastorgatoledo@gmail.com - : +--- - { - "fecha":"2014-04-01", - "dato":"23.610,77" - } - ] -} -``` - - - Se deben implementar las soluciones en Java (con maven, gradle u otro). - - La solución debe ser enviada vía un pull request a este repositorio. - - La solución debe contener un README.md con: - - Descripción de la implementación - - Tecnología y librerías utilizadas - - Detalles de compilación y ejecución - - El archivo de salida debe tener como nombre “valores” con su respectiva extensión y debe ser entregado junto con la solución - - Por ultimo en el detalle del commit debes indicar los siguientes datos: - - Nombre Completo. - - Correo Electrónico. - - Vía por la que te entérate del desafío. Estas pueden ser: Empresa de outsourcing (indicar cuál), twitter, LinkedIn, etc. - -`NOTA`: Todos los pull requests serán rechazados, esto no quiere decir que ha sido rechazada la solución. +Patricio Angel Astorga Toledo +pastorgatoledo@gmail.com +me enteré del desafio luego de hablar con Maria Paz Coloma diff --git a/doc/allclasses-index.html b/doc/allclasses-index.html new file mode 100644 index 0000000..bac47de --- /dev/null +++ b/doc/allclasses-index.html @@ -0,0 +1,102 @@ + + + + +All Classes and Interfaces + + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
Classes
+
+
Class
+
Description
+ +
+
Clase de configuracion, en esta tendremos las configuraciones de un archivo + propierties y que tengan el prefijo 'desafio3'.
+
+ +
+
Clase que contiene las constantes.
+
+ +
+
The Class ConsumirJarPrevired.
+
+ +
+
The Class Desafio3Application.
+
+ +
+
Clase FormatoJsonDTO.
+
+ +
+
Clase FormatoUfJsonDTO.
+
+ +
+
Clase que manejará los archivos.
+
+ +
+
Clase con el proveedor del contexto.
+
+ +
+
Clase que contiene las utilidades del aplicativo.
+
+
+
+
+
+
+ + diff --git a/doc/allpackages-index.html b/doc/allpackages-index.html new file mode 100644 index 0000000..f2a049b --- /dev/null +++ b/doc/allpackages-index.html @@ -0,0 +1,71 @@ + + + + +All Packages + + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/Configuracion.html b/doc/cl/zco/desafio3/Configuracion.html new file mode 100644 index 0000000..c5e094f --- /dev/null +++ b/doc/cl/zco/desafio3/Configuracion.html @@ -0,0 +1,225 @@ + + + + +Configuracion + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Configuracion

+
+
java.lang.Object +
cl.zco.desafio3.Configuracion
+
+
+
+
@ConfigurationProperties(prefix="desafio3") +public class Configuracion +extends Object
+
Clase de configuracion, en esta tendremos las configuraciones de un archivo + propierties y que tengan el prefijo 'desafio3'.
+
+
Author:
+
Patricio Angel
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructor de la clase Configuracion sin parametros.
    +
    +
    Configuracion(int cantidadjson)
    +
    +
    Constructor de la clase Configuracion con parametros.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Gets the cantidadjson.
    +
    +
    void
    +
    setCantidadjson(int cantidadjson)
    +
    +
    Sets the cantidadjson.
    +
    + + +
    +
    To string.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Configuracion

      +
      public Configuracion(int cantidadjson)
      +
      Constructor de la clase Configuracion con parametros.
      +
      +
      Parameters:
      +
      cantidadjson - the cantidadjson
      +
      +
      +
    • +
    • +
      +

      Configuracion

      +
      public Configuracion()
      +
      Constructor de la clase Configuracion sin parametros.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCantidadjson

      +
      public int getCantidadjson()
      +
      Gets the cantidadjson.
      +
      +
      Returns:
      +
      the cantidadjson
      +
      +
      +
    • +
    • +
      +

      setCantidadjson

      +
      public void setCantidadjson(int cantidadjson)
      +
      Sets the cantidadjson.
      +
      +
      Parameters:
      +
      cantidadjson - the new cantidadjson
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/Desafio3Application.html b/doc/cl/zco/desafio3/Desafio3Application.html new file mode 100644 index 0000000..53a636d --- /dev/null +++ b/doc/cl/zco/desafio3/Desafio3Application.html @@ -0,0 +1,190 @@ + + + + +Desafio3Application + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Desafio3Application

+
+
java.lang.Object +
cl.zco.desafio3.Desafio3Application
+
+
+
+
@SpringBootApplication +@PropertySource("classpath:desafio3.properties") +@EnableConfigurationProperties(Configuracion.class) +public class Desafio3Application +extends Object
+
The Class Desafio3Application.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Desafio3Application

      +
      public Desafio3Application()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args) + throws Throwable
      +
      The main method.
      +
      +
      Parameters:
      +
      args - the arguments
      +
      Throws:
      +
      Throwable - the throwable
      +
      +
      +
    • +
    • +
      +

      iniciarAplicacion

      +
      public static void iniciarAplicacion() + throws Throwable
      +
      Iniciar aplicacion.
      +
      +
      Throws:
      +
      Throwable - the throwable
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/Proveedor.html b/doc/cl/zco/desafio3/Proveedor.html new file mode 100644 index 0000000..9d03d71 --- /dev/null +++ b/doc/cl/zco/desafio3/Proveedor.html @@ -0,0 +1,198 @@ + + + + +Proveedor + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Proveedor

+
+
java.lang.Object +
cl.zco.desafio3.Proveedor
+
+
+
+
All Implemented Interfaces:
+
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware
+
+
+
@Component +public class Proveedor +extends Object +implements org.springframework.context.ApplicationContextAware
+
Clase con el proveedor del contexto.
+
+
Author:
+
Patricio Angel
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static org.springframework.context.ApplicationContext
    + +
    +
    Gets the contexto.
    +
    +
    void
    +
    setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
    +
    +
    Sets the application context.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Proveedor

      +
      public Proveedor()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setApplicationContext

      +
      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) + throws org.springframework.beans.BeansException
      +
      Sets the application context.
      +
      +
      Specified by:
      +
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
      +
      Parameters:
      +
      applicationContext - the new application context
      +
      Throws:
      +
      org.springframework.beans.BeansException - the beans exception
      +
      +
      +
    • +
    • +
      +

      getContexto

      +
      public static org.springframework.context.ApplicationContext getContexto()
      +
      Gets the contexto.
      +
      +
      Returns:
      +
      the contexto
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/class-use/Configuracion.html b/doc/cl/zco/desafio3/class-use/Configuracion.html new file mode 100644 index 0000000..13fb158 --- /dev/null +++ b/doc/cl/zco/desafio3/class-use/Configuracion.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.Configuracion + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.Configuracion

+
+No usage of cl.zco.desafio3.Configuracion
+
+
+ + diff --git a/doc/cl/zco/desafio3/class-use/Desafio3Application.html b/doc/cl/zco/desafio3/class-use/Desafio3Application.html new file mode 100644 index 0000000..c5364b2 --- /dev/null +++ b/doc/cl/zco/desafio3/class-use/Desafio3Application.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.Desafio3Application + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.Desafio3Application

+
+No usage of cl.zco.desafio3.Desafio3Application
+
+
+ + diff --git a/doc/cl/zco/desafio3/class-use/Proveedor.html b/doc/cl/zco/desafio3/class-use/Proveedor.html new file mode 100644 index 0000000..d00f730 --- /dev/null +++ b/doc/cl/zco/desafio3/class-use/Proveedor.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.Proveedor + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.Proveedor

+
+No usage of cl.zco.desafio3.Proveedor
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/FormatoJsonDTO.html b/doc/cl/zco/desafio3/dto/FormatoJsonDTO.html new file mode 100644 index 0000000..e65cba6 --- /dev/null +++ b/doc/cl/zco/desafio3/dto/FormatoJsonDTO.html @@ -0,0 +1,254 @@ + + + + +FormatoJsonDTO + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FormatoJsonDTO

+
+
java.lang.Object +
cl.zco.desafio3.dto.FormatoJsonDTO
+
+
+
+
public class FormatoJsonDTO +extends Object
+
Clase FormatoJsonDTO.
+
+
Author:
+
Patricio Angel
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FormatoJsonDTO

      +
      public FormatoJsonDTO()
      +
      Instantiates a new formato json DTO.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInicio

      +
      public String getInicio()
      +
      Gets the inicio.
      +
      +
      Returns:
      +
      the inicio
      +
      +
      +
    • +
    • +
      +

      setInicio

      +
      public void setInicio(String inicio)
      +
      Sets the inicio.
      +
      +
      Parameters:
      +
      inicio - the new inicio
      +
      +
      +
    • +
    • +
      +

      getFin

      +
      public String getFin()
      +
      Gets the fin.
      +
      +
      Returns:
      +
      the fin
      +
      +
      +
    • +
    • +
      +

      setFin

      +
      public void setFin(String fin)
      +
      Sets the fin.
      +
      +
      Parameters:
      +
      fin - the new fin
      +
      +
      +
    • +
    • +
      +

      getUFs

      +
      public List<FormatoUfJsonDTO> getUFs()
      +
      Gets the u fs.
      +
      +
      Returns:
      +
      the u fs
      +
      +
      +
    • +
    • +
      +

      setUFs

      +
      public void setUFs(List<FormatoUfJsonDTO> uFs)
      +
      Sets the u fs.
      +
      +
      Parameters:
      +
      uFs - the new u fs
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/FormatoUfJsonDTO.html b/doc/cl/zco/desafio3/dto/FormatoUfJsonDTO.html new file mode 100644 index 0000000..1aeaa48 --- /dev/null +++ b/doc/cl/zco/desafio3/dto/FormatoUfJsonDTO.html @@ -0,0 +1,229 @@ + + + + +FormatoUfJsonDTO + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FormatoUfJsonDTO

+
+
java.lang.Object +
cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
+
+
public class FormatoUfJsonDTO +extends Object
+
Clase FormatoUfJsonDTO.
+
+
Author:
+
Patricio Angel
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FormatoUfJsonDTO

      +
      public FormatoUfJsonDTO(String fecha, + String dato)
      +
      Instantiates a new formato uf json DTO.
      +
      +
      Parameters:
      +
      fecha - the fecha
      +
      dato - the dato
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getFecha

      +
      public String getFecha()
      +
      Gets the fecha.
      +
      +
      Returns:
      +
      the fecha
      +
      +
      +
    • +
    • +
      +

      setFecha

      +
      public void setFecha(String fecha)
      +
      Sets the fecha.
      +
      +
      Parameters:
      +
      fecha - the new fecha
      +
      +
      +
    • +
    • +
      +

      getDato

      +
      public String getDato()
      +
      Gets the dato.
      +
      +
      Returns:
      +
      the dato
      +
      +
      +
    • +
    • +
      +

      setDato

      +
      public void setDato(String dato)
      +
      Sets the dato.
      +
      +
      Parameters:
      +
      dato - the new dato
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/class-use/FormatoJsonDTO.html b/doc/cl/zco/desafio3/dto/class-use/FormatoJsonDTO.html new file mode 100644 index 0000000..0b48893 --- /dev/null +++ b/doc/cl/zco/desafio3/dto/class-use/FormatoJsonDTO.html @@ -0,0 +1,113 @@ + + + + +Uses of Class cl.zco.desafio3.dto.FormatoJsonDTO + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.dto.FormatoJsonDTO

+
+
Packages that use FormatoJsonDTO
+
+
Package
+
Description
+ +
 
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/class-use/FormatoUfJsonDTO.html b/doc/cl/zco/desafio3/dto/class-use/FormatoUfJsonDTO.html new file mode 100644 index 0000000..6caa34b --- /dev/null +++ b/doc/cl/zco/desafio3/dto/class-use/FormatoUfJsonDTO.html @@ -0,0 +1,115 @@ + + + + +Uses of Class cl.zco.desafio3.dto.FormatoUfJsonDTO + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.dto.FormatoUfJsonDTO

+
+
Packages that use FormatoUfJsonDTO
+
+
Package
+
Description
+ +
 
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/package-summary.html b/doc/cl/zco/desafio3/dto/package-summary.html new file mode 100644 index 0000000..cd28bad --- /dev/null +++ b/doc/cl/zco/desafio3/dto/package-summary.html @@ -0,0 +1,104 @@ + + + + +cl.zco.desafio3.dto + + + + + + + + + + + + + + + +
+ +
+
+
+

Package cl.zco.desafio3.dto

+
+
+
package cl.zco.desafio3.dto
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/package-tree.html b/doc/cl/zco/desafio3/dto/package-tree.html new file mode 100644 index 0000000..68b3ec0 --- /dev/null +++ b/doc/cl/zco/desafio3/dto/package-tree.html @@ -0,0 +1,73 @@ + + + + +cl.zco.desafio3.dto Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package cl.zco.desafio3.dto

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/package-use.html b/doc/cl/zco/desafio3/dto/package-use.html new file mode 100644 index 0000000..d59ec3b --- /dev/null +++ b/doc/cl/zco/desafio3/dto/package-use.html @@ -0,0 +1,116 @@ + + + + +Uses of Package cl.zco.desafio3.dto + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
cl.zco.desafio3.dto

+
+
Packages that use cl.zco.desafio3.dto
+
+
Package
+
Description
+ +
 
+ +
 
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/ConsumirJarPrevired.html b/doc/cl/zco/desafio3/negocio/ConsumirJarPrevired.html new file mode 100644 index 0000000..de8bdf0 --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/ConsumirJarPrevired.html @@ -0,0 +1,244 @@ + + + + +ConsumirJarPrevired + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ConsumirJarPrevired

+
+
java.lang.Object +
cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
+
+
public class ConsumirJarPrevired +extends Object
+
The Class ConsumirJarPrevired.
+
+
Author:
+
Patricio Angel
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    generarCSV(com.previred.desafio.tres.uf.vo.Ufs ufs)
    +
    +
    Metodo para generar los CSV
    +
    +
    boolean
    +
    generarJson(com.previred.desafio.tres.uf.vo.Ufs ufs, + List<com.previred.desafio.tres.uf.vo.Uf> listUfRango)
    +
    +
    Metodo que genera el json.
    +
    +
    boolean
    +
    generarXML(com.previred.desafio.tres.uf.vo.Ufs ufs)
    +
    +
    Metodo para generar los XML
    +
    +
    boolean
    + +
    +
    Iniciar.
    +
    +
    boolean
    + +
    +
    Metodo que obtiene los valores de las UF.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ConsumirJarPrevired

      +
      public ConsumirJarPrevired()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      iniciar

      +
      public boolean iniciar()
      +
      Iniciar.
      +
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    • +
      +

      obtenerValoresUF

      +
      public boolean obtenerValoresUF()
      +
      Metodo que obtiene los valores de las UF.
      +
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    • +
      +

      generarCSV

      +
      public boolean generarCSV(com.previred.desafio.tres.uf.vo.Ufs ufs)
      +
      Metodo para generar los CSV
      +
      +
      Parameters:
      +
      ufs - parametro de entrada con data de ufs
      +
      Returns:
      +
      boolean generacion exitosa
      +
      +
      +
    • +
    • +
      +

      generarXML

      +
      public boolean generarXML(com.previred.desafio.tres.uf.vo.Ufs ufs)
      +
      Metodo para generar los XML
      +
      +
      Parameters:
      +
      ufs - parametro de entrada con data de ufs
      +
      Returns:
      +
      boolean generacion exitosa
      +
      +
      +
    • +
    • +
      +

      generarJson

      +
      public boolean generarJson(com.previred.desafio.tres.uf.vo.Ufs ufs, + List<com.previred.desafio.tres.uf.vo.Uf> listUfRango)
      +
      Metodo que genera el json.
      +
      +
      Parameters:
      +
      ufs - parametro de entrada con data de ufs
      +
      listUfRango - the list uf rango
      +
      Returns:
      +
      boolean generacion exitosa
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/ManejadorArchivos.html b/doc/cl/zco/desafio3/negocio/ManejadorArchivos.html new file mode 100644 index 0000000..a02ed00 --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/ManejadorArchivos.html @@ -0,0 +1,223 @@ + + + + +ManejadorArchivos + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ManejadorArchivos

+
+
java.lang.Object +
cl.zco.desafio3.negocio.ManejadorArchivos
+
+
+
+
public class ManejadorArchivos +extends Object
+
Clase que manejará los archivos.
+
+
Author:
+
Patricio Angel
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ManejadorArchivos

      +
      public ManejadorArchivos()
      +
      Instantiates a new manejador archivos.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      crearFicheroJson

      +
      public static boolean crearFicheroJson(FormatoJsonDTO jsonDTO, + String destino)
      +
      Crear fichero json.
      +
      +
      Parameters:
      +
      jsonDTO - the json DTO
      +
      destino - the destino
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    • +
      +

      crearFicheroJson

      +
      public static boolean crearFicheroJson(FormatoJsonDTO jsonDTO, + String destino, + boolean ignorarValidacion)
      +
      Crear fichero json. + Metodo que crea el fichero valores.json.
      +
      +
      Parameters:
      +
      jsonDTO - the json DTO
      +
      destino - the destino
      +
      ignorarValidacion - the ignorar validacion
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    • +
      +

      existeCarpeta

      +
      public static boolean existeCarpeta(String ruta)
      +
      Existe carpeta. + Metodo que valida que exista carpeta segun ruta
      +
      +
      Parameters:
      +
      ruta - the ruta
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/class-use/ConsumirJarPrevired.html b/doc/cl/zco/desafio3/negocio/class-use/ConsumirJarPrevired.html new file mode 100644 index 0000000..462e96f --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/class-use/ConsumirJarPrevired.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.negocio.ConsumirJarPrevired + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.negocio.ConsumirJarPrevired

+
+No usage of cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/class-use/ManejadorArchivos.html b/doc/cl/zco/desafio3/negocio/class-use/ManejadorArchivos.html new file mode 100644 index 0000000..10c69ec --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/class-use/ManejadorArchivos.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.negocio.ManejadorArchivos + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.negocio.ManejadorArchivos

+
+No usage of cl.zco.desafio3.negocio.ManejadorArchivos
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/package-summary.html b/doc/cl/zco/desafio3/negocio/package-summary.html new file mode 100644 index 0000000..2c15f0e --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/package-summary.html @@ -0,0 +1,104 @@ + + + + +cl.zco.desafio3.negocio + + + + + + + + + + + + + + + +
+ +
+
+
+

Package cl.zco.desafio3.negocio

+
+
+
package cl.zco.desafio3.negocio
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/package-tree.html b/doc/cl/zco/desafio3/negocio/package-tree.html new file mode 100644 index 0000000..26df820 --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/package-tree.html @@ -0,0 +1,73 @@ + + + + +cl.zco.desafio3.negocio Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package cl.zco.desafio3.negocio

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/package-use.html b/doc/cl/zco/desafio3/negocio/package-use.html new file mode 100644 index 0000000..ff658a6 --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/package-use.html @@ -0,0 +1,58 @@ + + + + +Uses of Package cl.zco.desafio3.negocio + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
cl.zco.desafio3.negocio

+
+No usage of cl.zco.desafio3.negocio
+
+
+ + diff --git a/doc/cl/zco/desafio3/package-summary.html b/doc/cl/zco/desafio3/package-summary.html new file mode 100644 index 0000000..d631301 --- /dev/null +++ b/doc/cl/zco/desafio3/package-summary.html @@ -0,0 +1,109 @@ + + + + +cl.zco.desafio3 + + + + + + + + + + + + + + + +
+ +
+
+
+

Package cl.zco.desafio3

+
+
+
package cl.zco.desafio3
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/package-tree.html b/doc/cl/zco/desafio3/package-tree.html new file mode 100644 index 0000000..f19200a --- /dev/null +++ b/doc/cl/zco/desafio3/package-tree.html @@ -0,0 +1,74 @@ + + + + +cl.zco.desafio3 Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package cl.zco.desafio3

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/package-use.html b/doc/cl/zco/desafio3/package-use.html new file mode 100644 index 0000000..3329a50 --- /dev/null +++ b/doc/cl/zco/desafio3/package-use.html @@ -0,0 +1,58 @@ + + + + +Uses of Package cl.zco.desafio3 + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
cl.zco.desafio3

+
+No usage of cl.zco.desafio3
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/Constantes.html b/doc/cl/zco/desafio3/util/Constantes.html new file mode 100644 index 0000000..9134b3e --- /dev/null +++ b/doc/cl/zco/desafio3/util/Constantes.html @@ -0,0 +1,340 @@ + + + + +Constantes + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Constantes

+
+
java.lang.Object +
cl.zco.desafio3.util.Constantes
+
+
+
+
public class Constantes +extends Object
+
Clase que contiene las constantes.
+
+
Author:
+
Patricio Angel
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      FORMATO_DD_MMM_YYYY

      +
      public static final String FORMATO_DD_MMM_YYYY
      +
      The Constant FORMATO_DD_MMM_YYYY.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      FORMATO_YYYY_MM_DD

      +
      public static final String FORMATO_YYYY_MM_DD
      +
      The Constant FORMATO_YYYY_MM_DD.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      RUTA_WKS_JSON

      +
      public static final String RUTA_WKS_JSON
      +
      The Constant RUTA_WKS_JSON.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      RUTA_JAR_JSON

      +
      public static final String RUTA_JAR_JSON
      +
      The Constant RUTA_JAR_JSON.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      SIMBOLO_NUEVA_LINEA

      +
      public static final String SIMBOLO_NUEVA_LINEA
      +
      The Constant SIMBOLO_NUEVA_LINEA.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      ATRIB_FECHA

      +
      public static final String ATRIB_FECHA
      +
      The Constant ATRIB_FECHA.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      VACIO

      +
      public static final String VACIO
      +
      The Constant VACIO.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Constantes

      +
      public Constantes()
      +
      Instantiates a new constantes.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      obtenerEtiqueta

      +
      public static String obtenerEtiqueta(String codigo)
      +
      Metodo que obtiene la etiqueta mapeaa + (alternativa rapida concentrar todas las etiquetas, la idea es luego pasar estos codigo + de etiquetas a i18).
      +
      +
      Parameters:
      +
      codigo - the codigo
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/Util.html b/doc/cl/zco/desafio3/util/Util.html new file mode 100644 index 0000000..7d49325 --- /dev/null +++ b/doc/cl/zco/desafio3/util/Util.html @@ -0,0 +1,306 @@ + + + + +Util + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Util

+
+
java.lang.Object +
cl.zco.desafio3.util.Util
+
+
+
+
public class Util +extends Object
+
Clase que contiene las utilidades del aplicativo.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Util

      +
      public Util()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      obtenerFechaFormato

      +
      public static String obtenerFechaFormato(Date fecha, + String formato)
      +
      Metodo que obtiene la fecha y le da el formato recibido.
      +
      +
      Parameters:
      +
      fecha - parametro con la fecha
      +
      formato - the formato
      +
      Returns:
      +
      String con la fecha de salida
      +
      +
      +
    • +
    • +
      +

      clasificarColeccion

      +
      public static <T> void clasificarColeccion(List<T> list, + boolean esAscendente, + String... bean)
      +
      Metodo que ordena lo que reciba y en base al nombre del atributo.
      +
      +
      Type Parameters:
      +
      T - cualquier elemento
      +
      Parameters:
      +
      list - lista del elemento T
      +
      esAscendente - boolean que indica si la lista sera asc o desc
      +
      bean - este es el atributo de la clase por el cual se va a ordenar
      +
      +
      +
    • +
    • +
      +

      convertiraJsonDTO

      +
      public static FormatoJsonDTO convertiraJsonDTO(com.previred.desafio.tres.uf.vo.Ufs ufs, + List<com.previred.desafio.tres.uf.vo.Uf> listUfRango, + int maxJson)
      +
      Convertir a json DTO. + Metodo que convierte el ufs a formato json dto
      +
      +
      Parameters:
      +
      ufs - the ufs
      +
      listUfRango - the list uf rango
      +
      maxJson - the max json
      +
      Returns:
      +
      the formato json DTO
      +
      +
      +
    • +
    • +
      +

      convertiraJsonUfDTO

      +
      public static List<FormatoUfJsonDTO> convertiraJsonUfDTO(List<com.previred.desafio.tres.uf.vo.Uf> listUf, + int maxJson)
      +
      Convertira json uf DTO. +Metodo que convierte al DTO jsonUF en base al UF recibido.
      +
      +
      Parameters:
      +
      listUf - the list uf
      +
      maxJson - the max json
      +
      Returns:
      +
      the list
      +
      +
      +
    • +
    • +
      +

      validacionElementosEnRango

      +
      public static boolean validacionElementosEnRango(List<com.previred.desafio.tres.uf.vo.Uf> listUf, + List<com.previred.desafio.tres.uf.vo.Uf> listUfRango)
      +
      metodo que valida que los elementos retornados de getRange() esten en la lista.
      +
      +
      Parameters:
      +
      listUf - the list uf
      +
      listUfRango - the list uf rango
      +
      Returns:
      +
      verdadero si todos los elementos de la lista a se encuetran en la lista b.
      +
      +
      +
    • +
    • +
      +

      controlExcepcion

      +
      public static void controlExcepcion(String msg) + throws Throwable
      +
      Metodo sobrecargado para controlar la excepcion.
      +
      +
      Parameters:
      +
      msg - mensaje a mostrar por pantalla
      +
      Throws:
      +
      Throwable - the throwable
      +
      +
      +
    • +
    • +
      +

      controlExcepcion

      +
      public static void controlExcepcion(String msg, + Integer optionMsg) + throws Throwable
      +
      Control excepcion. + Metodo creado para controlar la excepcion en caso de inconveniente
      +
      +
      Parameters:
      +
      msg - the msg
      +
      optionMsg - the option msg
      +
      Throws:
      +
      Throwable - the throwable
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/class-use/Constantes.html b/doc/cl/zco/desafio3/util/class-use/Constantes.html new file mode 100644 index 0000000..9b6630e --- /dev/null +++ b/doc/cl/zco/desafio3/util/class-use/Constantes.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.util.Constantes + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.util.Constantes

+
+No usage of cl.zco.desafio3.util.Constantes
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/class-use/Util.html b/doc/cl/zco/desafio3/util/class-use/Util.html new file mode 100644 index 0000000..196c1f4 --- /dev/null +++ b/doc/cl/zco/desafio3/util/class-use/Util.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.util.Util + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.util.Util

+
+No usage of cl.zco.desafio3.util.Util
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/package-summary.html b/doc/cl/zco/desafio3/util/package-summary.html new file mode 100644 index 0000000..0bc4ddb --- /dev/null +++ b/doc/cl/zco/desafio3/util/package-summary.html @@ -0,0 +1,104 @@ + + + + +cl.zco.desafio3.util + + + + + + + + + + + + + + + +
+ +
+
+
+

Package cl.zco.desafio3.util

+
+
+
package cl.zco.desafio3.util
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/package-tree.html b/doc/cl/zco/desafio3/util/package-tree.html new file mode 100644 index 0000000..b819bff --- /dev/null +++ b/doc/cl/zco/desafio3/util/package-tree.html @@ -0,0 +1,73 @@ + + + + +cl.zco.desafio3.util Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package cl.zco.desafio3.util

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/package-use.html b/doc/cl/zco/desafio3/util/package-use.html new file mode 100644 index 0000000..fae1cbd --- /dev/null +++ b/doc/cl/zco/desafio3/util/package-use.html @@ -0,0 +1,58 @@ + + + + +Uses of Package cl.zco.desafio3.util + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
cl.zco.desafio3.util

+
+No usage of cl.zco.desafio3.util
+
+
+ + diff --git a/doc/constant-values.html b/doc/constant-values.html new file mode 100644 index 0000000..d1635e8 --- /dev/null +++ b/doc/constant-values.html @@ -0,0 +1,98 @@ + + + + +Constant Field Values + + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+

Contents

+ +
+
+
+

cl.zco.*

+ +
+
+
+
+ + diff --git a/doc/element-list b/doc/element-list new file mode 100644 index 0000000..fe10777 --- /dev/null +++ b/doc/element-list @@ -0,0 +1,4 @@ +cl.zco.desafio3 +cl.zco.desafio3.dto +cl.zco.desafio3.negocio +cl.zco.desafio3.util diff --git a/doc/help-doc.html b/doc/help-doc.html new file mode 100644 index 0000000..40b5a14 --- /dev/null +++ b/doc/help-doc.html @@ -0,0 +1,187 @@ + + + + +API Help + + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enums
  • +
  • Exceptions
  • +
  • Errors
  • +
  • Annotation Types
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Use

+

Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+
+
+ + diff --git a/doc/index-files/index-1.html b/doc/index-files/index-1.html new file mode 100644 index 0000000..428fcc7 --- /dev/null +++ b/doc/index-files/index-1.html @@ -0,0 +1,66 @@ + + + + +A-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

A

+
+
ATRIB_FECHA - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant ATRIB_FECHA.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-10.html b/doc/index-files/index-10.html new file mode 100644 index 0000000..b5aa535 --- /dev/null +++ b/doc/index-files/index-10.html @@ -0,0 +1,68 @@ + + + + +P-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

P

+
+
Proveedor - Class in cl.zco.desafio3
+
+
Clase con el proveedor del contexto.
+
+
Proveedor() - Constructor for class cl.zco.desafio3.Proveedor
+
 
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-11.html b/doc/index-files/index-11.html new file mode 100644 index 0000000..7296a57 --- /dev/null +++ b/doc/index-files/index-11.html @@ -0,0 +1,70 @@ + + + + +R-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

R

+
+
RUTA_JAR_JSON - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant RUTA_JAR_JSON.
+
+
RUTA_WKS_JSON - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant RUTA_WKS_JSON.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-12.html b/doc/index-files/index-12.html new file mode 100644 index 0000000..e06f2b3 --- /dev/null +++ b/doc/index-files/index-12.html @@ -0,0 +1,94 @@ + + + + +S-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

S

+
+
setApplicationContext(ApplicationContext) - Method in class cl.zco.desafio3.Proveedor
+
+
Sets the application context.
+
+
setCantidadjson(int) - Method in class cl.zco.desafio3.Configuracion
+
+
Sets the cantidadjson.
+
+
setDato(String) - Method in class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Sets the dato.
+
+
setFecha(String) - Method in class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Sets the fecha.
+
+
setFin(String) - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Sets the fin.
+
+
setInicio(String) - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Sets the inicio.
+
+
setUFs(List<FormatoUfJsonDTO>) - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Sets the u fs.
+
+
SIMBOLO_NUEVA_LINEA - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant SIMBOLO_NUEVA_LINEA.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-13.html b/doc/index-files/index-13.html new file mode 100644 index 0000000..d1c54e2 --- /dev/null +++ b/doc/index-files/index-13.html @@ -0,0 +1,66 @@ + + + + +T-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

T

+
+
toString() - Method in class cl.zco.desafio3.Configuracion
+
+
To string.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-14.html b/doc/index-files/index-14.html new file mode 100644 index 0000000..ce42673 --- /dev/null +++ b/doc/index-files/index-14.html @@ -0,0 +1,68 @@ + + + + +U-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

U

+
+
Util - Class in cl.zco.desafio3.util
+
+
Clase que contiene las utilidades del aplicativo.
+
+
Util() - Constructor for class cl.zco.desafio3.util.Util
+
 
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-15.html b/doc/index-files/index-15.html new file mode 100644 index 0000000..cc4e5b6 --- /dev/null +++ b/doc/index-files/index-15.html @@ -0,0 +1,70 @@ + + + + +V-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

V

+
+
VACIO - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant VACIO.
+
+
validacionElementosEnRango(List<Uf>, List<Uf>) - Static method in class cl.zco.desafio3.util.Util
+
+
metodo que valida que los elementos retornados de getRange() esten en la lista.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-2.html b/doc/index-files/index-2.html new file mode 100644 index 0000000..fe79b7a --- /dev/null +++ b/doc/index-files/index-2.html @@ -0,0 +1,125 @@ + + + + +C-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

C

+
+
cl.zco.desafio3 - package cl.zco.desafio3
+
 
+
cl.zco.desafio3.dto - package cl.zco.desafio3.dto
+
 
+
cl.zco.desafio3.negocio - package cl.zco.desafio3.negocio
+
 
+
cl.zco.desafio3.util - package cl.zco.desafio3.util
+
 
+
clasificarColeccion(List<T>, boolean, String...) - Static method in class cl.zco.desafio3.util.Util
+
+
Metodo que ordena lo que reciba y en base al nombre del atributo.
+
+
Configuracion - Class in cl.zco.desafio3
+
+
Clase de configuracion, en esta tendremos las configuraciones de un archivo + propierties y que tengan el prefijo 'desafio3'.
+
+
Configuracion() - Constructor for class cl.zco.desafio3.Configuracion
+
+
Constructor de la clase Configuracion sin parametros.
+
+
Configuracion(int) - Constructor for class cl.zco.desafio3.Configuracion
+
+
Constructor de la clase Configuracion con parametros.
+
+
Constantes - Class in cl.zco.desafio3.util
+
+
Clase que contiene las constantes.
+
+
Constantes() - Constructor for class cl.zco.desafio3.util.Constantes
+
+
Instantiates a new constantes.
+
+
ConsumirJarPrevired - Class in cl.zco.desafio3.negocio
+
+
The Class ConsumirJarPrevired.
+
+
ConsumirJarPrevired() - Constructor for class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
 
+
controlExcepcion(String) - Static method in class cl.zco.desafio3.util.Util
+
+
Metodo sobrecargado para controlar la excepcion.
+
+
controlExcepcion(String, Integer) - Static method in class cl.zco.desafio3.util.Util
+
+
Control excepcion.
+
+
convertiraJsonDTO(Ufs, List<Uf>, int) - Static method in class cl.zco.desafio3.util.Util
+
+
Convertir a json DTO.
+
+
convertiraJsonUfDTO(List<Uf>, int) - Static method in class cl.zco.desafio3.util.Util
+
+
Convertira json uf DTO.
+
+
crearFicheroJson(FormatoJsonDTO, String) - Static method in class cl.zco.desafio3.negocio.ManejadorArchivos
+
+
Crear fichero json.
+
+
crearFicheroJson(FormatoJsonDTO, String, boolean) - Static method in class cl.zco.desafio3.negocio.ManejadorArchivos
+
+
Crear fichero json.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-3.html b/doc/index-files/index-3.html new file mode 100644 index 0000000..a9c973c --- /dev/null +++ b/doc/index-files/index-3.html @@ -0,0 +1,68 @@ + + + + +D-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

D

+
+
Desafio3Application - Class in cl.zco.desafio3
+
+
The Class Desafio3Application.
+
+
Desafio3Application() - Constructor for class cl.zco.desafio3.Desafio3Application
+
 
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-4.html b/doc/index-files/index-4.html new file mode 100644 index 0000000..846ef11 --- /dev/null +++ b/doc/index-files/index-4.html @@ -0,0 +1,66 @@ + + + + +E-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

E

+
+
existeCarpeta(String) - Static method in class cl.zco.desafio3.negocio.ManejadorArchivos
+
+
Existe carpeta.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-5.html b/doc/index-files/index-5.html new file mode 100644 index 0000000..d3bebea --- /dev/null +++ b/doc/index-files/index-5.html @@ -0,0 +1,86 @@ + + + + +F-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

F

+
+
FORMATO_DD_MMM_YYYY - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant FORMATO_DD_MMM_YYYY.
+
+
FORMATO_YYYY_MM_DD - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant FORMATO_YYYY_MM_DD.
+
+
FormatoJsonDTO - Class in cl.zco.desafio3.dto
+
+
Clase FormatoJsonDTO.
+
+
FormatoJsonDTO() - Constructor for class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Instantiates a new formato json DTO.
+
+
FormatoUfJsonDTO - Class in cl.zco.desafio3.dto
+
+
Clase FormatoUfJsonDTO.
+
+
FormatoUfJsonDTO(String, String) - Constructor for class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Instantiates a new formato uf json DTO.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-6.html b/doc/index-files/index-6.html new file mode 100644 index 0000000..a56ef9a --- /dev/null +++ b/doc/index-files/index-6.html @@ -0,0 +1,102 @@ + + + + +G-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

G

+
+
generarCSV(Ufs) - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Metodo para generar los CSV
+
+
generarJson(Ufs, List<Uf>) - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Metodo que genera el json.
+
+
generarXML(Ufs) - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Metodo para generar los XML
+
+
getCantidadjson() - Method in class cl.zco.desafio3.Configuracion
+
+
Gets the cantidadjson.
+
+
getContexto() - Static method in class cl.zco.desafio3.Proveedor
+
+
Gets the contexto.
+
+
getDato() - Method in class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Gets the dato.
+
+
getFecha() - Method in class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Gets the fecha.
+
+
getFin() - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Gets the fin.
+
+
getInicio() - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Gets the inicio.
+
+
getUFs() - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Gets the u fs.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-7.html b/doc/index-files/index-7.html new file mode 100644 index 0000000..5db10e9 --- /dev/null +++ b/doc/index-files/index-7.html @@ -0,0 +1,70 @@ + + + + +I-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

I

+
+
iniciar() - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Iniciar.
+
+
iniciarAplicacion() - Static method in class cl.zco.desafio3.Desafio3Application
+
+
Iniciar aplicacion.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-8.html b/doc/index-files/index-8.html new file mode 100644 index 0000000..1d94141 --- /dev/null +++ b/doc/index-files/index-8.html @@ -0,0 +1,74 @@ + + + + +M-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

M

+
+
main(String[]) - Static method in class cl.zco.desafio3.Desafio3Application
+
+
The main method.
+
+
ManejadorArchivos - Class in cl.zco.desafio3.negocio
+
+
Clase que manejará los archivos.
+
+
ManejadorArchivos() - Constructor for class cl.zco.desafio3.negocio.ManejadorArchivos
+
+
Instantiates a new manejador archivos.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-9.html b/doc/index-files/index-9.html new file mode 100644 index 0000000..489097a --- /dev/null +++ b/doc/index-files/index-9.html @@ -0,0 +1,76 @@ + + + + +O-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

O

+
+
obtenerEtiqueta(String) - Static method in class cl.zco.desafio3.util.Constantes
+
+
Metodo que obtiene la etiqueta mapeaa + (alternativa rapida concentrar todas las etiquetas, la idea es luego pasar estos codigo + de etiquetas a i18).
+
+
obtenerFechaFormato(Date, String) - Static method in class cl.zco.desafio3.util.Util
+
+
Metodo que obtiene la fecha y le da el formato recibido.
+
+
obtenerValoresUF() - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Metodo que obtiene los valores de las UF.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..c7cad9e --- /dev/null +++ b/doc/index.html @@ -0,0 +1,73 @@ + + + + +Overview + + + + + + + + + + + + + + + +
+ +
+
+
+

Javadoc Desafio 3 Previred

+
+
+
Packages
+ +
+
+
+
+ + diff --git a/doc/jquery-ui.overrides.css b/doc/jquery-ui.overrides.css new file mode 100644 index 0000000..f89acb6 --- /dev/null +++ b/doc/jquery-ui.overrides.css @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; +} diff --git a/doc/legal/ADDITIONAL_LICENSE_INFO b/doc/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 0000000..b62cc3e --- /dev/null +++ b/doc/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1 @@ +Please see ..\java.base\ADDITIONAL_LICENSE_INFO diff --git a/doc/legal/ASSEMBLY_EXCEPTION b/doc/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 0000000..0d4cfb4 --- /dev/null +++ b/doc/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1 @@ +Please see ..\java.base\ASSEMBLY_EXCEPTION diff --git a/doc/legal/LICENSE b/doc/legal/LICENSE new file mode 100644 index 0000000..4ad9fe4 --- /dev/null +++ b/doc/legal/LICENSE @@ -0,0 +1 @@ +Please see ..\java.base\LICENSE diff --git a/doc/legal/jquery.md b/doc/legal/jquery.md new file mode 100644 index 0000000..8054a34 --- /dev/null +++ b/doc/legal/jquery.md @@ -0,0 +1,72 @@ +## jQuery v3.5.1 + +### jQuery License +``` +jQuery v 3.5.1 +Copyright JS Foundation and other contributors, https://js.foundation/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +****************************************** + +The jQuery JavaScript Library v3.5.1 also includes Sizzle.js + +Sizzle.js includes the following license: + +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +********************* + +``` diff --git a/doc/legal/jqueryUI.md b/doc/legal/jqueryUI.md new file mode 100644 index 0000000..8031bdb --- /dev/null +++ b/doc/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.12.1 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/doc/member-search-index.js b/doc/member-search-index.js new file mode 100644 index 0000000..afb638d --- /dev/null +++ b/doc/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"cl.zco.desafio3.util","c":"Constantes","l":"ATRIB_FECHA"},{"p":"cl.zco.desafio3.util","c":"Util","l":"clasificarColeccion(List, boolean, String...)","u":"clasificarColeccion(java.util.List,boolean,java.lang.String...)"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"Configuracion()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"Configuracion(int)","u":"%3Cinit%3E(int)"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"Constantes()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"ConsumirJarPrevired()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.util","c":"Util","l":"controlExcepcion(String)","u":"controlExcepcion(java.lang.String)"},{"p":"cl.zco.desafio3.util","c":"Util","l":"controlExcepcion(String, Integer)","u":"controlExcepcion(java.lang.String,java.lang.Integer)"},{"p":"cl.zco.desafio3.util","c":"Util","l":"convertiraJsonDTO(Ufs, List, int)","u":"convertiraJsonDTO(com.previred.desafio.tres.uf.vo.Ufs,java.util.List,int)"},{"p":"cl.zco.desafio3.util","c":"Util","l":"convertiraJsonUfDTO(List, int)","u":"convertiraJsonUfDTO(java.util.List,int)"},{"p":"cl.zco.desafio3.negocio","c":"ManejadorArchivos","l":"crearFicheroJson(FormatoJsonDTO, String)","u":"crearFicheroJson(cl.zco.desafio3.dto.FormatoJsonDTO,java.lang.String)"},{"p":"cl.zco.desafio3.negocio","c":"ManejadorArchivos","l":"crearFicheroJson(FormatoJsonDTO, String, boolean)","u":"crearFicheroJson(cl.zco.desafio3.dto.FormatoJsonDTO,java.lang.String,boolean)"},{"p":"cl.zco.desafio3","c":"Desafio3Application","l":"Desafio3Application()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.negocio","c":"ManejadorArchivos","l":"existeCarpeta(String)","u":"existeCarpeta(java.lang.String)"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"FORMATO_DD_MMM_YYYY"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"FORMATO_YYYY_MM_DD"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"FormatoJsonDTO()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"FormatoUfJsonDTO(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"generarCSV(Ufs)","u":"generarCSV(com.previred.desafio.tres.uf.vo.Ufs)"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"generarJson(Ufs, List)","u":"generarJson(com.previred.desafio.tres.uf.vo.Ufs,java.util.List)"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"generarXML(Ufs)","u":"generarXML(com.previred.desafio.tres.uf.vo.Ufs)"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"getCantidadjson()"},{"p":"cl.zco.desafio3","c":"Proveedor","l":"getContexto()"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"getDato()"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"getFecha()"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"getFin()"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"getInicio()"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"getUFs()"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"iniciar()"},{"p":"cl.zco.desafio3","c":"Desafio3Application","l":"iniciarAplicacion()"},{"p":"cl.zco.desafio3","c":"Desafio3Application","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"cl.zco.desafio3.negocio","c":"ManejadorArchivos","l":"ManejadorArchivos()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"obtenerEtiqueta(String)","u":"obtenerEtiqueta(java.lang.String)"},{"p":"cl.zco.desafio3.util","c":"Util","l":"obtenerFechaFormato(Date, String)","u":"obtenerFechaFormato(java.util.Date,java.lang.String)"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"obtenerValoresUF()"},{"p":"cl.zco.desafio3","c":"Proveedor","l":"Proveedor()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"RUTA_JAR_JSON"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"RUTA_WKS_JSON"},{"p":"cl.zco.desafio3","c":"Proveedor","l":"setApplicationContext(ApplicationContext)","u":"setApplicationContext(org.springframework.context.ApplicationContext)"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"setCantidadjson(int)"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"setDato(String)","u":"setDato(java.lang.String)"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"setFecha(String)","u":"setFecha(java.lang.String)"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"setFin(String)","u":"setFin(java.lang.String)"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"setInicio(String)","u":"setInicio(java.lang.String)"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"setUFs(List)","u":"setUFs(java.util.List)"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"SIMBOLO_NUEVA_LINEA"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"toString()"},{"p":"cl.zco.desafio3.util","c":"Util","l":"Util()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"VACIO"},{"p":"cl.zco.desafio3.util","c":"Util","l":"validacionElementosEnRango(List, List)","u":"validacionElementosEnRango(java.util.List,java.util.List)"}];updateSearchResults(); \ No newline at end of file diff --git a/doc/module-search-index.js b/doc/module-search-index.js new file mode 100644 index 0000000..0d59754 --- /dev/null +++ b/doc/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/doc/overview-summary.html b/doc/overview-summary.html new file mode 100644 index 0000000..7aa9245 --- /dev/null +++ b/doc/overview-summary.html @@ -0,0 +1,26 @@ + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/doc/overview-tree.html b/doc/overview-tree.html new file mode 100644 index 0000000..0e1e2a1 --- /dev/null +++ b/doc/overview-tree.html @@ -0,0 +1,83 @@ + + + + +Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/package-search-index.js b/doc/package-search-index.js new file mode 100644 index 0000000..7a769c9 --- /dev/null +++ b/doc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"cl.zco.desafio3"},{"l":"cl.zco.desafio3.dto"},{"l":"cl.zco.desafio3.negocio"},{"l":"cl.zco.desafio3.util"}];updateSearchResults(); \ No newline at end of file diff --git a/doc/resources/glass.png b/doc/resources/glass.png new file mode 100644 index 0000000..a7f591f Binary files /dev/null and b/doc/resources/glass.png differ diff --git a/doc/resources/x.png b/doc/resources/x.png new file mode 100644 index 0000000..30548a7 Binary files /dev/null and b/doc/resources/x.png differ diff --git a/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png b/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000..34abd18 Binary files /dev/null and b/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png differ diff --git a/doc/script-dir/images/ui-bg_glass_65_dadada_1x400.png b/doc/script-dir/images/ui-bg_glass_65_dadada_1x400.png new file mode 100644 index 0000000..f058a93 Binary files /dev/null and b/doc/script-dir/images/ui-bg_glass_65_dadada_1x400.png differ diff --git a/doc/script-dir/images/ui-bg_glass_75_dadada_1x400.png b/doc/script-dir/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000..2ce04c1 Binary files /dev/null and b/doc/script-dir/images/ui-bg_glass_75_dadada_1x400.png differ diff --git a/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png b/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000..a90afb8 Binary files /dev/null and b/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png differ diff --git a/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png b/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000..dbe091f Binary files /dev/null and b/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png differ diff --git a/doc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/doc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000..5dc3593 Binary files /dev/null and b/doc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ diff --git a/doc/script-dir/images/ui-icons_222222_256x240.png b/doc/script-dir/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000..e723e17 Binary files /dev/null and b/doc/script-dir/images/ui-icons_222222_256x240.png differ diff --git a/doc/script-dir/images/ui-icons_2e83ff_256x240.png b/doc/script-dir/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000..1f5f497 Binary files /dev/null and b/doc/script-dir/images/ui-icons_2e83ff_256x240.png differ diff --git a/doc/script-dir/images/ui-icons_454545_256x240.png b/doc/script-dir/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000..618f5b0 Binary files /dev/null and b/doc/script-dir/images/ui-icons_454545_256x240.png differ diff --git a/doc/script-dir/images/ui-icons_888888_256x240.png b/doc/script-dir/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000..ee5e33f Binary files /dev/null and b/doc/script-dir/images/ui-icons_888888_256x240.png differ diff --git a/doc/script-dir/images/ui-icons_cd0a0a_256x240.png b/doc/script-dir/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000..7e8ebc1 Binary files /dev/null and b/doc/script-dir/images/ui-icons_cd0a0a_256x240.png differ diff --git a/doc/script-dir/jquery-3.5.1.min.js b/doc/script-dir/jquery-3.5.1.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/doc/script-dir/jquery-3.5.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"
    ",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("
      ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
      ").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
      ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
      ").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
      ").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete}); \ No newline at end of file diff --git a/doc/script-dir/jquery-ui.structure.min.css b/doc/script-dir/jquery-ui.structure.min.css new file mode 100644 index 0000000..e880892 --- /dev/null +++ b/doc/script-dir/jquery-ui.structure.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.12.1 - 2018-12-06 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} \ No newline at end of file diff --git a/doc/script.js b/doc/script.js new file mode 100644 index 0000000..864989c --- /dev/null +++ b/doc/script.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); + elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.querySelector('div#' + tableId +' .summary-table') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} + +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + contentDiv.addEventListener("scroll", function(e) { + var timeoutID; + if (!timeoutID) { + timeoutID = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + timeoutID = null; + }, 100); + } + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/doc/search.js b/doc/search.js new file mode 100644 index 0000000..2246cdd --- /dev/null +++ b/doc/search.js @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var loading = {l: "Loading search index..."}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Types"; +var catMembers = "Members"; +var catSearchTags = "Search Tags"; +var highlight = "$&"; +var searchPattern = ""; +var fallbackPattern = ""; +var RANKING_THRESHOLD = 2; +var NO_MATCH = 0xffff; +var MIN_RESULTS = 3; +var MAX_RESULTS = 500; +var UNNAMED = ""; +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(item, matcher, fallbackMatcher) { + var escapedItem = escapeHtml(item); + var highlighted = escapedItem.replace(matcher, highlight); + if (highlighted === escapedItem) { + highlighted = escapedItem.replace(fallbackMatcher, highlight) + } + return highlighted; +} +function getURLPrefix(ui) { + var urlPrefix=""; + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if (ui.item.category === catTypes || ui.item.category === catMembers) { + if (ui.item.m) { + urlPrefix = ui.item.m + slash; + } else { + $.each(packageSearchIndex, function(index, item) { + if (item.m && ui.item.p === item.l) { + urlPrefix = item.m + slash; + } + }); + } + } + return urlPrefix; +} +function createSearchPattern(term) { + var pattern = ""; + var isWordToken = false; + term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { + if (index > 0) { + // whitespace between identifiers is significant + pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; + } + var tokens = w.split(/(?=[A-Z,.()<>[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + if (s === "") { + continue; + } + pattern += $.ui.autocomplete.escapeRegex(s); + isWordToken = /\w$/.test(s); + if (isWordToken) { + pattern += "([a-z0-9_$<>\\[\\]]*?)"; + } + } + }); + return pattern; +} +function createMatcher(pattern, flags) { + var isCamelCase = /[A-Z]/.test(pattern); + return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); +} +var watermark = 'Search'; +$(function() { + var search = $("#search-input"); + var reset = $("#reset-button"); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + search.val(watermark).addClass('watermark'); + search.blur(function() { + if ($(this).val().length === 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + search.on('click keydown paste', function() { + if ($(this).val() === watermark) { + $(this).val('').removeClass('watermark'); + } + }); + reset.click(function() { + search.val('').focus(); + }); + search.focus()[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this; + var currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.category && item.category !== currentCategory) { + ul.append("
    • " + item.category + "
    • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "result-item"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "result-item"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + var matcher = createMatcher(escapeHtml(searchPattern), "g"); + var fallbackMatcher = new RegExp(fallbackPattern, "gi") + if (item.category === catModules) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catPackages) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catTypes) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catMembers) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else { + label = item.l; + } + var li = $("
    • ").appendTo(ul); + var div = $("
      ").appendTo(li); + if (item.category === catSearchTags && item.h) { + if (item.d) { + div.html(label + " (" + item.h + ")
      " + + item.d + "
      "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + if (item.m) { + div.html(item.m + "/" + label); + } else { + div.html(label); + } + } + return li; + } +}); +function rankMatch(match, category) { + if (!match) { + return NO_MATCH; + } + var index = match.index; + var input = match.input; + var leftBoundaryMatch = 2; + var periferalMatch = 0; + // make sure match is anchored on a left word boundary + if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { + leftBoundaryMatch = 0; + } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { + leftBoundaryMatch = 1; + } + var matchEnd = index + match[0].length; + var leftParen = input.indexOf("("); + var endOfName = leftParen > -1 ? leftParen : input.length; + // exclude peripheral matches + if (category !== catModules && category !== catSearchTags) { + var delim = category === catPackages ? "/" : "."; + if (leftParen > -1 && leftParen < index) { + periferalMatch += 2; + } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { + periferalMatch += 2; + } + } + var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match + for (var i = 1; i < match.length; i++) { + // lower ranking if parts of the name are missing + if (match[i]) + delta += match[i].length; + } + if (category === catTypes) { + // lower ranking if a type name contains unmatched camel-case parts + if (/[A-Z]/.test(input.substring(matchEnd))) + delta += 5; + if (/[A-Z]/.test(input.substring(0, index))) + delta += 5; + } + return leftBoundaryMatch + periferalMatch + (delta / 200); + +} +function doSearch(request, response) { + var result = []; + searchPattern = createSearchPattern(request.term); + fallbackPattern = createSearchPattern(request.term.toLowerCase()); + if (searchPattern === "") { + return this.close(); + } + var camelCaseMatcher = createMatcher(searchPattern, ""); + var fallbackMatcher = new RegExp(fallbackPattern, "i"); + + function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { + if (indexArray) { + var newResults = []; + $.each(indexArray, function (i, item) { + item.category = category; + var ranking = rankMatch(matcher.exec(nameFunc(item)), category); + if (ranking < RANKING_THRESHOLD) { + newResults.push({ranking: ranking, item: item}); + } + return newResults.length <= MAX_RESULTS; + }); + return newResults.sort(function(e1, e2) { + return e1.ranking - e2.ranking; + }).map(function(e) { + return e.item; + }); + } + return []; + } + function searchIndex(indexArray, category, nameFunc) { + var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); + result = result.concat(primaryResults); + if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) { + var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); + result = result.concat(secondaryResults.filter(function (item) { + return primaryResults.indexOf(item) === -1; + })); + } + } + + searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); + searchIndex(packageSearchIndex, catPackages, function(item) { + return (item.m && request.term.indexOf("/") > -1) + ? (item.m + "/" + item.l) : item.l; + }); + searchIndex(typeSearchIndex, catTypes, function(item) { + return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; + }); + searchIndex(memberSearchIndex, catMembers, function(item) { + return request.term.indexOf(".") > -1 + ? item.p + "." + item.c + "." + item.l : item.l; + }); + searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); + + if (!indexFilesLoaded()) { + updateSearchResults = function() { + doSearch(request, response); + } + result.unshift(loading); + } else { + updateSearchResults = function() {}; + } + response(result); +} +$(function() { + $("#search-input").catcomplete({ + minLength: 1, + delay: 300, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.category) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + url += "module-summary.html"; + } else if (ui.item.category === catPackages) { + if (ui.item.u) { + url = ui.item.u; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.u) { + url = ui.item.u; + } else if (ui.item.p === UNNAMED) { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === UNNAMED) { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.u) { + url += ui.item.u; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search-input").focus(); + } + } + }); +}); diff --git a/doc/stylesheet.css b/doc/stylesheet.css new file mode 100644 index 0000000..836c62d --- /dev/null +++ b/doc/stylesheet.css @@ -0,0 +1,865 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; +} +h4 { + font-size:15px; +} +h5 { + font-size:14px; +} +h6 { + font-size:13px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +.summary-table dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size: 14px; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0; + overflow:hidden; +} +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:11px; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +@media screen { + .flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + .flex-header { + flex: 0 0 auto; + } + .flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + min-height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.sub-nav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.sub-nav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list { + padding-top:5px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0 0 0 0; + padding:5px 6px; + clear:none; +} +.nav-list-search label { + position:relative; + right:-16px; +} +ul.sub-nav-list li { + list-style:none; + float:left; + padding-top:10px; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.nav-bar-cell1-rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header and footer. + */ +.title { + color:#2c4557; + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.see-list, ul.see-list-long { + padding-left: 0; + list-style: none; +} +ul.see-list li { + display: inline; +} +ul.see-list li:not(:last-child):after, +ul.see-list-long li:not(:last-child):after { + content: ", "; + white-space: pre-wrap; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0; + padding-top:10px; + padding-left:1px; + margin:0; + white-space:pre; +} +.caption a:link, .caption a:visited { + color:#1f389c; +} +.caption a:hover, +.caption a:active { + color:#FFFFFF; +} +.caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +div.table-tabs { + padding:10px 0 0 1px; + margin:0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; +} +div.table-tabs > button.active-table-tab { + background: #F8981D; + color: #253441; +} +div.table-tabs > button.table-tab { + background: #4D7A97; + color: #FFFFFF; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +@media screen and (max-width: 800px) { + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-summary .col-last { + grid-column-end: span 2; + } +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:#dee3e9; + font-weight: bold; +} +.col-first, .col-first { + font-size:13px; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:13px; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited, +.constant-values-container a:link, .constant-values-container a:visited, +.all-classes-container a:link, .all-classes-container a:visited, +.all-packages-container a:link, .all-packages-container a:visited { + font-weight:bold; +} +.table-sub-heading-color { + background-color:#EEEEFF; +} +.even-row-color, .even-row-color .table-header { + background-color:#FFFFFF; +} +.odd-row-color, .odd-row-color .table-header { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.deprecated-content { + margin:0; + padding:10px 0; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:0 10px 5px 0; + color:#474747; +} +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.result-item { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.result-highlight { + font-weight:bold; +} +#search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; + width:400px; +} +#reset-button { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:16px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:yellow; +} +.module-graph span { + display:none; + position:absolute; +} +.module-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0px 20px 5px 10px; + border: 1px solid #ededed; + background-color: #f8f8f8; +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +span.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak font sizes and paddings for small screens. + */ +@media screen and (max-width: 1050px) { + #search-input { + width: 300px; + } +} +@media screen and (max-width: 800px) { + #search-input { + width: 200px; + } + .top-nav, + .bottom-nav { + font-size: 11px; + padding-top: 6px; + } + .sub-nav { + font-size: 11px; + } + .about-language { + padding-right: 16px; + } + ul.nav-list li, + .sub-nav .nav-list-search { + padding: 6px; + } + ul.sub-nav-list li { + padding-top: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 500px) { + #search-input { + width: 150px; + } + .top-nav, + .bottom-nav { + font-size: 10px; + } + .sub-nav { + font-size: 10px; + } + .about-language { + font-size: 10px; + padding-right: 12px; + } +} diff --git a/doc/tag-search-index.js b/doc/tag-search-index.js new file mode 100644 index 0000000..f2a440c --- /dev/null +++ b/doc/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"}];updateSearchResults(); \ No newline at end of file diff --git a/doc/type-search-index.js b/doc/type-search-index.js new file mode 100644 index 0000000..eba0e11 --- /dev/null +++ b/doc/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"cl.zco.desafio3","l":"Configuracion"},{"p":"cl.zco.desafio3.util","l":"Constantes"},{"p":"cl.zco.desafio3.negocio","l":"ConsumirJarPrevired"},{"p":"cl.zco.desafio3","l":"Desafio3Application"},{"p":"cl.zco.desafio3.dto","l":"FormatoJsonDTO"},{"p":"cl.zco.desafio3.dto","l":"FormatoUfJsonDTO"},{"p":"cl.zco.desafio3.negocio","l":"ManejadorArchivos"},{"p":"cl.zco.desafio3","l":"Proveedor"},{"p":"cl.zco.desafio3.util","l":"Util"}];updateSearchResults(); \ No newline at end of file diff --git a/evidencia/imagen1.png b/evidencia/imagen1.png new file mode 100644 index 0000000..1650a68 Binary files /dev/null and b/evidencia/imagen1.png differ diff --git a/evidencia/imagen2.png b/evidencia/imagen2.png new file mode 100644 index 0000000..59d640f Binary files /dev/null and b/evidencia/imagen2.png differ diff --git a/evidencia/imagen3.png b/evidencia/imagen3.png new file mode 100644 index 0000000..13d47c8 Binary files /dev/null and b/evidencia/imagen3.png differ diff --git a/evidencia/imagen4.png b/evidencia/imagen4.png new file mode 100644 index 0000000..275f911 Binary files /dev/null and b/evidencia/imagen4.png differ diff --git a/evidencia/imagen5.png b/evidencia/imagen5.png new file mode 100644 index 0000000..7b93d1d Binary files /dev/null and b/evidencia/imagen5.png differ diff --git a/evidencia/imagen6.png b/evidencia/imagen6.png new file mode 100644 index 0000000..a9a4c05 Binary files /dev/null and b/evidencia/imagen6.png differ diff --git a/evidencia/imagen7.png b/evidencia/imagen7.png new file mode 100644 index 0000000..9f4fd15 Binary files /dev/null and b/evidencia/imagen7.png differ diff --git a/evidencia/mvn_install.log b/evidencia/mvn_install.log new file mode 100644 index 0000000..fd230ff --- /dev/null +++ b/evidencia/mvn_install.log @@ -0,0 +1,114 @@ +[INFO] Scanning for projects... +[WARNING] +[WARNING] Some problems were encountered while building the effective model for cl.zco:desafio3:jar:0.0.1-SNAPSHOT +[WARNING] 'dependencies.dependency.systemPath' for Generador_Datos_Desafio_Tres:Generador_Datos_Desafio_Tres:jar should not point at files within the project directory, ${basedir}\lib\Generador_Datos_Desafio_Tres-1.0.0.jar will be unresolvable by dependent projects @ line 73, column 16 +[WARNING] +[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. +[WARNING] +[WARNING] For this reason, future Maven versions might no longer support building such malformed projects. +[WARNING] +[INFO] +[INFO] --------------------------< cl.zco:desafio3 >--------------------------- +[INFO] Building desafio3 0.0.1-SNAPSHOT +[INFO] --------------------------------[ jar ]--------------------------------- +[INFO] +[INFO] --- maven-resources-plugin:3.2.0:resources (default-resources) @ desafio3 --- +[INFO] Using 'UTF-8' encoding to copy filtered resources. +[INFO] Using 'UTF-8' encoding to copy filtered properties files. +[INFO] Copying 2 resources +[INFO] +[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ desafio3 --- +[INFO] Nothing to compile - all classes are up to date +[INFO] +[INFO] --- maven-resources-plugin:3.2.0:testResources (default-testResources) @ desafio3 --- +[INFO] Using 'UTF-8' encoding to copy filtered resources. +[INFO] Using 'UTF-8' encoding to copy filtered properties files. +[INFO] skip non existing resourceDirectory C:\develop\wks_previred\desafio3\src\test\resources +[INFO] +[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ desafio3 --- +[INFO] Nothing to compile - all classes are up to date +[INFO] +[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ desafio3 --- +[INFO] +[INFO] ------------------------------------------------------- +[INFO] T E S T S +[INFO] ------------------------------------------------------- +[INFO] Running cl.zco.desafio3.Desafio3ApplicationTests +15:59:58.636 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] +15:59:58.648 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)] +15:59:58.698 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [cl.zco.desafio3.Desafio3ApplicationTests] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper] +15:59:58.711 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [cl.zco.desafio3.Desafio3ApplicationTests], using SpringBootContextLoader +15:59:58.716 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [cl.zco.desafio3.Desafio3ApplicationTests]: class path resource [cl/zco/desafio3/Desafio3ApplicationTests-context.xml] does not exist +15:59:58.716 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [cl.zco.desafio3.Desafio3ApplicationTests]: class path resource [cl/zco/desafio3/Desafio3ApplicationTestsContext.groovy] does not exist +15:59:58.717 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [cl.zco.desafio3.Desafio3ApplicationTests]: no resource found for suffixes {-context.xml, Context.groovy}. +15:59:58.718 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [cl.zco.desafio3.Desafio3ApplicationTests]: Desafio3ApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration. +15:59:58.808 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [cl.zco.desafio3.Desafio3ApplicationTests] +15:59:58.915 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [C:\develop\wks_previred\desafio3\target\classes\cl\zco\desafio3\Desafio3Application.class] +15:59:58.917 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration cl.zco.desafio3.Desafio3Application for test class cl.zco.desafio3.Desafio3ApplicationTests +15:59:59.153 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [cl.zco.desafio3.Desafio3ApplicationTests]: using defaults. +15:59:59.155 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener] +15:59:59.190 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [javax/servlet/ServletContext] +15:59:59.195 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.transaction.TransactionalTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [org/springframework/transaction/interceptor/TransactionAttributeSource] +15:59:59.196 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Skipping candidate TestExecutionListener [org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener] due to a missing dependency. Specify custom listener classes or make the default listener classes and their required dependencies available. Offending class: [org/springframework/transaction/interceptor/TransactionAttribute] +15:59:59.197 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@dfddc9a, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@4b9df8a, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@5e8ac0e1, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@aafcffa, org.springframework.test.context.support.DirtiesContextTestExecutionListener@6955cb39, org.springframework.test.context.event.EventPublishingTestExecutionListener@235a0c16, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@2b5f4d54, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@5f7b97da, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@18b0930f, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@6b7906b3, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@3a1dd365, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@395b56bb] +15:59:59.206 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@5b529706 testClass = Desafio3ApplicationTests, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [MergedContextConfiguration@63fdab07 testClass = Desafio3ApplicationTests, locations = '{}', classes = '{class cl.zco.desafio3.Desafio3Application}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@6aa8e115, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@5f20155b, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@352ff4da, org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7a3793c7, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@a37aefe, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@6580cfdd], contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map[[empty]]], class annotated with @DirtiesContext [false] with mode [null]. +15:59:59.243 [main] DEBUG org.springframework.test.context.support.DependencyInjectionTestExecutionListener - Performing dependency injection for test context [[DefaultTestContext@5b529706 testClass = Desafio3ApplicationTests, testInstance = cl.zco.desafio3.Desafio3ApplicationTests@1ae67cad, testMethod = [null], testException = [null], mergedContextConfiguration = [MergedContextConfiguration@63fdab07 testClass = Desafio3ApplicationTests, locations = '{}', classes = '{class cl.zco.desafio3.Desafio3Application}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@6aa8e115, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@5f20155b, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@352ff4da, org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7a3793c7, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@a37aefe, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@6580cfdd], contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]]. + + . ____ _ __ _ _ + /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ +( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ + \\/ ___)| |_)| | | | | || (_| | ) ) ) ) + ' |____| .__|_| |_|_| |_\__, | / / / / + =========|_|==============|___/=/_/_/_/ + :: Spring Boot :: (v2.6.6) + +2022-04-20 15:59:59.953 INFO 58964 --- [ main] c.zco.desafio3.Desafio3ApplicationTests : Starting Desafio3ApplicationTests using Java 17.0.2 on DESKTOP-T3DQ8O1 with PID 58964 (started by Patricio Angel in C:\develop\wks_previred\desafio3) +2022-04-20 15:59:59.956 INFO 58964 --- [ main] c.zco.desafio3.Desafio3ApplicationTests : No active profile set, falling back to 1 default profile: "default" +2022-04-20 16:00:00.683 INFO 58964 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static org.springframework.context.ApplicationContext cl.zco.desafio3.Proveedor.contexto +2022-04-20 16:00:01.197 WARN 58964 --- [ main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration) +2022-04-20 16:00:01.332 INFO 58964 --- [ main] c.zco.desafio3.Desafio3ApplicationTests : Started Desafio3ApplicationTests in 1.981 seconds (JVM running for 3.802) + + . ____ _ __ _ _ + /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ +( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ + \\/ ___)| |_)| | | | | || (_| | ) ) ) ) + ' |____| .__|_| |_|_| |_\__, | / / / / + =========|_|==============|___/=/_/_/_/ + :: Spring Boot :: (v2.6.6) + +2022-04-20 16:00:02.189 INFO 58964 --- [ main] cl.zco.desafio3.Desafio3Application : Starting Desafio3Application using Java 17.0.2 on DESKTOP-T3DQ8O1 with PID 58964 (started by Patricio Angel in C:\develop\wks_previred\desafio3) +2022-04-20 16:00:02.190 INFO 58964 --- [ main] cl.zco.desafio3.Desafio3Application : No active profile set, falling back to 1 default profile: "default" +2022-04-20 16:00:02.353 INFO 58964 --- [ main] f.a.AutowiredAnnotationBeanPostProcessor : Autowired annotation is not supported on static fields: private static org.springframework.context.ApplicationContext cl.zco.desafio3.Proveedor.contexto +2022-04-20 16:00:02.416 WARN 58964 --- [ main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration) +2022-04-20 16:00:02.440 INFO 58964 --- [ main] cl.zco.desafio3.Desafio3Application : Started Desafio3Application in 0.297 seconds (JVM running for 4.911) +[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.441 s - in cl.zco.desafio3.Desafio3ApplicationTests +[INFO] Running cl.zco.desafio3.negocio.ConsumirJarPreviredTest +[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.438 s - in cl.zco.desafio3.negocio.ConsumirJarPreviredTest +[INFO] Running cl.zco.desafio3.negocio.ManejadorArchivosTest +2022-04-20 16:00:03.539 ERROR 58964 --- [ main] c.z.desafio3.negocio.ManejadorArchivos : null +[INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.022 s - in cl.zco.desafio3.negocio.ManejadorArchivosTest +[INFO] Running cl.zco.desafio3.util.DtoTest +[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 s - in cl.zco.desafio3.util.DtoTest +[INFO] Running cl.zco.desafio3.util.UtilTest +[INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 s - in cl.zco.desafio3.util.UtilTest +[INFO] +[INFO] Results: +[INFO] +[INFO] Tests run: 17, Failures: 0, Errors: 0, Skipped: 0 +[INFO] +[INFO] +[INFO] --- maven-jar-plugin:3.2.2:jar (default-jar) @ desafio3 --- +[INFO] Building jar: C:\develop\wks_previred\desafio3\target\desafio3-0.0.1-SNAPSHOT.jar +[INFO] +[INFO] --- spring-boot-maven-plugin:2.6.6:repackage (repackage) @ desafio3 --- +[INFO] Replacing main artifact with repackaged archive +[INFO] +[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ desafio3 --- +[INFO] Installing C:\develop\wks_previred\desafio3\target\desafio3-0.0.1-SNAPSHOT.jar to C:\Users\Patricio Angel\.m2\repository\cl\zco\desafio3\0.0.1-SNAPSHOT\desafio3-0.0.1-SNAPSHOT.jar +[INFO] Installing C:\develop\wks_previred\desafio3\pom.xml to C:\Users\Patricio Angel\.m2\repository\cl\zco\desafio3\0.0.1-SNAPSHOT\desafio3-0.0.1-SNAPSHOT.pom +[INFO] ------------------------------------------------------------------------ +[INFO] BUILD SUCCESS +[INFO] ------------------------------------------------------------------------ +[INFO] Total time: 12.360 s +[INFO] Finished at: 2022-04-20T16:00:06-04:00 +[INFO] ------------------------------------------------------------------------ diff --git a/evidencia/valores.json b/evidencia/valores.json new file mode 100644 index 0000000..f60c529 --- /dev/null +++ b/evidencia/valores.json @@ -0,0 +1,406 @@ +{ + "inicio": "2010-03-08", + "fin": "2013-07-15", + "UFs": [ + { + "fecha": "2013-07-15", + "dato": "22879.14" + }, + { + "fecha": "2013-07-14", + "dato": "22874.73" + }, + { + "fecha": "2013-07-13", + "dato": "22870.32" + }, + { + "fecha": "2013-07-12", + "dato": "22865.9" + }, + { + "fecha": "2013-07-11", + "dato": "22861.49" + }, + { + "fecha": "2013-07-10", + "dato": "22857.08" + }, + { + "fecha": "2013-07-09", + "dato": "22852.67" + }, + { + "fecha": "2013-07-08", + "dato": "22852.67" + }, + { + "fecha": "2013-07-07", + "dato": "22852.67" + }, + { + "fecha": "2013-07-06", + "dato": "22852.67" + }, + { + "fecha": "2013-07-05", + "dato": "22852.67" + }, + { + "fecha": "2013-07-04", + "dato": "22852.67" + }, + { + "fecha": "2013-07-03", + "dato": "22852.67" + }, + { + "fecha": "2013-07-02", + "dato": "22852.67" + }, + { + "fecha": "2013-07-01", + "dato": "22852.67" + }, + { + "fecha": "2013-06-30", + "dato": "22852.67" + }, + { + "fecha": "2013-06-29", + "dato": "22852.67" + }, + { + "fecha": "2013-06-28", + "dato": "22852.67" + }, + { + "fecha": "2013-06-27", + "dato": "22852.67" + }, + { + "fecha": "2013-06-26", + "dato": "22852.67" + }, + { + "fecha": "2013-06-25", + "dato": "22852.67" + }, + { + "fecha": "2013-06-24", + "dato": "22852.67" + }, + { + "fecha": "2013-06-23", + "dato": "22852.67" + }, + { + "fecha": "2013-06-22", + "dato": "22852.67" + }, + { + "fecha": "2013-06-21", + "dato": "22852.67" + }, + { + "fecha": "2013-06-20", + "dato": "22852.67" + }, + { + "fecha": "2013-06-19", + "dato": "22852.67" + }, + { + "fecha": "2013-06-18", + "dato": "22852.67" + }, + { + "fecha": "2013-06-17", + "dato": "22852.67" + }, + { + "fecha": "2013-06-16", + "dato": "22852.67" + }, + { + "fecha": "2013-06-15", + "dato": "22852.67" + }, + { + "fecha": "2013-06-14", + "dato": "22852.67" + }, + { + "fecha": "2013-06-13", + "dato": "22852.67" + }, + { + "fecha": "2013-06-12", + "dato": "22852.67" + }, + { + "fecha": "2013-06-11", + "dato": "22852.67" + }, + { + "fecha": "2013-06-10", + "dato": "22852.67" + }, + { + "fecha": "2013-06-09", + "dato": "22852.67" + }, + { + "fecha": "2013-06-08", + "dato": "22856.37" + }, + { + "fecha": "2013-06-07", + "dato": "22860.06" + }, + { + "fecha": "2013-06-06", + "dato": "22863.76" + }, + { + "fecha": "2013-06-05", + "dato": "22867.46" + }, + { + "fecha": "2013-06-04", + "dato": "22871.16" + }, + { + "fecha": "2013-06-03", + "dato": "22874.85" + }, + { + "fecha": "2013-06-02", + "dato": "22878.55" + }, + { + "fecha": "2013-06-01", + "dato": "22882.25" + }, + { + "fecha": "2013-05-31", + "dato": "22885.95" + }, + { + "fecha": "2013-05-30", + "dato": "22889.65" + }, + { + "fecha": "2013-05-29", + "dato": "22893.36" + }, + { + "fecha": "2013-05-28", + "dato": "22897.06" + }, + { + "fecha": "2013-05-27", + "dato": "22900.76" + }, + { + "fecha": "2013-05-26", + "dato": "22904.46" + }, + { + "fecha": "2013-05-25", + "dato": "22908.17" + }, + { + "fecha": "2013-05-24", + "dato": "22911.87" + }, + { + "fecha": "2013-05-23", + "dato": "22915.58" + }, + { + "fecha": "2013-05-22", + "dato": "22919.28" + }, + { + "fecha": "2013-05-21", + "dato": "22922.99" + }, + { + "fecha": "2013-05-20", + "dato": "22926.7" + }, + { + "fecha": "2013-05-19", + "dato": "22930.4" + }, + { + "fecha": "2013-05-18", + "dato": "22934.11" + }, + { + "fecha": "2013-05-17", + "dato": "22937.82" + }, + { + "fecha": "2013-05-16", + "dato": "22941.53" + }, + { + "fecha": "2013-05-15", + "dato": "22945.24" + }, + { + "fecha": "2013-05-14", + "dato": "22948.95" + }, + { + "fecha": "2013-05-13", + "dato": "22952.66" + }, + { + "fecha": "2013-05-12", + "dato": "22956.37" + }, + { + "fecha": "2013-05-11", + "dato": "22960.08" + }, + { + "fecha": "2013-05-10", + "dato": "22963.8" + }, + { + "fecha": "2013-05-09", + "dato": "22967.51" + }, + { + "fecha": "2013-05-08", + "dato": "22964.46" + }, + { + "fecha": "2013-05-07", + "dato": "22961.4" + }, + { + "fecha": "2013-05-06", + "dato": "22958.35" + }, + { + "fecha": "2013-05-05", + "dato": "22955.29" + }, + { + "fecha": "2013-05-04", + "dato": "22952.24" + }, + { + "fecha": "2013-05-03", + "dato": "22949.18" + }, + { + "fecha": "2013-05-02", + "dato": "22946.13" + }, + { + "fecha": "2013-05-01", + "dato": "22943.08" + }, + { + "fecha": "2013-04-30", + "dato": "22940.02" + }, + { + "fecha": "2013-04-29", + "dato": "22936.97" + }, + { + "fecha": "2013-04-28", + "dato": "22933.92" + }, + { + "fecha": "2013-04-27", + "dato": "22930.87" + }, + { + "fecha": "2013-04-26", + "dato": "22927.82" + }, + { + "fecha": "2013-04-25", + "dato": "22924.77" + }, + { + "fecha": "2013-04-24", + "dato": "22921.72" + }, + { + "fecha": "2013-04-23", + "dato": "22918.67" + }, + { + "fecha": "2013-04-22", + "dato": "22915.62" + }, + { + "fecha": "2013-04-21", + "dato": "22912.57" + }, + { + "fecha": "2013-04-20", + "dato": "22909.52" + }, + { + "fecha": "2013-04-19", + "dato": "22906.47" + }, + { + "fecha": "2013-04-18", + "dato": "22903.42" + }, + { + "fecha": "2013-04-17", + "dato": "22900.38" + }, + { + "fecha": "2013-04-16", + "dato": "22897.33" + }, + { + "fecha": "2013-04-15", + "dato": "22894.28" + }, + { + "fecha": "2013-04-14", + "dato": "22891.24" + }, + { + "fecha": "2013-04-13", + "dato": "22888.19" + }, + { + "fecha": "2013-04-12", + "dato": "22885.14" + }, + { + "fecha": "2013-04-11", + "dato": "22882.1" + }, + { + "fecha": "2013-04-10", + "dato": "22879.05" + }, + { + "fecha": "2013-04-09", + "dato": "22876.01" + }, + { + "fecha": "2013-04-08", + "dato": "22875.28" + }, + { + "fecha": "2013-04-07", + "dato": "22874.54" + } + ] +} diff --git a/files/valores.json b/files/valores.json new file mode 100644 index 0000000..dfabc42 --- /dev/null +++ b/files/valores.json @@ -0,0 +1,406 @@ +{ + "inicio": "2010-11-23", + "fin": "2012-10-25", + "UFs": [ + { + "fecha": "2012-10-25", + "dato": "22697.76" + }, + { + "fecha": "2012-10-24", + "dato": "22691.92" + }, + { + "fecha": "2012-10-23", + "dato": "22686.09" + }, + { + "fecha": "2012-10-22", + "dato": "22680.26" + }, + { + "fecha": "2012-10-21", + "dato": "22674.43" + }, + { + "fecha": "2012-10-20", + "dato": "22668.6" + }, + { + "fecha": "2012-10-19", + "dato": "22662.78" + }, + { + "fecha": "2012-10-18", + "dato": "22656.95" + }, + { + "fecha": "2012-10-17", + "dato": "22651.13" + }, + { + "fecha": "2012-10-16", + "dato": "22645.31" + }, + { + "fecha": "2012-10-15", + "dato": "22639.49" + }, + { + "fecha": "2012-10-14", + "dato": "22633.67" + }, + { + "fecha": "2012-10-13", + "dato": "22627.85" + }, + { + "fecha": "2012-10-12", + "dato": "22622.04" + }, + { + "fecha": "2012-10-11", + "dato": "22616.22" + }, + { + "fecha": "2012-10-10", + "dato": "22610.41" + }, + { + "fecha": "2012-10-09", + "dato": "22604.6" + }, + { + "fecha": "2012-10-08", + "dato": "22603.09" + }, + { + "fecha": "2012-10-07", + "dato": "22601.59" + }, + { + "fecha": "2012-10-06", + "dato": "22600.08" + }, + { + "fecha": "2012-10-05", + "dato": "22598.58" + }, + { + "fecha": "2012-10-04", + "dato": "22597.07" + }, + { + "fecha": "2012-10-03", + "dato": "22595.57" + }, + { + "fecha": "2012-10-02", + "dato": "22594.06" + }, + { + "fecha": "2012-10-01", + "dato": "22592.56" + }, + { + "fecha": "2012-09-30", + "dato": "22591.05" + }, + { + "fecha": "2012-09-29", + "dato": "22589.55" + }, + { + "fecha": "2012-09-28", + "dato": "22588.04" + }, + { + "fecha": "2012-09-27", + "dato": "22586.54" + }, + { + "fecha": "2012-09-26", + "dato": "22585.04" + }, + { + "fecha": "2012-09-25", + "dato": "22583.53" + }, + { + "fecha": "2012-09-24", + "dato": "22582.03" + }, + { + "fecha": "2012-09-23", + "dato": "22580.52" + }, + { + "fecha": "2012-09-22", + "dato": "22579.02" + }, + { + "fecha": "2012-09-21", + "dato": "22577.52" + }, + { + "fecha": "2012-09-20", + "dato": "22576.01" + }, + { + "fecha": "2012-09-19", + "dato": "22574.51" + }, + { + "fecha": "2012-09-18", + "dato": "22573.01" + }, + { + "fecha": "2012-09-17", + "dato": "22571.5" + }, + { + "fecha": "2012-09-16", + "dato": "22570.0" + }, + { + "fecha": "2012-09-15", + "dato": "22568.5" + }, + { + "fecha": "2012-09-14", + "dato": "22566.99" + }, + { + "fecha": "2012-09-13", + "dato": "22565.49" + }, + { + "fecha": "2012-09-12", + "dato": "22563.99" + }, + { + "fecha": "2012-09-11", + "dato": "22562.49" + }, + { + "fecha": "2012-09-10", + "dato": "22560.98" + }, + { + "fecha": "2012-09-09", + "dato": "22559.48" + }, + { + "fecha": "2012-09-08", + "dato": "22559.48" + }, + { + "fecha": "2012-09-07", + "dato": "22559.48" + }, + { + "fecha": "2012-09-06", + "dato": "22559.48" + }, + { + "fecha": "2012-09-05", + "dato": "22559.48" + }, + { + "fecha": "2012-09-04", + "dato": "22559.48" + }, + { + "fecha": "2012-09-03", + "dato": "22559.48" + }, + { + "fecha": "2012-09-02", + "dato": "22559.48" + }, + { + "fecha": "2012-09-01", + "dato": "22559.48" + }, + { + "fecha": "2012-08-31", + "dato": "22559.48" + }, + { + "fecha": "2012-08-30", + "dato": "22559.48" + }, + { + "fecha": "2012-08-29", + "dato": "22559.48" + }, + { + "fecha": "2012-08-28", + "dato": "22559.48" + }, + { + "fecha": "2012-08-27", + "dato": "22559.48" + }, + { + "fecha": "2012-08-26", + "dato": "22559.48" + }, + { + "fecha": "2012-08-25", + "dato": "22559.48" + }, + { + "fecha": "2012-08-24", + "dato": "22559.48" + }, + { + "fecha": "2012-08-23", + "dato": "22559.48" + }, + { + "fecha": "2012-08-22", + "dato": "22559.48" + }, + { + "fecha": "2012-08-21", + "dato": "22559.48" + }, + { + "fecha": "2012-08-20", + "dato": "22559.48" + }, + { + "fecha": "2012-08-19", + "dato": "22559.48" + }, + { + "fecha": "2012-08-18", + "dato": "22559.48" + }, + { + "fecha": "2012-08-17", + "dato": "22559.48" + }, + { + "fecha": "2012-08-16", + "dato": "22559.48" + }, + { + "fecha": "2012-08-15", + "dato": "22559.48" + }, + { + "fecha": "2012-08-14", + "dato": "22559.48" + }, + { + "fecha": "2012-08-13", + "dato": "22559.48" + }, + { + "fecha": "2012-08-12", + "dato": "22559.48" + }, + { + "fecha": "2012-08-11", + "dato": "22559.48" + }, + { + "fecha": "2012-08-10", + "dato": "22559.48" + }, + { + "fecha": "2012-08-09", + "dato": "22559.48" + }, + { + "fecha": "2012-08-08", + "dato": "22561.66" + }, + { + "fecha": "2012-08-07", + "dato": "22563.85" + }, + { + "fecha": "2012-08-06", + "dato": "22566.04" + }, + { + "fecha": "2012-08-05", + "dato": "22568.23" + }, + { + "fecha": "2012-08-04", + "dato": "22570.41" + }, + { + "fecha": "2012-08-03", + "dato": "22572.6" + }, + { + "fecha": "2012-08-02", + "dato": "22574.79" + }, + { + "fecha": "2012-08-01", + "dato": "22576.98" + }, + { + "fecha": "2012-07-31", + "dato": "22579.16" + }, + { + "fecha": "2012-07-30", + "dato": "22581.35" + }, + { + "fecha": "2012-07-29", + "dato": "22583.54" + }, + { + "fecha": "2012-07-28", + "dato": "22585.73" + }, + { + "fecha": "2012-07-27", + "dato": "22587.92" + }, + { + "fecha": "2012-07-26", + "dato": "22590.11" + }, + { + "fecha": "2012-07-25", + "dato": "22592.3" + }, + { + "fecha": "2012-07-24", + "dato": "22594.49" + }, + { + "fecha": "2012-07-23", + "dato": "22596.68" + }, + { + "fecha": "2012-07-22", + "dato": "22598.87" + }, + { + "fecha": "2012-07-21", + "dato": "22601.06" + }, + { + "fecha": "2012-07-20", + "dato": "22603.25" + }, + { + "fecha": "2012-07-19", + "dato": "22605.44" + }, + { + "fecha": "2012-07-18", + "dato": "22607.63" + } + ] +} diff --git a/jar/desafio3-0.0.1-SNAPSHOT.jar b/jar/desafio3-0.0.1-SNAPSHOT.jar new file mode 100644 index 0000000..635e9cc Binary files /dev/null and b/jar/desafio3-0.0.1-SNAPSHOT.jar differ diff --git a/jar/desafio3-0.0.1-SNAPSHOT.jar.original b/jar/desafio3-0.0.1-SNAPSHOT.jar.original new file mode 100644 index 0000000..9168191 Binary files /dev/null and b/jar/desafio3-0.0.1-SNAPSHOT.jar.original differ diff --git a/mvnw b/mvnw new file mode 100644 index 0000000..8a8fb22 --- /dev/null +++ b/mvnw @@ -0,0 +1,316 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`\\unset -f command; \\command -v java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..97f09af --- /dev/null +++ b/pom.xml @@ -0,0 +1,104 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.6 + + + cl.zco + desafio3 + 0.0.1-SNAPSHOT + desafio3 + Desafio 3 previred + + 1.8 + 1.6.4 + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-configuration-processor + true + + + com.google.code.gson + gson + 2.9.0 + + + commons-collections + commons-collections + 3.2.1 + + + commons-beanutils + commons-beanutils + 1.8.3 + + + org.apache.logging.log4j + log4j-spring-boot + 2.17.2 + + + org.mockito + mockito-all + 2.0.2-beta + test + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + + Generador_Datos_Desafio_Tres + Generador_Datos_Desafio_Tres + system + 1.0 + ${basedir}\lib\Generador_Datos_Desafio_Tres-1.0.0.jar + + + org.powermock + powermock-module-junit4 + ${powermock.version} + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + true + + + + src/test/java + + + src/main/resources + + **/*.jar + + + + + + diff --git a/resumen/cobertura/desafio3/index.html b/resumen/cobertura/desafio3/index.html new file mode 100644 index 0000000..d3272ea --- /dev/null +++ b/resumen/cobertura/desafio3/index.html @@ -0,0 +1 @@ +desafio3

      desafio3

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total62 of 92993 %8 of 2871 %119415249580014
      src/main/java4349191 %82071 %7631514514909
      src/test/java1937695 %n/a431010443105
      src/main/resourcesn/an/a00000000
      target/generated-sources/annotationsn/an/a00000000
      target/generated-test-sources/test-annotationsn/an/a00000000
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoJsonDTO.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoJsonDTO.html new file mode 100644 index 0000000..8d1b35c --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoJsonDTO.html @@ -0,0 +1 @@ +FormatoJsonDTO

      FormatoJsonDTO

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total0 of 24100 %0 of 0n/a0701107
      setInicio(String)4100 %n/a010201
      setFin(String)4100 %n/a010201
      setUFs(List)4100 %n/a010201
      FormatoJsonDTO()3100 %n/a010201
      getInicio()3100 %n/a010101
      getFin()3100 %n/a010101
      getUFs()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoJsonDTO.java.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoJsonDTO.java.html new file mode 100644 index 0000000..ec6eed8 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoJsonDTO.java.html @@ -0,0 +1,82 @@ +FormatoJsonDTO.java

      FormatoJsonDTO.java

      package cl.zco.desafio3.dto;
      +
      +import java.util.List;
      +
      +/**
      + * Clase FormatoJsonDTO.
      + * @author Patricio Angel
      + */
      +public class FormatoJsonDTO {
      +	
      +	/** The inicio. */
      +	private String inicio;
      +	
      +	/** The fin. */
      +	private String fin;
      +	
      +	/** The U fs. */
      +	private List<FormatoUfJsonDTO> UFs;
      +
      +	/**
      +	 * Instantiates a new formato json DTO.
      +	 */
      +	public FormatoJsonDTO() {
      +		super();
      +	}
      +
      +	/**
      +	 * Gets the inicio.
      +	 *
      +	 * @return the inicio
      +	 */
      +	public String getInicio() {
      +		return inicio;
      +	}
      +
      +	/**
      +	 * Sets the inicio.
      +	 *
      +	 * @param inicio the new inicio
      +	 */
      +	public void setInicio(String inicio) {
      +		this.inicio = inicio;
      +	}
      +
      +	/**
      +	 * Gets the fin.
      +	 *
      +	 * @return the fin
      +	 */
      +	public String getFin() {
      +		return fin;
      +	}
      +
      +	/**
      +	 * Sets the fin.
      +	 *
      +	 * @param fin the new fin
      +	 */
      +	public void setFin(String fin) {
      +		this.fin = fin;
      +	}
      +
      +	/**
      +	 * Gets the u fs.
      +	 *
      +	 * @return the u fs
      +	 */
      +	public List<FormatoUfJsonDTO> getUFs() {
      +		return UFs;
      +	}
      +
      +	/**
      +	 * Sets the u fs.
      +	 *
      +	 * @param uFs the new u fs
      +	 */
      +	public void setUFs(List<FormatoUfJsonDTO> uFs) {
      +		UFs = uFs;
      +	}
      +	
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoUfJsonDTO.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoUfJsonDTO.html new file mode 100644 index 0000000..850e1c2 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoUfJsonDTO.html @@ -0,0 +1 @@ +FormatoUfJsonDTO

      FormatoUfJsonDTO

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total0 of 23100 %0 of 0n/a0501005
      FormatoUfJsonDTO(String, String)9100 %n/a010401
      setFecha(String)4100 %n/a010201
      setDato(String)4100 %n/a010201
      getFecha()3100 %n/a010101
      getDato()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoUfJsonDTO.java.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoUfJsonDTO.java.html new file mode 100644 index 0000000..c578d93 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoUfJsonDTO.java.html @@ -0,0 +1,63 @@ +FormatoUfJsonDTO.java

      FormatoUfJsonDTO.java

      package cl.zco.desafio3.dto;
      +
      +/**
      + * Clase FormatoUfJsonDTO.
      + * @author Patricio Angel
      + */
      +public class FormatoUfJsonDTO {
      +	
      +	/** The fecha. */
      +	private String fecha;
      +	
      +	/** The dato. */
      +	private String dato;
      +	
      +	/**
      +	 * Instantiates a new formato uf json DTO.
      +	 *
      +	 * @param fecha the fecha
      +	 * @param dato the dato
      +	 */
      +	public FormatoUfJsonDTO(String fecha, String dato) {
      +		this.fecha = fecha;
      +		this.dato = dato;
      +	}
      +	
      +	/**
      +	 * Gets the fecha.
      +	 *
      +	 * @return the fecha
      +	 */
      +	public String getFecha() {
      +		return fecha;
      +	}
      +	
      +	/**
      +	 * Sets the fecha.
      +	 *
      +	 * @param fecha the new fecha
      +	 */
      +	public void setFecha(String fecha) {
      +		this.fecha = fecha;
      +	}
      +	
      +	/**
      +	 * Gets the dato.
      +	 *
      +	 * @return the dato
      +	 */
      +	public String getDato() {
      +		return dato;
      +	}
      +	
      +	/**
      +	 * Sets the dato.
      +	 *
      +	 * @param dato the new dato
      +	 */
      +	public void setDato(String dato) {
      +		this.dato = dato;
      +	}
      +	
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/index.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/index.html new file mode 100644 index 0000000..6709825 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/index.html @@ -0,0 +1 @@ +cl.zco.desafio3.dto

      cl.zco.desafio3.dto

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total0 of 47100 %0 of 0n/a01202101202
      FormatoJsonDTO24100 %n/a070110701
      FormatoUfJsonDTO23100 %n/a050100501
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/index.source.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/index.source.html new file mode 100644 index 0000000..a51e55c --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/index.source.html @@ -0,0 +1 @@ +cl.zco.desafio3.dto

      cl.zco.desafio3.dto

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total0 of 47100 %0 of 0n/a01202101202
      FormatoJsonDTO.java24100 %n/a070110701
      FormatoUfJsonDTO.java23100 %n/a050100501
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ConsumirJarPrevired.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ConsumirJarPrevired.html new file mode 100644 index 0000000..9429fad --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ConsumirJarPrevired.html @@ -0,0 +1 @@ +ConsumirJarPrevired

      ConsumirJarPrevired

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total0 of 107100 %1 of 250 %1902708
      obtenerValoresUF()63100 %1150 %1201401
      generarJson(Ufs, List)11100 %n/a010201
      cargarConfiguraciones()8100 %n/a010201
      ConsumirJarPrevired()6100 %n/a010201
      iniciar()5100 %n/a010201
      generarCSV(Ufs)5100 %n/a010201
      generarXML(Ufs)5100 %n/a010201
      static {...}4100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ConsumirJarPrevired.java.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ConsumirJarPrevired.java.html new file mode 100644 index 0000000..d9b4541 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ConsumirJarPrevired.java.html @@ -0,0 +1,122 @@ +ConsumirJarPrevired.java

      ConsumirJarPrevired.java

      package cl.zco.desafio3.negocio;
      +
      +import java.util.ArrayList;
      +import java.util.List;
      +
      +import org.apache.logging.log4j.LogManager;
      +import org.apache.logging.log4j.Logger;
      +
      +import com.previred.desafio.tres.uf.DatosUf;
      +import com.previred.desafio.tres.uf.Valores;
      +import com.previred.desafio.tres.uf.vo.Uf;
      +import com.previred.desafio.tres.uf.vo.Ufs;
      +
      +import cl.zco.desafio3.Configuracion;
      +import cl.zco.desafio3.Proveedor;
      +import cl.zco.desafio3.util.Constantes;
      +import cl.zco.desafio3.util.Util;
      +
      +/**
      + * The Class ConsumirJarPrevired.
      + * @author Patricio Angel
      + */
      +public class ConsumirJarPrevired {
      +	
      +	/** The log. */
      +	private static Logger log = LogManager.getLogger(ConsumirJarPrevired.class);
      +	
      +	/** The max elementos json. */
      +	private int maxElementosJson = 0;
      +	
      +	/**
      +	 * Iniciar.
      +	 * @return true, if successful
      +	 */
      +	public boolean iniciar() {
      +		cargarConfiguraciones();
      +		return obtenerValoresUF();
      +	}
      +	
      +	private void cargarConfiguraciones() {
      +		maxElementosJson = Proveedor.getContexto().getBean(Configuracion.class).getCantidadjson();
      +	}
      +	
      +	/**
      +	 * Metodo que obtiene los valores de las UF.
      +	 * 
      +	 * @return true, if successful
      +	 */
      +	public boolean obtenerValoresUF() {
      +		boolean resultado = false;
      +		
      +		// Punto 1: se obtienen los valores y se consume el jar.
      +		Valores valores = new Valores();
      +		Ufs ufs = valores.getRango();
      +		List<Uf> listUf = new ArrayList<>( ufs.getUfs());
      +		
      +		/**
      +		 *  Punto 2: el algoritmo que entiendo que hay que hacer es llenar las fechas faltantes
      +		 *  pero siento que es innesacio hacer un algoritmo para validar si está o no dado que 
      +		 *  el singleton que se llena al inicio ya tiene los valores, entonces con solo obtener
      +		 *  todo entre el rango deberia bastar.
      +		 */
      +		// Punto 3: aqui se utiliza el .getUfs() este trae todos los valores.
      +		List<Uf> listUfRango = DatosUf.getInstance().getUfs(ufs.getInicio(), ufs.getFin());
      +		boolean igualCantidad = Util.validacionElementosEnRango(listUf, listUfRango);
      +
      +		/**
      +		 *  Aqui podemos hacer de 2 maneras para agregar los que faltan entre el rango, una es con la lista 
      +		 *  tomar los extremos e ir consultando 1 a 1 y agreando si la fecha no esta, pero revisando es lo 
      +		 *  mismo traer la lista completa segun el rango y luego sobre esa lista ordenar.
      +		 *  > Validacion: de igual manera se validará que los que se encontraron dentro del rango estén todos en 
      +		 *  el ultimo listado.
      +		 */
      +		// Punto 4: se ordena de forma descendente
      +		Util.clasificarColeccion(listUfRango, false, Constantes.ATRIB_FECHA);
      +		
      +		if(igualCantidad) {
      +			log.trace("Todos los elementos de getRange() estan en el listado final.");
      +			resultado = true;
      +			resultado &= generarCSV(ufs);			    //FORMATO 1 //TODO: Pendiente para una nueva version
      +			resultado &= generarXML(ufs);			    //FORMATO 2 //TODO: Pendiente para una nueva version
      +			resultado &= generarJson(ufs, listUfRango); //FORMATO 3
      +		}
      +		
      +		return resultado;
      +	}
      +	
      +	/**
      +	 * Metodo para generar los CSV
      +	 * @param ufs parametro de entrada con data de ufs
      +	 * @return boolean generacion exitosa
      +	 */
      +	public boolean generarCSV(Ufs ufs) {
      +		log.trace("Se comienza con la generacion del csv");
      +		//TODO: solo era un formato de salida, asique queda pendiente.
      +		return true;
      +	}
      +	
      +	/**
      +	 * Metodo para generar los XML
      +	 * @param ufs parametro de entrada con data de ufs
      +	 * @return boolean generacion exitosa
      +	 */
      +	public boolean generarXML(Ufs ufs) {
      +		log.trace("Se comienza con la generacion del xml");
      +		//TODO: solo era un formato de salida, asique queda pendiente.
      +		return true;
      +	}
      +	
      +	/**
      +	 * Metodo que genera el json.
      +	 * @param ufs parametro de entrada con data de ufs
      +	 * @param listUfRango the list uf rango
      +	 * @return boolean generacion exitosa
      +	 */
      +	public boolean generarJson(Ufs ufs, List<Uf> listUfRango) {
      +		log.trace("Se comienza con la generacion del json");
      +		return ManejadorArchivos.crearFicheroJson(Util.convertiraJsonDTO(ufs,listUfRango,maxElementosJson), Constantes.RUTA_WKS_JSON);
      +	}
      +	
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ManejadorArchivos.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ManejadorArchivos.html new file mode 100644 index 0000000..04f98cf --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ManejadorArchivos.html @@ -0,0 +1 @@ +ManejadorArchivos

      ManejadorArchivos

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total0 of 61100 %0 of 4100 %0701705
      crearFicheroJson(FormatoJsonDTO, String, boolean)41100 %4100 %0301201
      existeCarpeta(String)8100 %n/a010201
      crearFicheroJson(FormatoJsonDTO, String)5100 %n/a010101
      static {...}4100 %n/a010101
      ManejadorArchivos()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ManejadorArchivos.java.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ManejadorArchivos.java.html new file mode 100644 index 0000000..fa769b0 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ManejadorArchivos.java.html @@ -0,0 +1,79 @@ +ManejadorArchivos.java

      ManejadorArchivos.java

      package cl.zco.desafio3.negocio;
      +
      +import java.io.File;
      +import java.io.FileNotFoundException;
      +import java.io.PrintWriter;
      +
      +import org.apache.logging.log4j.LogManager;
      +import org.apache.logging.log4j.Logger;
      +import org.springframework.core.NestedExceptionUtils;
      +
      +import com.google.gson.Gson;
      +import com.google.gson.GsonBuilder;
      +
      +import cl.zco.desafio3.dto.FormatoJsonDTO;
      +import cl.zco.desafio3.util.Constantes;
      +
      +/**
      + * Clase que manejará los archivos.
      + * @author Patricio Angel
      + *
      + */
      +public class ManejadorArchivos {
      +	
      +	/** The log. */
      +	private static Logger log = LogManager.getLogger(ManejadorArchivos.class);
      +
      +	/**
      +	 * Instantiates a new manejador archivos.
      +	 */
      +	public ManejadorArchivos() {super();}
      +	
      +	/**
      +	 * Crear fichero json.
      +	 * @param jsonDTO the json DTO
      +	 * @param destino the destino
      +	 * @return true, if successful
      +	 */
      +	public static boolean crearFicheroJson(FormatoJsonDTO jsonDTO, String destino) {
      +		return crearFicheroJson(jsonDTO, destino, false);
      +	}
      +	
      +	/**
      +	 * Crear fichero json.
      +	 * Metodo que crea el fichero valores.json.
      +	 * @param jsonDTO the json DTO
      +	 * @param destino the destino
      +	 * @param ignorarValidacion the ignorar validacion
      +	 * @return true, if successful
      +	 */
      +	public static boolean crearFicheroJson(FormatoJsonDTO jsonDTO, String destino, boolean ignorarValidacion) {
      +		try {
      +			if (!ignorarValidacion && !existeCarpeta(destino)) {
      +				destino = Constantes.RUTA_JAR_JSON;
      +			}
      +		    PrintWriter out = new PrintWriter(destino);
      +		    Gson gson = new GsonBuilder().setPrettyPrinting().create();
      +		    String json = gson.toJson(jsonDTO);
      +		    json = json.replace(Constantes.SIMBOLO_NUEVA_LINEA, System.lineSeparator());
      +		    out.println(json);
      +		    out.close();
      +		    return true;
      +		} catch (FileNotFoundException e) {
      +			log.error(NestedExceptionUtils.getRootCause(e));
      +			return false;
      +		}
      +	}
      +	
      +	/**
      +	 * Existe carpeta.
      +	 * Metodo que valida que exista carpeta segun ruta
      +	 * @param ruta the ruta
      +	 * @return true, if successful
      +	 */
      +	public static boolean existeCarpeta(String ruta) {
      +		File file = new File(ruta);
      +		return file.exists();
      +	}
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/index.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/index.html new file mode 100644 index 0000000..52da7b7 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/index.html @@ -0,0 +1 @@ +cl.zco.desafio3.negocio

      cl.zco.desafio3.negocio

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total0 of 168100 %1 of 683 %11604401302
      ConsumirJarPrevired107100 %1150 %190270801
      ManejadorArchivos61100 %4100 %070170501
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/index.source.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/index.source.html new file mode 100644 index 0000000..60e319d --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/index.source.html @@ -0,0 +1 @@ +cl.zco.desafio3.negocio

      cl.zco.desafio3.negocio

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total0 of 168100 %1 of 683 %11604401302
      ConsumirJarPrevired.java107100 %1150 %190270801
      ManejadorArchivos.java61100 %4100 %070170501
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Constantes.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Constantes.html new file mode 100644 index 0000000..f5257a0 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Constantes.html @@ -0,0 +1 @@ +Constantes

      Constantes

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total0 of 49100 %0 of 2100 %0401003
      static {...}35100 %n/a010801
      obtenerEtiqueta(String)11100 %2100 %020101
      Constantes()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Constantes.java.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Constantes.java.html new file mode 100644 index 0000000..14c4966 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Constantes.java.html @@ -0,0 +1,65 @@ +Constantes.java

      Constantes.java

      package cl.zco.desafio3.util;
      +
      +import java.util.HashMap;
      +
      +// TODO: Auto-generated Javadoc
      +/**
      + * Clase que contiene las constantes.
      + * @author Patricio Angel
      + */
      +public class Constantes {
      +	
      +	/** The Constant FORMATO_DD_MMM_YYYY. */
      +	public static final String FORMATO_DD_MMM_YYYY = "dd/MM/yyyy";
      +	
      +	/** The Constant FORMATO_YYYY_MM_DD. */
      +	public static final String FORMATO_YYYY_MM_DD = "yyyy-MM-dd";
      +	
      +	/** The Constant RUTA_WKS_JSON. */
      +	public static final String RUTA_WKS_JSON = "files/valores.json";
      +	
      +	/** The Constant RUTA_JAR_JSON. */
      +	public static final String RUTA_JAR_JSON =  "C:\\files\\valores.json";
      +	
      +	/** The Constant SIMBOLO_NUEVA_LINEA. */
      +	public static final String SIMBOLO_NUEVA_LINEA = "\\n";
      +	
      +	/** The Constant ATRIB_FECHA. */
      +	public static final String ATRIB_FECHA = "fecha";
      +	
      +	/** The Constant VACIO. */
      +	public static final String VACIO = "";
      +	
      +	/** The etiquetas. */
      +	private static HashMap<String,String> etiquetas = new HashMap<>();
      +	
      +	/**
      +	 * Bloque de codigo para inicializar las etiquetas.
      +	 */
      +	static {
      +		etiquetas.put("mensaj.portada.desa","Bienvenido al desafio número 3, el archivo json generado quedará en la ruta /files/valores.json");
      +		etiquetas.put("mensaj.portada.jar","Bienvenido al desafio número 3, no olvidar tener creada la carpeta en C:\\files\\ para poder ver el json resultante");
      +		etiquetas.put("mensaj.final.ok.desa","Se ha creado correctamente el archivo en /files/valores.json");
      +		etiquetas.put("mensaj.final.ok.jar","Se ha creado correctamente el archivo en C:\\files\\valores.json");
      +		etiquetas.put("mensaj.final.error","El proceso de creación a fallado, intente nuevamente");
      +		etiquetas.put("mensaj.final.ok.ini","Se ha creado correctamente el archivo en ");
      +	}
      +	
      +	/**
      +	 * Instantiates a new constantes.
      +	 */
      +	public Constantes() {super();}
      +	
      +	/**
      +	 * Metodo que obtiene la etiqueta mapeaa
      +	 * (alternativa rapida concentrar todas las etiquetas, la idea es luego pasar estos codigo
      +	 * de etiquetas a i18).
      +	 *
      +	 * @param codigo the codigo
      +	 * @return the string
      +	 */
      +	public static String obtenerEtiqueta(String codigo) {
      +		return etiquetas.get(codigo) == null ? VACIO : etiquetas.get(codigo);
      +	} 
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Util.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Util.html new file mode 100644 index 0000000..db403bc --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Util.html @@ -0,0 +1 @@ +Util

      Util

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total9 of 16894 %2 of 1485 %317337110
      controlExcepcion(String)50 %n/a112211
      controlExcepcion(String, Integer)41680 %1150 %121501
      clasificarColeccion(List, boolean, String[])43100 %4100 %030901
      convertiraJsonDTO(Ufs, List, int)31100 %2100 %020801
      convertiraJsonUfDTO(List, int)21100 %1375 %130501
      validacionElementosEnRango(List, List)19100 %2100 %020301
      lambda$0(List, Uf)13100 %n/a010201
      obtenerFechaFormato(Date, String)9100 %n/a010201
      lambda$1(List, Uf)4100 %n/a010101
      Util()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Util.java.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Util.java.html new file mode 100644 index 0000000..1867f18 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Util.java.html @@ -0,0 +1,143 @@ +Util.java

      Util.java

      package cl.zco.desafio3.util;
      +
      +import java.text.SimpleDateFormat;
      +import java.util.ArrayList;
      +import java.util.Collection;
      +import java.util.Collections;
      +import java.util.Comparator;
      +import java.util.Date;
      +import java.util.List;
      +
      +import javax.swing.JOptionPane;
      +
      +import org.apache.commons.beanutils.BeanComparator;
      +import org.apache.commons.collections.ComparatorUtils;
      +import org.apache.commons.collections.comparators.NullComparator;
      +import org.apache.commons.collections.comparators.ReverseComparator;
      +
      +import com.previred.desafio.tres.uf.vo.Uf;
      +import com.previred.desafio.tres.uf.vo.Ufs;
      +
      +import cl.zco.desafio3.dto.FormatoJsonDTO;
      +import cl.zco.desafio3.dto.FormatoUfJsonDTO;
      +
      +// TODO: Auto-generated Javadoc
      +/**
      + * Clase que contiene las utilidades del aplicativo.
      + */
      +public class Util {
      +	
      +	/**
      +	 * Metodo que obtiene la fecha y le da el formato recibido.
      +	 *
      +	 * @param fecha parametro con la fecha
      +	 * @param formato the formato
      +	 * @return String con la fecha de salida
      +	 */
      +	public static String obtenerFechaFormato(Date fecha,String formato) {
      +		 SimpleDateFormat formatoFecha =  new SimpleDateFormat(formato);
      +		 return formatoFecha.format(fecha);
      +	}
      +	
      +	/**
      +	 * Metodo que ordena lo que reciba y en base al nombre del atributo. 
      +	 * @param <T> cualquier elemento
      +	 * @param list lista del elemento T
      +	 * @param esAscendente boolean que indica si la lista sera asc o desc
      +	 * @param bean este es el atributo de la clase por el cual se va a ordenar
      +	 */
      +	@SuppressWarnings("unchecked")
      +	public static <T> void clasificarColeccion(List<T> list, boolean esAscendente, String... bean) {
      +		Comparator<T> nullComparator = new NullComparator(esAscendente);
      +		Collection<Comparator<T>> beanComparatorCollection = new ArrayList<>( bean.length);
      +		for (int i = 0; i < bean.length; i++) {
      +			beanComparatorCollection.add(new BeanComparator(bean[i], nullComparator));
      +		}
      +		Comparator<T> finalComparator = ComparatorUtils.chainedComparator(beanComparatorCollection);
      +		if (!esAscendente) {
      +			finalComparator = new ReverseComparator(finalComparator);
      +		}
      +		Collections.sort(list, finalComparator);
      +	}
      +	
      +	/**
      +	 * Convertir a json DTO. 
      +	 * Metodo que convierte el ufs a formato json dto
      +	 *
      +	 * @param ufs the ufs
      +	 * @param listUfRango the list uf rango
      +	 * @param maxJson the max json
      +	 * @return the formato json DTO
      +	 */
      +	public static FormatoJsonDTO convertiraJsonDTO(Ufs ufs,List<Uf> listUfRango, int maxJson) {
      +		FormatoJsonDTO dto  = new FormatoJsonDTO();
      +		dto.setInicio(obtenerFechaFormato(ufs.getInicio(), Constantes.FORMATO_YYYY_MM_DD));
      +		dto.setFin(obtenerFechaFormato(ufs.getFin(), Constantes.FORMATO_YYYY_MM_DD));
      +		if(listUfRango == null){
      +			dto.setUFs(new ArrayList<>());
      +		}else {
      +			dto.setUFs(convertiraJsonUfDTO(listUfRango, maxJson));
      +		}
      +		return dto; 
      +	}
      +	
      +	/**
      +	 * Convertira json uf DTO.
      +	  *Metodo que convierte al DTO jsonUF en base al UF recibido.
      +	 * @param listUf the list uf
      +	 * @param maxJson the max json
      +	 * @return the list
      +	 */
      +	public static List<FormatoUfJsonDTO> convertiraJsonUfDTO( List<Uf> listUf,int maxJson) {
      +		List<FormatoUfJsonDTO> listUfDTO = new ArrayList<>();
      +		if(maxJson != 0 && listUf.size()>maxJson) {
      +			listUf = listUf.subList(0, maxJson);
      +		}
      +		listUf.forEach(uf -> 
      +			listUfDTO.add(new FormatoUfJsonDTO(obtenerFechaFormato(uf.getFecha(), Constantes.FORMATO_YYYY_MM_DD),
      +					uf.getValor().toString()))
      +		);
      +		return listUfDTO;
      +	}
      +	
      +	/**
      +	 * metodo que valida que los elementos retornados de getRange() esten en la lista.
      +	 *
      +	 * @param listUf the list uf
      +	 * @param listUfRango the list uf rango
      +	 * @return verdadero si todos los elementos de la lista a se encuetran en la lista b.
      +	 */
      +	public static boolean validacionElementosEnRango(List<Uf> listUf, List<Uf> listUfRango) {
      +		int cantidad = listUf.size();
      +		Long encontrado = listUfRango.stream().filter(uf -> listUf.contains(uf)).count();
      +		return cantidad == encontrado.intValue();
      +	}
      +	
      +	/**
      +	 * Metodo sobrecargado para controlar la excepcion.
      +	 *
      +	 * @param msg mensaje a mostrar por pantalla
      +	 * @throws Throwable the throwable
      +	 */
      +	public static void controlExcepcion(String msg) throws Throwable {
      +		controlExcepcion(msg, JOptionPane.INFORMATION_MESSAGE);
      +	}
      +	
      +	/**
      +	 * Control excepcion.
      +	 * Metodo creado para controlar la excepcion en caso de inconveniente
      +	 * @param msg the msg
      +	 * @param optionMsg the option msg
      +	 * @throws Throwable the throwable
      +	 */
      +	public static void controlExcepcion(String msg , Integer optionMsg) throws Throwable {
      +		try {
      +			JOptionPane.showMessageDialog(null, msg, 
      +					optionMsg.equals(JOptionPane.INFORMATION_MESSAGE) ? "Información" : "Error", optionMsg );
      +		} catch (Exception e) {
      +			throw new Throwable();
      +		}
      +	}
      +
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/index.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/index.html new file mode 100644 index 0000000..29653d6 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/index.html @@ -0,0 +1 @@ +cl.zco.desafio3.util

      cl.zco.desafio3.util

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total9 of 21795 %2 of 1687 %32134711302
      Util915994 %21285 %31733711001
      Constantes49100 %2100 %040100301
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/index.source.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/index.source.html new file mode 100644 index 0000000..0c079c0 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/index.source.html @@ -0,0 +1 @@ +cl.zco.desafio3.util

      cl.zco.desafio3.util

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total9 of 21795 %2 of 1687 %32134711302
      Util.java915994 %21285 %31733711001
      Constantes.java49100 %2100 %040100301
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Configuracion.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Configuracion.html new file mode 100644 index 0000000..c9bc3a2 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Configuracion.html @@ -0,0 +1 @@ +Configuracion

      Configuracion

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total0 of 27100 %0 of 0n/a050905
      toString()11100 %n/a010101
      Configuracion(int)6100 %n/a010301
      setCantidadjson(int)4100 %n/a010201
      Configuracion()3100 %n/a010201
      getCantidadjson()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Configuracion.java.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Configuracion.java.html new file mode 100644 index 0000000..3b28820 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Configuracion.java.html @@ -0,0 +1,64 @@ +Configuracion.java

      Configuracion.java

      package cl.zco.desafio3;
      +
      +import org.springframework.boot.context.properties.ConfigurationProperties;
      +
      +// TODO: Auto-generated Javadoc
      +/**
      + * Clase de configuracion, en esta tendremos las configuraciones de un archivo
      + * propierties y que tengan el prefijo 'desafio3'.
      + *
      + * @author Patricio Angel
      + */
      +@ConfigurationProperties(prefix = "desafio3")
      +public class Configuracion {
      +
      +	/** The cantidadjson. */
      +	private int cantidadjson;
      +
      +	/**
      +	 * Constructor de la clase Configuracion con parametros.
      +	 *
      +	 * @param cantidadjson the cantidadjson
      +	 */
      +	public Configuracion( int cantidadjson) {
      +		super();
      +		this.cantidadjson = cantidadjson;
      +	}
      +
      +	/**
      +	 * Constructor de la clase Configuracion sin parametros.
      +	 */
      +	public Configuracion() {
      +	}
      +	
      +	/**
      +	 * Gets the cantidadjson.
      +	 *
      +	 * @return the cantidadjson
      +	 */
      +	public int getCantidadjson() {
      +		return cantidadjson;
      +	}
      +
      +	/**
      +	 * Sets the cantidadjson.
      +	 *
      +	 * @param cantidadjson the new cantidadjson
      +	 */
      +	public void setCantidadjson(int cantidadjson) {
      +		this.cantidadjson = cantidadjson;
      +	}
      +
      +	/**
      +	 * To string.
      +	 *
      +	 * @return the string
      +	 */
      +	@Override
      +	public String toString() {
      +		return "Configuracion [cantidadjson=" + cantidadjson + "]";
      +	}
      +
      +
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Desafio3Application.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Desafio3Application.html new file mode 100644 index 0000000..6d10245 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Desafio3Application.html @@ -0,0 +1 @@ +Desafio3Application

      Desafio3Application

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total34 of 6749 %5 of 616 %36122003
      iniciarAplicacion()32513 %5116 %34101201
      main(String[])22592 %n/a012701
      Desafio3Application()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Desafio3Application.java.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Desafio3Application.java.html new file mode 100644 index 0000000..712e559 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Desafio3Application.java.html @@ -0,0 +1,61 @@ +Desafio3Application.java

      Desafio3Application.java

      package cl.zco.desafio3;
      +
      +import javax.swing.JOptionPane;
      +
      +import org.springframework.boot.autoconfigure.SpringBootApplication;
      +import org.springframework.boot.builder.SpringApplicationBuilder;
      +import org.springframework.boot.context.properties.EnableConfigurationProperties;
      +import org.springframework.context.ConfigurableApplicationContext;
      +import org.springframework.context.annotation.PropertySource;
      +
      +import cl.zco.desafio3.negocio.ConsumirJarPrevired;
      +import cl.zco.desafio3.negocio.ManejadorArchivos;
      +import cl.zco.desafio3.util.Constantes;
      +import cl.zco.desafio3.util.Util;
      +
      +/**
      + * The Class Desafio3Application.
      + */
      +@SpringBootApplication
      +@PropertySource(value = {"classpath:desafio3.properties"})
      +@EnableConfigurationProperties(value = {Configuracion.class})
      +public class Desafio3Application {
      +
      +	/**
      +	 * The main method.
      +	 * @param args the arguments
      +	 * @throws Throwable the throwable
      +	 */
      +	public static void main(String[] args) throws Throwable {
      +		SpringApplicationBuilder constructor = new SpringApplicationBuilder(Desafio3Application.class);
      +		constructor.headless(false);
      +		ConfigurableApplicationContext contextoAplicacion = constructor.run(args);
      +		Proveedor proveedor = new Proveedor();
      +		proveedor.setApplicationContext(contextoAplicacion);
      +		iniciarAplicacion();
      +	}
      +	
      +	/**
      +	 * Iniciar aplicacion.
      +	 * @throws Throwable the throwable
      +	 */
      +	public static void iniciarAplicacion() throws Throwable {
      +		boolean modoDesarrollador = ManejadorArchivos.existeCarpeta(Constantes.RUTA_WKS_JSON);
      +		if(modoDesarrollador) {
      +			Util.controlExcepcion(Constantes.obtenerEtiqueta("mensaj.portada.desa"));
      +		}	else {
      +			Util.controlExcepcion(Constantes.obtenerEtiqueta("mensaj.portada.jar"));
      +		}
      +		
      +		ConsumirJarPrevired consumir = new ConsumirJarPrevired();
      +		boolean completado = consumir.iniciar();
      +		if(completado) {
      +			Util.controlExcepcion(Constantes.obtenerEtiqueta("mensaj.final.ok.ini").concat(modoDesarrollador ? Constantes.RUTA_WKS_JSON : Constantes.RUTA_JAR_JSON));
      +		}else {
      +			Util.controlExcepcion(Constantes.obtenerEtiqueta("mensaj.final.error"),  JOptionPane.ERROR_MESSAGE);
      +		}
      +		
      +	}
      +	
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Proveedor.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Proveedor.html new file mode 100644 index 0000000..b6d8b2c --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Proveedor.html @@ -0,0 +1 @@ +Proveedor

      Proveedor

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total0 of 8100 %0 of 0n/a030403
      Proveedor()3100 %n/a010101
      setApplicationContext(ApplicationContext)3100 %n/a010201
      getContexto()2100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Proveedor.java.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Proveedor.java.html new file mode 100644 index 0000000..962c8c1 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Proveedor.java.html @@ -0,0 +1,40 @@ +Proveedor.java

      Proveedor.java

      package cl.zco.desafio3;
      +
      +import org.springframework.beans.BeansException;
      +import org.springframework.beans.factory.annotation.Autowired;
      +import org.springframework.context.ApplicationContext;
      +import org.springframework.context.ApplicationContextAware;
      +import org.springframework.stereotype.Component;
      +
      +/**
      + * Clase con el proveedor del contexto.
      + * @author Patricio Angel
      + *
      + */
      +@Component
      +public class Proveedor implements ApplicationContextAware{
      +	
      +	/** The contexto. */
      +	@Autowired
      +	private static ApplicationContext contexto;
      +
      +	/**
      +	 * Sets the application context.
      +	 * @param applicationContext the new application context
      +	 * @throws BeansException the beans exception
      +	 */
      +	@Override
      +	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
      +		contexto = applicationContext;
      +	}
      +
      +	/**
      +	 * Gets the contexto.
      +	 * @return the contexto
      +	 */
      +	public static ApplicationContext getContexto() {
      +		return contexto;
      +	}
      + 
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/index.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/index.html new file mode 100644 index 0000000..6f275ea --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/index.html @@ -0,0 +1 @@ +cl.zco.desafio3

      cl.zco.desafio3

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total34 of 10266 %5 of 616 %314123301103
      Desafio3Application343349 %5116 %3612200301
      Configuracion27100 %n/a05090501
      Proveedor8100 %n/a03040301
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/index.source.html b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/index.source.html new file mode 100644 index 0000000..2163c12 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/index.source.html @@ -0,0 +1 @@ +cl.zco.desafio3

      cl.zco.desafio3

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total34 of 10266 %5 of 616 %314123301103
      Desafio3Application.java343349 %5116 %3612200301
      Configuracion.java27100 %n/a05090501
      Proveedor.java8100 %n/a03040301
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_java/index.html b/resumen/cobertura/desafio3/src_main_java/index.html new file mode 100644 index 0000000..cd0a7b7 --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_java/index.html @@ -0,0 +1 @@ +src/main/java

      src/main/java

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total43 of 53491 %8 of 2871 %7631514514909
      cl.zco.desafio3346866 %5116 %314123301103
      cl.zco.desafio3.util920895 %21487 %32134711302
      cl.zco.desafio3.negocio168100 %1583 %11604401302
      cl.zco.desafio3.dto47100 %n/a01202101202
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_main_resources/index.html b/resumen/cobertura/desafio3/src_main_resources/index.html new file mode 100644 index 0000000..41f0b8b --- /dev/null +++ b/resumen/cobertura/desafio3/src_main_resources/index.html @@ -0,0 +1 @@ +src/main/resources

      src/main/resources

      No class files specified.

      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ConsumirJarPreviredTest.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ConsumirJarPreviredTest.html new file mode 100644 index 0000000..cbf6982 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ConsumirJarPreviredTest.html @@ -0,0 +1 @@ +ConsumirJarPreviredTest

      ConsumirJarPreviredTest

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total0 of 18100 %0 of 0n/a030703
      setUp()8100 %n/a010301
      obtenerFechaFormato()7100 %n/a010301
      ConsumirJarPreviredTest()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ConsumirJarPreviredTest.java.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ConsumirJarPreviredTest.java.html new file mode 100644 index 0000000..12ec25b --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ConsumirJarPreviredTest.java.html @@ -0,0 +1,38 @@ +ConsumirJarPreviredTest.java

      ConsumirJarPreviredTest.java

      package cl.zco.desafio3.negocio;
      +
      +import static org.assertj.core.api.Assertions.assertThatNoException;
      +
      +import org.junit.jupiter.api.BeforeEach;
      +import org.junit.jupiter.api.Test;
      +import org.mockito.MockitoAnnotations;
      +
      +// TODO: Auto-generated Javadoc
      +/**
      + * The Class ConsumirJarPreviredTest.
      + */
      +@SuppressWarnings("deprecation")
      +class ConsumirJarPreviredTest {
      +	
      +	/** The jar previred. */
      +	private ConsumirJarPrevired jarPrevired;
      +	
      +	/**
      +	 * Sets the up.
      +	 */
      +	@BeforeEach
      +	void setUp() {
      +		MockitoAnnotations.initMocks(this);
      +		jarPrevired = new ConsumirJarPrevired();
      +	}
      +	
      +	/**
      +	 * Obtener fecha formato.
      +	 */
      +	@Test
      +	void obtenerFechaFormato() {
      +		jarPrevired.iniciar();
      +		assertThatNoException();
      +	}
      +	
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ManejadorArchivosTest.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ManejadorArchivosTest.html new file mode 100644 index 0000000..c5e3abc --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ManejadorArchivosTest.html @@ -0,0 +1 @@ +ManejadorArchivosTest

      ManejadorArchivosTest

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total6 of 6891 %0 of 0n/a1802118
      lambda$crearFicheroJsonRutaNula$0()60 %n/a111111
      setUp()20100 %n/a010601
      crearFicheroJsonRutaInexistenteNoValidacion()9100 %n/a010301
      crearFicheroJsonRutaInexistente()9100 %n/a010301
      crearFicheroJson()8100 %n/a010301
      crearFicheroJsonSinJsonDTO()7100 %n/a010301
      crearFicheroJsonRutaNula()6100 %n/a010201
      ManejadorArchivosTest()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ManejadorArchivosTest.java.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ManejadorArchivosTest.java.html new file mode 100644 index 0000000..286e4f3 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ManejadorArchivosTest.java.html @@ -0,0 +1,81 @@ +ManejadorArchivosTest.java

      ManejadorArchivosTest.java

      package cl.zco.desafio3.negocio;
      +
      +import static org.assertj.core.api.Assertions.assertThatNoException;
      +import static org.junit.jupiter.api.Assertions.assertThrows;
      +
      +import org.junit.jupiter.api.BeforeEach;
      +import org.junit.jupiter.api.Test;
      +import org.mockito.MockitoAnnotations;
      +
      +import cl.zco.desafio3.dto.FormatoJsonDTO;
      +import cl.zco.desafio3.util.Constantes;
      +
      +/**
      + * The Class ManejadorArchivosTest.
      + */
      +@SuppressWarnings({ "unused", "deprecation" })
      +class ManejadorArchivosTest {
      +	
      +	/** The json DTO. */
      +	private FormatoJsonDTO jsonDTO;
      +	
      +	/**
      +	 * Sets the up.
      +	 */
      +	
      +	@BeforeEach
      +	void setUp() {
      +		MockitoAnnotations.initMocks(this);
      +		ManejadorArchivos ma = new ManejadorArchivos();
      +		jsonDTO = new FormatoJsonDTO();
      +		jsonDTO.setInicio("");
      +		jsonDTO.setFin("");
      +		
      +	}
      +	
      +	/**
      +	 * Caso cuando se quiere crear un fichero pero con ruta nula.
      +	 */
      +	@Test
      +	void crearFicheroJsonRutaNula() {
      +		assertThrows(NullPointerException.class, () -> 	ManejadorArchivos.crearFicheroJson(jsonDTO, null));
      +	}
      +	
      +	/**
      +	 * Caso cuando se quiere crear un fichero pero con ruta inexistente.
      +	 */
      +	@Test
      +	void crearFicheroJsonRutaInexistenteNoValidacion() {
      +		ManejadorArchivos.crearFicheroJson(jsonDTO, "/nopath",true);
      +		assertThatNoException(); //Excepcion controlada
      +	}
      +	
      +	/**
      +	 * Crear fichero json ruta inexistente.
      +	 */
      +	@Test
      +	void crearFicheroJsonRutaInexistente() {
      +		ManejadorArchivos.crearFicheroJson(jsonDTO, "/nopath",false);
      +		assertThatNoException(); //Excepcion controlada
      +	}
      +	
      +	/**
      +	 * Caso cuando va sin el jsonDTO.
      +	 */
      +	@Test
      +	void crearFicheroJsonSinJsonDTO() {
      +		ManejadorArchivos.crearFicheroJson(null, Constantes.RUTA_WKS_JSON);
      +		assertThatNoException();
      +	}
      +	
      +	/**
      +	 * Caso con todos los parametros.
      +	 */
      +	@Test
      +	void crearFicheroJson() {
      +		ManejadorArchivos.crearFicheroJson(jsonDTO, Constantes.RUTA_WKS_JSON);
      +		assertThatNoException();
      +	}
      +	
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/index.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/index.html new file mode 100644 index 0000000..a7380d0 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/index.html @@ -0,0 +1 @@ +cl.zco.desafio3.negocio

      cl.zco.desafio3.negocio

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total6 of 8693 %0 of 0n/a11102811102
      ManejadorArchivosTest66291 %n/a180211801
      ConsumirJarPreviredTest18100 %n/a03070301
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/index.source.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/index.source.html new file mode 100644 index 0000000..41e1ae3 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/index.source.html @@ -0,0 +1 @@ +cl.zco.desafio3.negocio

      cl.zco.desafio3.negocio

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total6 of 8693 %0 of 0n/a11102811102
      ManejadorArchivosTest.java66291 %n/a180211801
      ConsumirJarPreviredTest.java18100 %n/a03070301
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/DtoTest.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/DtoTest.html new file mode 100644 index 0000000..e1a3ee9 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/DtoTest.html @@ -0,0 +1 @@ +DtoTest

      DtoTest

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total0 of 75100 %0 of 0n/a0502205
      construyeJson()30100 %n/a010801
      obtenerDatosJsonDto()23100 %n/a010701
      setUp()13100 %n/a010301
      construirJsonDto()6100 %n/a010301
      DtoTest()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/DtoTest.java.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/DtoTest.java.html new file mode 100644 index 0000000..a40aa3b --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/DtoTest.java.html @@ -0,0 +1,71 @@ +DtoTest.java

      DtoTest.java

      package cl.zco.desafio3.util;
      +
      +import static org.junit.jupiter.api.Assertions.assertNotNull;
      +
      +import java.util.ArrayList;
      +import java.util.List;
      +
      +import org.junit.jupiter.api.BeforeEach;
      +import org.junit.jupiter.api.Test;
      +
      +import cl.zco.desafio3.dto.FormatoJsonDTO;
      +import cl.zco.desafio3.dto.FormatoUfJsonDTO;
      +
      +/**
      + * The Class UtilTest.
      + */
      +class DtoTest {
      +	
      +	/** The formato json DTO. */
      +	private FormatoJsonDTO formatoJsonDTO;
      +	
      +	/** The formato uf json DTO. */
      +	private FormatoUfJsonDTO formatoUfJsonDTO;
      +	
      +	/**
      +	 * Sets the up.
      +	 */
      +	@BeforeEach
      +	void setUp() {
      +		formatoJsonDTO = new FormatoJsonDTO();
      +		formatoUfJsonDTO = new FormatoUfJsonDTO(null, null);
      +	}
      +	
      +	/**
      +	 * Construye json.
      +	 */
      +	private void construyeJson() {
      +		formatoUfJsonDTO.setFecha("01/01/1990");
      +		formatoUfJsonDTO.setDato("22222.11");
      +		List<FormatoUfJsonDTO> listUf = new ArrayList<FormatoUfJsonDTO>();
      +		listUf.add(formatoUfJsonDTO);
      +		
      +		formatoJsonDTO.setInicio("01/01/1990");
      +		formatoJsonDTO.setFin("01/01/2000");
      +		formatoJsonDTO.setUFs(listUf);
      +	}
      +	
      +	/**
      +	 * Obtener fecha formato.
      +	 */
      +	@Test
      +	void construirJsonDto() {
      +		construyeJson();
      +		assertNotNull(formatoJsonDTO);
      +	}
      +	
      +	/**
      +	 * Obtener datos json dto.
      +	 */
      +	@Test
      +	void obtenerDatosJsonDto() {
      +		construyeJson();
      +		assertNotNull(formatoJsonDTO.getInicio());
      +		assertNotNull(formatoJsonDTO.getFin());
      +		assertNotNull(formatoJsonDTO.getUFs());
      +		assertNotNull(formatoUfJsonDTO.getDato());
      +		assertNotNull(formatoUfJsonDTO.getFecha());
      +	}
      +	
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/UtilTest.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/UtilTest.html new file mode 100644 index 0000000..90ea643 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/UtilTest.html @@ -0,0 +1 @@ +UtilTest

      UtilTest

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total10 of 21195 %0 of 0n/a212050212
      lambda$validacionElementosEnRangoElementoNulo$1(List)50 %n/a111111
      lambda$validacionElementosEnRango$0(List)50 %n/a111111
      validacionElementosEnRango()45100 %n/a0101101
      convertiraJsonDTO()40100 %n/a010901
      validacionElementosEnRangoElementoNulo()33100 %n/a010801
      setUp()30100 %n/a010801
      clasificarColeccion()25100 %n/a010401
      validarConfiguraciones()9100 %n/a010301
      obtenerFechaFormato()6100 %n/a010201
      obtenerEtiqueta()5100 %n/a010201
      obtenerEtiquetaNull()5100 %n/a010201
      UtilTest()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/UtilTest.java.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/UtilTest.java.html new file mode 100644 index 0000000..0dea897 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/UtilTest.java.html @@ -0,0 +1,141 @@ +UtilTest.java

      UtilTest.java

      package cl.zco.desafio3.util;
      +
      +import static org.assertj.core.api.Assertions.assertThatNoException;
      +import static org.junit.jupiter.api.Assertions.assertEquals;
      +import static org.junit.jupiter.api.Assertions.assertFalse;
      +import static org.junit.jupiter.api.Assertions.assertNotNull;
      +import static org.junit.jupiter.api.Assertions.assertThrows;
      +import static org.junit.jupiter.api.Assertions.assertTrue;
      +
      +import java.util.ArrayList;
      +import java.util.Calendar;
      +import java.util.HashSet;
      +import java.util.List;
      +
      +import org.junit.jupiter.api.BeforeEach;
      +import org.junit.jupiter.api.Test;
      +import org.mockito.MockitoAnnotations;
      +
      +import com.previred.desafio.tres.uf.vo.Uf;
      +import com.previred.desafio.tres.uf.vo.Ufs;
      +
      +import cl.zco.desafio3.Configuracion;
      +
      +/**
      + * The Class UtilTest.
      + */
      +class UtilTest {
      +	
      +	/** The ufs. */
      +	private Ufs ufs; 
      +	
      +	/**
      +	 * Sets the up.
      +	 */
      +	@SuppressWarnings({ "deprecation", "unused" })
      +	@BeforeEach
      +	void setUp() {
      +		MockitoAnnotations.initMocks(this);
      +		ufs = new Ufs();
      +		ufs.setInicio(Calendar.getInstance().getTime());
      +		ufs.setFin(Calendar.getInstance().getTime());
      +		
      +		//Iniciar clases de utilidad
      +		Configuracion conf = new Configuracion();
      +		Constantes constante = new Constantes();
      +		Util util = new Util();
      +	}
      +	
      +	/**
      +	 * Obtener fecha formato.
      +	 */
      +	@Test
      +	void obtenerFechaFormato() {
      +		assertNotNull(Util.obtenerFechaFormato(Calendar.getInstance().getTime(), Constantes.FORMATO_DD_MMM_YYYY));
      +	}
      +	
      +	/**
      +	 * Clasificar coleccion.
      +	 */
      +	@Test
      +	void clasificarColeccion() {
      +		Util.clasificarColeccion(new ArrayList<Uf>(), true, Constantes.ATRIB_FECHA );
      +		Util.clasificarColeccion(new ArrayList<Uf>(), false, Constantes.ATRIB_FECHA );
      +		assertThatNoException();
      +	}
      +	
      +	/**
      +	 * Convertira json DTO.
      +	 */
      +	@Test
      +	void convertiraJsonDTO() {
      +		
      +		assertNotNull(Util.convertiraJsonDTO(ufs,null,1));
      +		Uf uf = new Uf();
      +		uf.setFecha(Calendar.getInstance().getTime());
      +		uf.setValor(0.1d);
      +		List<Uf> listuf = new ArrayList<Uf>();
      +		listuf.add(uf);
      +		ufs.setUfs(new HashSet<Uf>(listuf));
      +		assertNotNull(Util.convertiraJsonDTO(ufs,listuf,1));
      +	}
      +	
      +	/**
      +	 * Validacion elementos en rango.
      +	 */
      +	@Test
      +	void validacionElementosEnRango() {
      +		Uf uf = new Uf();
      +		uf.setFecha(Calendar.getInstance().getTime());
      +		uf.setValor(0.1d);
      +		List<Uf> listuf = new ArrayList<Uf>();
      +		listuf.add(uf);
      +		ufs.setUfs(new HashSet<Uf>(listuf));
      +		List<Uf> listuf2 = new ArrayList<Uf>();
      +		assertTrue(Util.validacionElementosEnRango(listuf, listuf)); 
      +		assertFalse(Util.validacionElementosEnRango(listuf, listuf2)); 
      +		assertThrows(NullPointerException.class, () -> assertTrue(Util.validacionElementosEnRango(listuf, null)));
      +	}
      +	
      +	/**
      +	 * Validacion elementos en rango elemento nulo.
      +	 */
      +	@Test
      +	void validacionElementosEnRangoElementoNulo() {
      +		Uf uf = new Uf();
      +		uf.setFecha(Calendar.getInstance().getTime());
      +		uf.setValor(0.1d);
      +		List<Uf> listuf = new ArrayList<Uf>();
      +		listuf.add(uf);
      +		ufs.setUfs(new HashSet<Uf>(listuf));
      +		assertThrows(NullPointerException.class, () -> assertTrue(Util.validacionElementosEnRango(listuf, null)));
      +	}
      +	
      +	/**
      +	 * Obtener etiqueta.
      +	 */
      +	@Test
      +	void obtenerEtiqueta() {
      +		assertEquals("Se ha creado correctamente el archivo en ", Constantes.obtenerEtiqueta("mensaj.final.ok.ini"));
      +	}
      +	
      +	/**
      +	 * Obtener etiqueta null.
      +	 */
      +	@Test
      +	void obtenerEtiquetaNull() {
      +		assertEquals(Constantes.VACIO, Constantes.obtenerEtiqueta("mensaj.code"));
      +	}
      +	
      +	/**
      +	 * Validar configuraciones.
      +	 */
      +	@Test
      +	void validarConfiguraciones() {
      +		Configuracion conf = new Configuracion(100);
      +		assertNotNull(conf.toString());
      +	}
      +	
      +	
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/index.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/index.html new file mode 100644 index 0000000..01753ea --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/index.html @@ -0,0 +1 @@ +cl.zco.desafio3.util

      cl.zco.desafio3.util

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total10 of 28696 %0 of 0n/a21707221702
      UtilTest1020195 %n/a21205021201
      DtoTest75100 %n/a050220501
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/index.source.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/index.source.html new file mode 100644 index 0000000..3fbef8c --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/index.source.html @@ -0,0 +1 @@ +cl.zco.desafio3.util

      cl.zco.desafio3.util

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total10 of 28696 %0 of 0n/a21707221702
      UtilTest.java1020195 %n/a21205021201
      DtoTest.java75100 %n/a050220501
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/Desafio3ApplicationTests.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/Desafio3ApplicationTests.html new file mode 100644 index 0000000..0ae874b --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/Desafio3ApplicationTests.html @@ -0,0 +1 @@ +Desafio3ApplicationTests

      Desafio3ApplicationTests

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
      Total3 of 2386 %0 of 0n/a130413
      lambda$contextLoads$0(String[])30 %n/a111111
      contextLoads()17100 %n/a010301
      Desafio3ApplicationTests()3100 %n/a010101
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/Desafio3ApplicationTests.java.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/Desafio3ApplicationTests.java.html new file mode 100644 index 0000000..d3564a3 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/Desafio3ApplicationTests.java.html @@ -0,0 +1,25 @@ +Desafio3ApplicationTests.java

      Desafio3ApplicationTests.java

      package cl.zco.desafio3;
      +
      +import static org.junit.Assert.assertThrows;
      +
      +import org.junit.jupiter.api.Test;
      +import org.springframework.boot.test.context.SpringBootTest;
      +
      +/**
      + * The Class Desafio3ApplicationTests.
      + */
      +@SpringBootTest
      +class Desafio3ApplicationTests {
      +
      +	/**
      +	 * Context loads.
      +	 * @throws Throwable 
      +	 */
      +	@Test
      +	void contextLoads() throws Throwable {
      +		String[] str = {"str1","str2"};
      +		assertThrows(Throwable.class, () -> Desafio3Application.main(str) );
      +	}
      +
      +}
      +
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/index.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/index.html new file mode 100644 index 0000000..e4b0613 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/index.html @@ -0,0 +1 @@ +cl.zco.desafio3

      cl.zco.desafio3

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total3 of 2386 %0 of 0n/a13041301
      Desafio3ApplicationTests32086 %n/a13041301
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/index.source.html b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/index.source.html new file mode 100644 index 0000000..b05ef82 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/index.source.html @@ -0,0 +1 @@ +cl.zco.desafio3

      cl.zco.desafio3

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total3 of 2386 %0 of 0n/a13041301
      Desafio3ApplicationTests.java32086 %n/a13041301
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/src_test_java/index.html b/resumen/cobertura/desafio3/src_test_java/index.html new file mode 100644 index 0000000..cb600f3 --- /dev/null +++ b/resumen/cobertura/desafio3/src_test_java/index.html @@ -0,0 +1 @@ +src/test/java

      src/test/java

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total19 of 39595 %0 of 0n/a431010443105
      cl.zco.desafio3.util1027696 %n/a21707221702
      cl.zco.desafio3.negocio68093 %n/a11102811102
      cl.zco.desafio332086 %n/a13041301
      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/target_generated-sources_annotations/index.html b/resumen/cobertura/desafio3/target_generated-sources_annotations/index.html new file mode 100644 index 0000000..f0bbe32 --- /dev/null +++ b/resumen/cobertura/desafio3/target_generated-sources_annotations/index.html @@ -0,0 +1 @@ +target/generated-sources/annotations

      target/generated-sources/annotations

      No class files specified.

      \ No newline at end of file diff --git a/resumen/cobertura/desafio3/target_generated-test-sources_test-annotations/index.html b/resumen/cobertura/desafio3/target_generated-test-sources_test-annotations/index.html new file mode 100644 index 0000000..45c8587 --- /dev/null +++ b/resumen/cobertura/desafio3/target_generated-test-sources_test-annotations/index.html @@ -0,0 +1 @@ +target/generated-test-sources/test-annotations

      target/generated-test-sources/test-annotations

      No class files specified.

      \ No newline at end of file diff --git a/resumen/cobertura/index.html b/resumen/cobertura/index.html new file mode 100644 index 0000000..bac5e3b --- /dev/null +++ b/resumen/cobertura/index.html @@ -0,0 +1 @@ +desafio3 (20-04-2022 15:54:59)

      desafio3 (20-04-2022 15:54:59)

      ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
      Total62 of 92993 %8 of 2871 %119415249580014
      desafio36286793 %82071 %119415249580014
      \ No newline at end of file diff --git a/resumen/cobertura/jacoco-resources/branchfc.gif b/resumen/cobertura/jacoco-resources/branchfc.gif new file mode 100644 index 0000000..989b46d Binary files /dev/null and b/resumen/cobertura/jacoco-resources/branchfc.gif differ diff --git a/resumen/cobertura/jacoco-resources/branchnc.gif b/resumen/cobertura/jacoco-resources/branchnc.gif new file mode 100644 index 0000000..1933e07 Binary files /dev/null and b/resumen/cobertura/jacoco-resources/branchnc.gif differ diff --git a/resumen/cobertura/jacoco-resources/branchpc.gif b/resumen/cobertura/jacoco-resources/branchpc.gif new file mode 100644 index 0000000..cbf711b Binary files /dev/null and b/resumen/cobertura/jacoco-resources/branchpc.gif differ diff --git a/resumen/cobertura/jacoco-resources/bundle.gif b/resumen/cobertura/jacoco-resources/bundle.gif new file mode 100644 index 0000000..fca9c53 Binary files /dev/null and b/resumen/cobertura/jacoco-resources/bundle.gif differ diff --git a/resumen/cobertura/jacoco-resources/class.gif b/resumen/cobertura/jacoco-resources/class.gif new file mode 100644 index 0000000..eb348fb Binary files /dev/null and b/resumen/cobertura/jacoco-resources/class.gif differ diff --git a/resumen/cobertura/jacoco-resources/down.gif b/resumen/cobertura/jacoco-resources/down.gif new file mode 100644 index 0000000..440a14d Binary files /dev/null and b/resumen/cobertura/jacoco-resources/down.gif differ diff --git a/resumen/cobertura/jacoco-resources/greenbar.gif b/resumen/cobertura/jacoco-resources/greenbar.gif new file mode 100644 index 0000000..0ba6567 Binary files /dev/null and b/resumen/cobertura/jacoco-resources/greenbar.gif differ diff --git a/resumen/cobertura/jacoco-resources/group.gif b/resumen/cobertura/jacoco-resources/group.gif new file mode 100644 index 0000000..a4ea580 Binary files /dev/null and b/resumen/cobertura/jacoco-resources/group.gif differ diff --git a/resumen/cobertura/jacoco-resources/method.gif b/resumen/cobertura/jacoco-resources/method.gif new file mode 100644 index 0000000..7d24707 Binary files /dev/null and b/resumen/cobertura/jacoco-resources/method.gif differ diff --git a/resumen/cobertura/jacoco-resources/package.gif b/resumen/cobertura/jacoco-resources/package.gif new file mode 100644 index 0000000..131c28d Binary files /dev/null and b/resumen/cobertura/jacoco-resources/package.gif differ diff --git a/resumen/cobertura/jacoco-resources/prettify.css b/resumen/cobertura/jacoco-resources/prettify.css new file mode 100644 index 0000000..be5166e --- /dev/null +++ b/resumen/cobertura/jacoco-resources/prettify.css @@ -0,0 +1,13 @@ +/* Pretty printing styles. Used with prettify.js. */ + +.str { color: #2A00FF; } +.kwd { color: #7F0055; font-weight:bold; } +.com { color: #3F5FBF; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +.tag { color: #008; } +.atn { color: #606; } +.atv { color: #080; } +.dec { color: #606; } diff --git a/resumen/cobertura/jacoco-resources/prettify.js b/resumen/cobertura/jacoco-resources/prettify.js new file mode 100644 index 0000000..b2766fe --- /dev/null +++ b/resumen/cobertura/jacoco-resources/prettify.js @@ -0,0 +1,1510 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + *

      + * + * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

      + * Usage:

        + *
      1. include this source file in an html page via + * {@code } + *
      2. define style rules. See the example page for examples. + *
      3. mark the {@code
        } and {@code } tags in your source with
        + *    {@code class=prettyprint.}
        + *    You can also use the (html deprecated) {@code } tag, but the pretty
        + *    printer needs to do more substantial DOM manipulations to support that, so
        + *    some css styles may not be preserved.
        + * </ol>
        + * That's it.  I wanted to keep the API as simple as possible, so there's no
        + * need to specify which language the code is in, but if you wish, you can add
        + * another class to the {@code <pre>} or {@code <code>} element to specify the
        + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
        + * starts with "lang-" followed by a file extension, specifies the file type.
        + * See the "lang-*.js" files in this directory for code that implements
        + * per-language file handlers.
        + * <p>
        + * Change log:<br>
        + * cbeust, 2006/08/22
        + * <blockquote>
        + *   Java annotations (start with "@") are now captured as literals ("lit")
        + * </blockquote>
        + * @requires console
        + */
        +
        +// JSLint declarations
        +/*global console, document, navigator, setTimeout, window */
        +
        +/**
        + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
        + * UI events.
        + * If set to {@code false}, {@code prettyPrint()} is synchronous.
        + */
        +window['PR_SHOULD_USE_CONTINUATION'] = true;
        +
        +/** the number of characters between tab columns */
        +window['PR_TAB_WIDTH'] = 8;
        +
        +/** Walks the DOM returning a properly escaped version of innerHTML.
        +  * @param {Node} node
        +  * @param {Array.<string>} out output buffer that receives chunks of HTML.
        +  */
        +window['PR_normalizedHtml']
        +
        +/** Contains functions for creating and registering new language handlers.
        +  * @type {Object}
        +  */
        +  = window['PR']
        +
        +/** Pretty print a chunk of code.
        +  *
        +  * @param {string} sourceCodeHtml code as html
        +  * @return {string} code as html, but prettier
        +  */
        +  = window['prettyPrintOne']
        +/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
        +  * {@code class=prettyprint} and prettify them.
        +  * @param {Function?} opt_whenDone if specified, called when the last entry
        +  *     has been finished.
        +  */
        +  = window['prettyPrint'] = void 0;
        +
        +/** browser detection. @extern @returns false if not IE, otherwise the major version. */
        +window['_pr_isIE6'] = function () {
        +  var ieVersion = navigator && navigator.userAgent &&
        +      navigator.userAgent.match(/\bMSIE ([678])\./);
        +  ieVersion = ieVersion ? +ieVersion[1] : false;
        +  window['_pr_isIE6'] = function () { return ieVersion; };
        +  return ieVersion;
        +};
        +
        +
        +(function () {
        +  // Keyword lists for various languages.
        +  var FLOW_CONTROL_KEYWORDS =
        +      "break continue do else for if return while ";
        +  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
        +      "double enum extern float goto int long register short signed sizeof " +
        +      "static struct switch typedef union unsigned void volatile ";
        +  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
        +      "new operator private protected public this throw true try typeof ";
        +  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
        +      "concept concept_map const_cast constexpr decltype " +
        +      "dynamic_cast explicit export friend inline late_check " +
        +      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
        +      "template typeid typename using virtual wchar_t where ";
        +  var JAVA_KEYWORDS = COMMON_KEYWORDS +
        +      "abstract boolean byte extends final finally implements import " +
        +      "instanceof null native package strictfp super synchronized throws " +
        +      "transient ";
        +  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
        +      "as base by checked decimal delegate descending event " +
        +      "fixed foreach from group implicit in interface internal into is lock " +
        +      "object out override orderby params partial readonly ref sbyte sealed " +
        +      "stackalloc string select uint ulong unchecked unsafe ushort var ";
        +  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
        +      "debugger eval export function get null set undefined var with " +
        +      "Infinity NaN ";
        +  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
        +      "goto if import last local my next no our print package redo require " +
        +      "sub undef unless until use wantarray while BEGIN END ";
        +  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
        +      "elif except exec finally from global import in is lambda " +
        +      "nonlocal not or pass print raise try with yield " +
        +      "False True None ";
        +  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
        +      " defined elsif end ensure false in module next nil not or redo rescue " +
        +      "retry self super then true undef unless until when yield BEGIN END ";
        +  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
        +      "function in local set then until ";
        +  var ALL_KEYWORDS = (
        +      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
        +      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
        +
        +  // token style names.  correspond to css classes
        +  /** token style for a string literal */
        +  var PR_STRING = 'str';
        +  /** token style for a keyword */
        +  var PR_KEYWORD = 'kwd';
        +  /** token style for a comment */
        +  var PR_COMMENT = 'com';
        +  /** token style for a type */
        +  var PR_TYPE = 'typ';
        +  /** token style for a literal value.  e.g. 1, null, true. */
        +  var PR_LITERAL = 'lit';
        +  /** token style for a punctuation string. */
        +  var PR_PUNCTUATION = 'pun';
        +  /** token style for a punctuation string. */
        +  var PR_PLAIN = 'pln';
        +
        +  /** token style for an sgml tag. */
        +  var PR_TAG = 'tag';
        +  /** token style for a markup declaration such as a DOCTYPE. */
        +  var PR_DECLARATION = 'dec';
        +  /** token style for embedded source. */
        +  var PR_SOURCE = 'src';
        +  /** token style for an sgml attribute name. */
        +  var PR_ATTRIB_NAME = 'atn';
        +  /** token style for an sgml attribute value. */
        +  var PR_ATTRIB_VALUE = 'atv';
        +
        +  /**
        +   * A class that indicates a section of markup that is not code, e.g. to allow
        +   * embedding of line numbers within code listings.
        +   */
        +  var PR_NOCODE = 'nocode';
        +
        +  /** A set of tokens that can precede a regular expression literal in
        +    * javascript.
        +    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
        +    * list, but I've removed ones that might be problematic when seen in
        +    * languages that don't support regular expression literals.
        +    *
        +    * <p>Specifically, I've removed any keywords that can't precede a regexp
        +    * literal in a syntactically legal javascript program, and I've removed the
        +    * "in" keyword since it's not a keyword in many languages, and might be used
        +    * as a count of inches.
        +    *
        +    * <p>The link a above does not accurately describe EcmaScript rules since
        +    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
        +    * very well in practice.
        +    *
        +    * @private
        +    */
        +  var REGEXP_PRECEDER_PATTERN = function () {
        +      var preceders = [
        +          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
        +          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
        +          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
        +          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
        +          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
        +          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
        +          "||=", "~" /* handles =~ and !~ */,
        +          "break", "case", "continue", "delete",
        +          "do", "else", "finally", "instanceof",
        +          "return", "throw", "try", "typeof"
        +          ];
        +      var pattern = '(?:^^|[+-]';
        +      for (var i = 0; i < preceders.length; ++i) {
        +        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
        +      }
        +      pattern += ')\\s*';  // matches at end, and matches empty string
        +      return pattern;
        +      // CAVEAT: this does not properly handle the case where a regular
        +      // expression immediately follows another since a regular expression may
        +      // have flags for case-sensitivity and the like.  Having regexp tokens
        +      // adjacent is not valid in any language I'm aware of, so I'm punting.
        +      // TODO: maybe style special characters inside a regexp as punctuation.
        +    }();
        +
        +  // Define regexps here so that the interpreter doesn't have to create an
        +  // object each time the function containing them is called.
        +  // The language spec requires a new object created even if you don't access
        +  // the $1 members.
        +  var pr_amp = /&/g;
        +  var pr_lt = /</g;
        +  var pr_gt = />/g;
        +  var pr_quot = /\"/g;
        +  /** like textToHtml but escapes double quotes to be attribute safe. */
        +  function attribToHtml(str) {
        +    return str.replace(pr_amp, '&amp;')
        +        .replace(pr_lt, '&lt;')
        +        .replace(pr_gt, '&gt;')
        +        .replace(pr_quot, '&quot;');
        +  }
        +
        +  /** escapest html special characters to html. */
        +  function textToHtml(str) {
        +    return str.replace(pr_amp, '&amp;')
        +        .replace(pr_lt, '&lt;')
        +        .replace(pr_gt, '&gt;');
        +  }
        +
        +
        +  var pr_ltEnt = /&lt;/g;
        +  var pr_gtEnt = /&gt;/g;
        +  var pr_aposEnt = /&apos;/g;
        +  var pr_quotEnt = /&quot;/g;
        +  var pr_ampEnt = /&amp;/g;
        +  var pr_nbspEnt = /&nbsp;/g;
        +  /** unescapes html to plain text. */
        +  function htmlToText(html) {
        +    var pos = html.indexOf('&');
        +    if (pos < 0) { return html; }
        +    // Handle numeric entities specially.  We can't use functional substitution
        +    // since that doesn't work in older versions of Safari.
        +    // These should be rare since most browsers convert them to normal chars.
        +    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
        +      var end = html.indexOf(';', pos);
        +      if (end >= 0) {
        +        var num = html.substring(pos + 3, end);
        +        var radix = 10;
        +        if (num && num.charAt(0) === 'x') {
        +          num = num.substring(1);
        +          radix = 16;
        +        }
        +        var codePoint = parseInt(num, radix);
        +        if (!isNaN(codePoint)) {
        +          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
        +                  html.substring(end + 1));
        +        }
        +      }
        +    }
        +
        +    return html.replace(pr_ltEnt, '<')
        +        .replace(pr_gtEnt, '>')
        +        .replace(pr_aposEnt, "'")
        +        .replace(pr_quotEnt, '"')
        +        .replace(pr_nbspEnt, ' ')
        +        .replace(pr_ampEnt, '&');
        +  }
        +
        +  /** is the given node's innerHTML normally unescaped? */
        +  function isRawContent(node) {
        +    return 'XMP' === node.tagName;
        +  }
        +
        +  var newlineRe = /[\r\n]/g;
        +  /**
        +   * Are newlines and adjacent spaces significant in the given node's innerHTML?
        +   */
        +  function isPreformatted(node, content) {
        +    // PRE means preformatted, and is a very common case, so don't create
        +    // unnecessary computed style objects.
        +    if ('PRE' === node.tagName) { return true; }
        +    if (!newlineRe.test(content)) { return true; }  // Don't care
        +    var whitespace = '';
        +    // For disconnected nodes, IE has no currentStyle.
        +    if (node.currentStyle) {
        +      whitespace = node.currentStyle.whiteSpace;
        +    } else if (window.getComputedStyle) {
        +      // Firefox makes a best guess if node is disconnected whereas Safari
        +      // returns the empty string.
        +      whitespace = window.getComputedStyle(node, null).whiteSpace;
        +    }
        +    return !whitespace || whitespace === 'pre';
        +  }
        +
        +  function normalizedHtml(node, out, opt_sortAttrs) {
        +    switch (node.nodeType) {
        +      case 1:  // an element
        +        var name = node.tagName.toLowerCase();
        +
        +        out.push('<', name);
        +        var attrs = node.attributes;
        +        var n = attrs.length;
        +        if (n) {
        +          if (opt_sortAttrs) {
        +            var sortedAttrs = [];
        +            for (var i = n; --i >= 0;) { sortedAttrs[i] = attrs[i]; }
        +            sortedAttrs.sort(function (a, b) {
        +                return (a.name < b.name) ? -1 : a.name === b.name ? 0 : 1;
        +              });
        +            attrs = sortedAttrs;
        +          }
        +          for (var i = 0; i < n; ++i) {
        +            var attr = attrs[i];
        +            if (!attr.specified) { continue; }
        +            out.push(' ', attr.name.toLowerCase(),
        +                     '="', attribToHtml(attr.value), '"');
        +          }
        +        }
        +        out.push('>');
        +        for (var child = node.firstChild; child; child = child.nextSibling) {
        +          normalizedHtml(child, out, opt_sortAttrs);
        +        }
        +        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
        +          out.push('<\/', name, '>');
        +        }
        +        break;
        +      case 3: case 4: // text
        +        out.push(textToHtml(node.nodeValue));
        +        break;
        +    }
        +  }
        +
        +  /**
        +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
        +   * matches the union o the sets o strings matched d by the input RegExp.
        +   * Since it matches globally, if the input strings have a start-of-input
        +   * anchor (/^.../), it is ignored for the purposes of unioning.
        +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
        +   * @return {RegExp} a global regex.
        +   */
        +  function combinePrefixPatterns(regexs) {
        +    var capturedGroupIndex = 0;
        +
        +    var needToFoldCase = false;
        +    var ignoreCase = false;
        +    for (var i = 0, n = regexs.length; i < n; ++i) {
        +      var regex = regexs[i];
        +      if (regex.ignoreCase) {
        +        ignoreCase = true;
        +      } else if (/[a-z]/i.test(regex.source.replace(
        +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
        +        needToFoldCase = true;
        +        ignoreCase = false;
        +        break;
        +      }
        +    }
        +
        +    function decodeEscape(charsetPart) {
        +      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
        +      switch (charsetPart.charAt(1)) {
        +        case 'b': return 8;
        +        case 't': return 9;
        +        case 'n': return 0xa;
        +        case 'v': return 0xb;
        +        case 'f': return 0xc;
        +        case 'r': return 0xd;
        +        case 'u': case 'x':
        +          return parseInt(charsetPart.substring(2), 16)
        +              || charsetPart.charCodeAt(1);
        +        case '0': case '1': case '2': case '3': case '4':
        +        case '5': case '6': case '7':
        +          return parseInt(charsetPart.substring(1), 8);
        +        default: return charsetPart.charCodeAt(1);
        +      }
        +    }
        +
        +    function encodeEscape(charCode) {
        +      if (charCode < 0x20) {
        +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
        +      }
        +      var ch = String.fromCharCode(charCode);
        +      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
        +        ch = '\\' + ch;
        +      }
        +      return ch;
        +    }
        +
        +    function caseFoldCharset(charSet) {
        +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
        +          new RegExp(
        +              '\\\\u[0-9A-Fa-f]{4}'
        +              + '|\\\\x[0-9A-Fa-f]{2}'
        +              + '|\\\\[0-3][0-7]{0,2}'
        +              + '|\\\\[0-7]{1,2}'
        +              + '|\\\\[\\s\\S]'
        +              + '|-'
        +              + '|[^-\\\\]',
        +              'g'));
        +      var groups = [];
        +      var ranges = [];
        +      var inverse = charsetParts[0] === '^';
        +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
        +        var p = charsetParts[i];
        +        switch (p) {
        +          case '\\B': case '\\b':
        +          case '\\D': case '\\d':
        +          case '\\S': case '\\s':
        +          case '\\W': case '\\w':
        +            groups.push(p);
        +            continue;
        +        }
        +        var start = decodeEscape(p);
        +        var end;
        +        if (i + 2 < n && '-' === charsetParts[i + 1]) {
        +          end = decodeEscape(charsetParts[i + 2]);
        +          i += 2;
        +        } else {
        +          end = start;
        +        }
        +        ranges.push([start, end]);
        +        // If the range might intersect letters, then expand it.
        +        if (!(end < 65 || start > 122)) {
        +          if (!(end < 65 || start > 90)) {
        +            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
        +          }
        +          if (!(end < 97 || start > 122)) {
        +            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
        +          }
        +        }
        +      }
        +
        +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
        +      // -> [[1, 12], [14, 14], [16, 17]]
        +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
        +      var consolidatedRanges = [];
        +      var lastRange = [NaN, NaN];
        +      for (var i = 0; i < ranges.length; ++i) {
        +        var range = ranges[i];
        +        if (range[0] <= lastRange[1] + 1) {
        +          lastRange[1] = Math.max(lastRange[1], range[1]);
        +        } else {
        +          consolidatedRanges.push(lastRange = range);
        +        }
        +      }
        +
        +      var out = ['['];
        +      if (inverse) { out.push('^'); }
        +      out.push.apply(out, groups);
        +      for (var i = 0; i < consolidatedRanges.length; ++i) {
        +        var range = consolidatedRanges[i];
        +        out.push(encodeEscape(range[0]));
        +        if (range[1] > range[0]) {
        +          if (range[1] + 1 > range[0]) { out.push('-'); }
        +          out.push(encodeEscape(range[1]));
        +        }
        +      }
        +      out.push(']');
        +      return out.join('');
        +    }
        +
        +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
        +      // Split into character sets, escape sequences, punctuation strings
        +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
        +      // include any of the above.
        +      var parts = regex.source.match(
        +          new RegExp(
        +              '(?:'
        +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
        +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
        +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
        +              + '|\\\\[0-9]+'  // a back-reference or octal escape
        +              + '|\\\\[^ux0-9]'  // other escape sequence
        +              + '|\\(\\?[:!=]'  // start of a non-capturing group
        +              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
        +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
        +              + ')',
        +              'g'));
        +      var n = parts.length;
        +
        +      // Maps captured group numbers to the number they will occupy in
        +      // the output or to -1 if that has not been determined, or to
        +      // undefined if they need not be capturing in the output.
        +      var capturedGroups = [];
        +
        +      // Walk over and identify back references to build the capturedGroups
        +      // mapping.
        +      for (var i = 0, groupIndex = 0; i < n; ++i) {
        +        var p = parts[i];
        +        if (p === '(') {
        +          // groups are 1-indexed, so max group index is count of '('
        +          ++groupIndex;
        +        } else if ('\\' === p.charAt(0)) {
        +          var decimalValue = +p.substring(1);
        +          if (decimalValue && decimalValue <= groupIndex) {
        +            capturedGroups[decimalValue] = -1;
        +          }
        +        }
        +      }
        +
        +      // Renumber groups and reduce capturing groups to non-capturing groups
        +      // where possible.
        +      for (var i = 1; i < capturedGroups.length; ++i) {
        +        if (-1 === capturedGroups[i]) {
        +          capturedGroups[i] = ++capturedGroupIndex;
        +        }
        +      }
        +      for (var i = 0, groupIndex = 0; i < n; ++i) {
        +        var p = parts[i];
        +        if (p === '(') {
        +          ++groupIndex;
        +          if (capturedGroups[groupIndex] === undefined) {
        +            parts[i] = '(?:';
        +          }
        +        } else if ('\\' === p.charAt(0)) {
        +          var decimalValue = +p.substring(1);
        +          if (decimalValue && decimalValue <= groupIndex) {
        +            parts[i] = '\\' + capturedGroups[groupIndex];
        +          }
        +        }
        +      }
        +
        +      // Remove any prefix anchors so that the output will match anywhere.
        +      // ^^ really does mean an anchored match though.
        +      for (var i = 0, groupIndex = 0; i < n; ++i) {
        +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
        +      }
        +
        +      // Expand letters to groupts to handle mixing of case-sensitive and
        +      // case-insensitive patterns if necessary.
        +      if (regex.ignoreCase && needToFoldCase) {
        +        for (var i = 0; i < n; ++i) {
        +          var p = parts[i];
        +          var ch0 = p.charAt(0);
        +          if (p.length >= 2 && ch0 === '[') {
        +            parts[i] = caseFoldCharset(p);
        +          } else if (ch0 !== '\\') {
        +            // TODO: handle letters in numeric escapes.
        +            parts[i] = p.replace(
        +                /[a-zA-Z]/g,
        +                function (ch) {
        +                  var cc = ch.charCodeAt(0);
        +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
        +                });
        +          }
        +        }
        +      }
        +
        +      return parts.join('');
        +    }
        +
        +    var rewritten = [];
        +    for (var i = 0, n = regexs.length; i < n; ++i) {
        +      var regex = regexs[i];
        +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
        +      rewritten.push(
        +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
        +    }
        +
        +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
        +  }
        +
        +  var PR_innerHtmlWorks = null;
        +  function getInnerHtml(node) {
        +    // inner html is hopelessly broken in Safari 2.0.4 when the content is
        +    // an html description of well formed XML and the containing tag is a PRE
        +    // tag, so we detect that case and emulate innerHTML.
        +    if (null === PR_innerHtmlWorks) {
        +      var testNode = document.createElement('PRE');
        +      testNode.appendChild(
        +          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
        +      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
        +    }
        +
        +    if (PR_innerHtmlWorks) {
        +      var content = node.innerHTML;
        +      // XMP tags contain unescaped entities so require special handling.
        +      if (isRawContent(node)) {
        +        content = textToHtml(content);
        +      } else if (!isPreformatted(node, content)) {
        +        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
        +            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
        +      }
        +      return content;
        +    }
        +
        +    var out = [];
        +    for (var child = node.firstChild; child; child = child.nextSibling) {
        +      normalizedHtml(child, out);
        +    }
        +    return out.join('');
        +  }
        +
        +  /** returns a function that expand tabs to spaces.  This function can be fed
        +    * successive chunks of text, and will maintain its own internal state to
        +    * keep track of how tabs are expanded.
        +    * @return {function (string) : string} a function that takes
        +    *   plain text and return the text with tabs expanded.
        +    * @private
        +    */
        +  function makeTabExpander(tabWidth) {
        +    var SPACES = '                ';
        +    var charInLine = 0;
        +
        +    return function (plainText) {
        +      // walk over each character looking for tabs and newlines.
        +      // On tabs, expand them.  On newlines, reset charInLine.
        +      // Otherwise increment charInLine
        +      var out = null;
        +      var pos = 0;
        +      for (var i = 0, n = plainText.length; i < n; ++i) {
        +        var ch = plainText.charAt(i);
        +
        +        switch (ch) {
        +          case '\t':
        +            if (!out) { out = []; }
        +            out.push(plainText.substring(pos, i));
        +            // calculate how much space we need in front of this part
        +            // nSpaces is the amount of padding -- the number of spaces needed
        +            // to move us to the next column, where columns occur at factors of
        +            // tabWidth.
        +            var nSpaces = tabWidth - (charInLine % tabWidth);
        +            charInLine += nSpaces;
        +            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
        +              out.push(SPACES.substring(0, nSpaces));
        +            }
        +            pos = i + 1;
        +            break;
        +          case '\n':
        +            charInLine = 0;
        +            break;
        +          default:
        +            ++charInLine;
        +        }
        +      }
        +      if (!out) { return plainText; }
        +      out.push(plainText.substring(pos));
        +      return out.join('');
        +    };
        +  }
        +
        +  var pr_chunkPattern = new RegExp(
        +      '[^<]+'  // A run of characters other than '<'
        +      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
        +      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
        +      // a probable tag that should not be highlighted
        +      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
        +      + '|<',  // A '<' that does not begin a larger chunk
        +      'g');
        +  var pr_commentPrefix = /^<\!--/;
        +  var pr_cdataPrefix = /^<!\[CDATA\[/;
        +  var pr_brPrefix = /^<br\b/i;
        +  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
        +
        +  /** split markup into chunks of html tags (style null) and
        +    * plain text (style {@link #PR_PLAIN}), converting tags which are
        +    * significant for tokenization (<br>) into their textual equivalent.
        +    *
        +    * @param {string} s html where whitespace is considered significant.
        +    * @return {Object} source code and extracted tags.
        +    * @private
        +    */
        +  function extractTags(s) {
        +    // since the pattern has the 'g' modifier and defines no capturing groups,
        +    // this will return a list of all chunks which we then classify and wrap as
        +    // PR_Tokens
        +    var matches = s.match(pr_chunkPattern);
        +    var sourceBuf = [];
        +    var sourceBufLen = 0;
        +    var extractedTags = [];
        +    if (matches) {
        +      for (var i = 0, n = matches.length; i < n; ++i) {
        +        var match = matches[i];
        +        if (match.length > 1 && match.charAt(0) === '<') {
        +          if (pr_commentPrefix.test(match)) { continue; }
        +          if (pr_cdataPrefix.test(match)) {
        +            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
        +            sourceBuf.push(match.substring(9, match.length - 3));
        +            sourceBufLen += match.length - 12;
        +          } else if (pr_brPrefix.test(match)) {
        +            // <br> tags are lexically significant so convert them to text.
        +            // This is undone later.
        +            sourceBuf.push('\n');
        +            ++sourceBufLen;
        +          } else {
        +            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
        +              // A <span class="nocode"> will start a section that should be
        +              // ignored.  Continue walking the list until we see a matching end
        +              // tag.
        +              var name = match.match(pr_tagNameRe)[2];
        +              var depth = 1;
        +              var j;
        +              end_tag_loop:
        +              for (j = i + 1; j < n; ++j) {
        +                var name2 = matches[j].match(pr_tagNameRe);
        +                if (name2 && name2[2] === name) {
        +                  if (name2[1] === '/') {
        +                    if (--depth === 0) { break end_tag_loop; }
        +                  } else {
        +                    ++depth;
        +                  }
        +                }
        +              }
        +              if (j < n) {
        +                extractedTags.push(
        +                    sourceBufLen, matches.slice(i, j + 1).join(''));
        +                i = j;
        +              } else {  // Ignore unclosed sections.
        +                extractedTags.push(sourceBufLen, match);
        +              }
        +            } else {
        +              extractedTags.push(sourceBufLen, match);
        +            }
        +          }
        +        } else {
        +          var literalText = htmlToText(match);
        +          sourceBuf.push(literalText);
        +          sourceBufLen += literalText.length;
        +        }
        +      }
        +    }
        +    return { source: sourceBuf.join(''), tags: extractedTags };
        +  }
        +
        +  /** True if the given tag contains a class attribute with the nocode class. */
        +  function isNoCodeTag(tag) {
        +    return !!tag
        +        // First canonicalize the representation of attributes
        +        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
        +                 ' $1="$2$3$4"')
        +        // Then look for the attribute we want.
        +        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
        +  }
        +
        +  /**
        +   * Apply the given language handler to sourceCode and add the resulting
        +   * decorations to out.
        +   * @param {number} basePos the index of sourceCode within the chunk of source
        +   *    whose decorations are already present on out.
        +   */
        +  function appendDecorations(basePos, sourceCode, langHandler, out) {
        +    if (!sourceCode) { return; }
        +    var job = {
        +      source: sourceCode,
        +      basePos: basePos
        +    };
        +    langHandler(job);
        +    out.push.apply(out, job.decorations);
        +  }
        +
        +  /** Given triples of [style, pattern, context] returns a lexing function,
        +    * The lexing function interprets the patterns to find token boundaries and
        +    * returns a decoration list of the form
        +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
        +    * where index_n is an index into the sourceCode, and style_n is a style
        +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
        +    * all characters in sourceCode[index_n-1:index_n].
        +    *
        +    * The stylePatterns is a list whose elements have the form
        +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
        +    *
        +    * Style is a style constant like PR_PLAIN, or can be a string of the
        +    * form 'lang-FOO', where FOO is a language extension describing the
        +    * language of the portion of the token in $1 after pattern executes.
        +    * E.g., if style is 'lang-lisp', and group 1 contains the text
        +    * '(hello (world))', then that portion of the token will be passed to the
        +    * registered lisp handler for formatting.
        +    * The text before and after group 1 will be restyled using this decorator
        +    * so decorators should take care that this doesn't result in infinite
        +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
        +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
        +    * '<script>foo()<\/script>', which would cause the current decorator to
        +    * be called with '<script>' which would not match the same rule since
        +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
        +    * the generic tag rule.  The handler registered for the 'js' extension would
        +    * then be called with 'foo()', and finally, the current decorator would
        +    * be called with '<\/script>' which would not match the original rule and
        +    * so the generic tag rule would identify it as a tag.
        +    *
        +    * Pattern must only match prefixes, and if it matches a prefix, then that
        +    * match is considered a token with the same style.
        +    *
        +    * Context is applied to the last non-whitespace, non-comment token
        +    * recognized.
        +    *
        +    * Shortcut is an optional string of characters, any of which, if the first
        +    * character, gurantee that this pattern and only this pattern matches.
        +    *
        +    * @param {Array} shortcutStylePatterns patterns that always start with
        +    *   a known character.  Must have a shortcut string.
        +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
        +    *   order if the shortcut ones fail.  May have shortcuts.
        +    *
        +    * @return {function (Object)} a
        +    *   function that takes source code and returns a list of decorations.
        +    */
        +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
        +    var shortcuts = {};
        +    var tokenizer;
        +    (function () {
        +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
        +      var allRegexs = [];
        +      var regexKeys = {};
        +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
        +        var patternParts = allPatterns[i];
        +        var shortcutChars = patternParts[3];
        +        if (shortcutChars) {
        +          for (var c = shortcutChars.length; --c >= 0;) {
        +            shortcuts[shortcutChars.charAt(c)] = patternParts;
        +          }
        +        }
        +        var regex = patternParts[1];
        +        var k = '' + regex;
        +        if (!regexKeys.hasOwnProperty(k)) {
        +          allRegexs.push(regex);
        +          regexKeys[k] = null;
        +        }
        +      }
        +      allRegexs.push(/[\0-\uffff]/);
        +      tokenizer = combinePrefixPatterns(allRegexs);
        +    })();
        +
        +    var nPatterns = fallthroughStylePatterns.length;
        +    var notWs = /\S/;
        +
        +    /**
        +     * Lexes job.source and produces an output array job.decorations of style
        +     * classes preceded by the position at which they start in job.source in
        +     * order.
        +     *
        +     * @param {Object} job an object like {@code
        +     *    source: {string} sourceText plain text,
        +     *    basePos: {int} position of job.source in the larger chunk of
        +     *        sourceCode.
        +     * }
        +     */
        +    var decorate = function (job) {
        +      var sourceCode = job.source, basePos = job.basePos;
        +      /** Even entries are positions in source in ascending order.  Odd enties
        +        * are style markers (e.g., PR_COMMENT) that run from that position until
        +        * the end.
        +        * @type {Array.<number|string>}
        +        */
        +      var decorations = [basePos, PR_PLAIN];
        +      var pos = 0;  // index into sourceCode
        +      var tokens = sourceCode.match(tokenizer) || [];
        +      var styleCache = {};
        +
        +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
        +        var token = tokens[ti];
        +        var style = styleCache[token];
        +        var match = void 0;
        +
        +        var isEmbedded;
        +        if (typeof style === 'string') {
        +          isEmbedded = false;
        +        } else {
        +          var patternParts = shortcuts[token.charAt(0)];
        +          if (patternParts) {
        +            match = token.match(patternParts[1]);
        +            style = patternParts[0];
        +          } else {
        +            for (var i = 0; i < nPatterns; ++i) {
        +              patternParts = fallthroughStylePatterns[i];
        +              match = token.match(patternParts[1]);
        +              if (match) {
        +                style = patternParts[0];
        +                break;
        +              }
        +            }
        +
        +            if (!match) {  // make sure that we make progress
        +              style = PR_PLAIN;
        +            }
        +          }
        +
        +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
        +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
        +            isEmbedded = false;
        +            style = PR_SOURCE;
        +          }
        +
        +          if (!isEmbedded) { styleCache[token] = style; }
        +        }
        +
        +        var tokenStart = pos;
        +        pos += token.length;
        +
        +        if (!isEmbedded) {
        +          decorations.push(basePos + tokenStart, style);
        +        } else {  // Treat group 1 as an embedded block of source code.
        +          var embeddedSource = match[1];
        +          var embeddedSourceStart = token.indexOf(embeddedSource);
        +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
        +          if (match[2]) {
        +            // If embeddedSource can be blank, then it would match at the
        +            // beginning which would cause us to infinitely recurse on the
        +            // entire token, so we catch the right context in match[2].
        +            embeddedSourceEnd = token.length - match[2].length;
        +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
        +          }
        +          var lang = style.substring(5);
        +          // Decorate the left of the embedded source
        +          appendDecorations(
        +              basePos + tokenStart,
        +              token.substring(0, embeddedSourceStart),
        +              decorate, decorations);
        +          // Decorate the embedded source
        +          appendDecorations(
        +              basePos + tokenStart + embeddedSourceStart,
        +              embeddedSource,
        +              langHandlerForExtension(lang, embeddedSource),
        +              decorations);
        +          // Decorate the right of the embedded section
        +          appendDecorations(
        +              basePos + tokenStart + embeddedSourceEnd,
        +              token.substring(embeddedSourceEnd),
        +              decorate, decorations);
        +        }
        +      }
        +      job.decorations = decorations;
        +    };
        +    return decorate;
        +  }
        +
        +  /** returns a function that produces a list of decorations from source text.
        +    *
        +    * This code treats ", ', and ` as string delimiters, and \ as a string
        +    * escape.  It does not recognize perl's qq() style strings.
        +    * It has no special handling for double delimiter escapes as in basic, or
        +    * the tripled delimiters used in python, but should work on those regardless
        +    * although in those cases a single string literal may be broken up into
        +    * multiple adjacent string literals.
        +    *
        +    * It recognizes C, C++, and shell style comments.
        +    *
        +    * @param {Object} options a set of optional parameters.
        +    * @return {function (Object)} a function that examines the source code
        +    *     in the input job and builds the decoration list.
        +    */
        +  function sourceDecorator(options) {
        +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
        +    if (options['tripleQuotedStrings']) {
        +      // '''multi-line-string''', 'single-line-string', and double-quoted
        +      shortcutStylePatterns.push(
        +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
        +           null, '\'"']);
        +    } else if (options['multiLineStrings']) {
        +      // 'multi-line-string', "multi-line-string"
        +      shortcutStylePatterns.push(
        +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
        +           null, '\'"`']);
        +    } else {
        +      // 'single-line-string', "single-line-string"
        +      shortcutStylePatterns.push(
        +          [PR_STRING,
        +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
        +           null, '"\'']);
        +    }
        +    if (options['verbatimStrings']) {
        +      // verbatim-string-literal production from the C# grammar.  See issue 93.
        +      fallthroughStylePatterns.push(
        +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
        +    }
        +    if (options['hashComments']) {
        +      if (options['cStyleComments']) {
        +        // Stop C preprocessor declarations at an unclosed open comment
        +        shortcutStylePatterns.push(
        +            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
        +             null, '#']);
        +        fallthroughStylePatterns.push(
        +            [PR_STRING,
        +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
        +             null]);
        +      } else {
        +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
        +      }
        +    }
        +    if (options['cStyleComments']) {
        +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
        +      fallthroughStylePatterns.push(
        +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
        +    }
        +    if (options['regexLiterals']) {
        +      var REGEX_LITERAL = (
        +          // A regular expression literal starts with a slash that is
        +          // not followed by * or / so that it is not confused with
        +          // comments.
        +          '/(?=[^/*])'
        +          // and then contains any number of raw characters,
        +          + '(?:[^/\\x5B\\x5C]'
        +          // escape sequences (\x5C),
        +          +    '|\\x5C[\\s\\S]'
        +          // or non-nesting character sets (\x5B\x5D);
        +          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
        +          // finally closed by a /.
        +          + '/');
        +      fallthroughStylePatterns.push(
        +          ['lang-regex',
        +           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
        +           ]);
        +    }
        +
        +    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
        +    if (keywords.length) {
        +      fallthroughStylePatterns.push(
        +          [PR_KEYWORD,
        +           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
        +    }
        +
        +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
        +    fallthroughStylePatterns.push(
        +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
        +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
        +        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
        +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
        +        [PR_LITERAL,
        +         new RegExp(
        +             '^(?:'
        +             // A hex number
        +             + '0x[a-f0-9]+'
        +             // or an octal or decimal number,
        +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
        +             // possibly in scientific notation
        +             + '(?:e[+\\-]?\\d+)?'
        +             + ')'
        +             // with an optional modifier like UL for unsigned long
        +             + '[a-z]*', 'i'),
        +         null, '0123456789'],
        +        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
        +
        +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
        +  }
        +
        +  var decorateSource = sourceDecorator({
        +        'keywords': ALL_KEYWORDS,
        +        'hashComments': true,
        +        'cStyleComments': true,
        +        'multiLineStrings': true,
        +        'regexLiterals': true
        +      });
        +
        +  /** Breaks {@code job.source} around style boundaries in
        +    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
        +    * and leaves the result in {@code job.prettyPrintedHtml}.
        +    * @param {Object} job like {
        +    *    source: {string} source as plain text,
        +    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
        +    *                   html preceded by their position in {@code job.source}
        +    *                   in order
        +    *    decorations: {Array.<number|string} an array of style classes preceded
        +    *                 by the position at which they start in job.source in order
        +    * }
        +    * @private
        +    */
        +  function recombineTagsAndDecorations(job) {
        +    var sourceText = job.source;
        +    var extractedTags = job.extractedTags;
        +    var decorations = job.decorations;
        +
        +    var html = [];
        +    // index past the last char in sourceText written to html
        +    var outputIdx = 0;
        +
        +    var openDecoration = null;
        +    var currentDecoration = null;
        +    var tagPos = 0;  // index into extractedTags
        +    var decPos = 0;  // index into decorations
        +    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
        +
        +    var adjacentSpaceRe = /([\r\n ]) /g;
        +    var startOrSpaceRe = /(^| ) /gm;
        +    var newlineRe = /\r\n?|\n/g;
        +    var trailingSpaceRe = /[ \r\n]$/;
        +    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
        +
        +    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
        +    var isIE678 = window['_pr_isIE6']();
        +    var lineBreakHtml = (
        +        isIE678
        +        ? (job.sourceNode.tagName === 'PRE'
        +           // Use line feeds instead of <br>s so that copying and pasting works
        +           // on IE.
        +           // Doing this on other browsers breaks lots of stuff since \r\n is
        +           // treated as two newlines on Firefox.
        +           ? (isIE678 === 6 ? '&#160;\r\n' :
        +              isIE678 === 7 ? '&#160;<br>\r' : '&#160;\r')
        +           // IE collapses multiple adjacent <br>s into 1 line break.
        +           // Prefix every newline with '&#160;' to prevent such behavior.
        +           // &nbsp; is the same as &#160; but works in XML as well as HTML.
        +           : '&#160;<br />')
        +        : '<br />');
        +
        +    // Look for a class like linenums or linenums:<n> where <n> is the 1-indexed
        +    // number of the first line.
        +    var numberLines = job.sourceNode.className.match(/\blinenums\b(?::(\d+))?/);
        +    var lineBreaker;
        +    if (numberLines) {
        +      var lineBreaks = [];
        +      for (var i = 0; i < 10; ++i) {
        +        lineBreaks[i] = lineBreakHtml + '</li><li class="L' + i + '">';
        +      }
        +      var lineNum = numberLines[1] && numberLines[1].length
        +          ? numberLines[1] - 1 : 0;  // Lines are 1-indexed
        +      html.push('<ol class="linenums"><li class="L', (lineNum) % 10, '"');
        +      if (lineNum) {
        +        html.push(' value="', lineNum + 1, '"');
        +      }
        +      html.push('>');
        +      lineBreaker = function () {
        +        var lb = lineBreaks[++lineNum % 10];
        +        // If a decoration is open, we need to close it before closing a list-item
        +        // and reopen it on the other side of the list item.
        +        return openDecoration
        +            ? ('</span>' + lb + '<span class="' + openDecoration + '">') : lb;
        +      };
        +    } else {
        +      lineBreaker = lineBreakHtml;
        +    }
        +
        +    // A helper function that is responsible for opening sections of decoration
        +    // and outputing properly escaped chunks of source
        +    function emitTextUpTo(sourceIdx) {
        +      if (sourceIdx > outputIdx) {
        +        if (openDecoration && openDecoration !== currentDecoration) {
        +          // Close the current decoration
        +          html.push('</span>');
        +          openDecoration = null;
        +        }
        +        if (!openDecoration && currentDecoration) {
        +          openDecoration = currentDecoration;
        +          html.push('<span class="', openDecoration, '">');
        +        }
        +        // This interacts badly with some wikis which introduces paragraph tags
        +        // into pre blocks for some strange reason.
        +        // It's necessary for IE though which seems to lose the preformattedness
        +        // of <pre> tags when their innerHTML is assigned.
        +        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
        +        // and it serves to undo the conversion of <br>s to newlines done in
        +        // chunkify.
        +        var htmlChunk = textToHtml(
        +            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
        +            .replace(lastWasSpace
        +                     ? startOrSpaceRe
        +                     : adjacentSpaceRe, '$1&#160;');
        +        // Keep track of whether we need to escape space at the beginning of the
        +        // next chunk.
        +        lastWasSpace = trailingSpaceRe.test(htmlChunk);
        +        html.push(htmlChunk.replace(newlineRe, lineBreaker));
        +        outputIdx = sourceIdx;
        +      }
        +    }
        +
        +    while (true) {
        +      // Determine if we're going to consume a tag this time around.  Otherwise
        +      // we consume a decoration or exit.
        +      var outputTag;
        +      if (tagPos < extractedTags.length) {
        +        if (decPos < decorations.length) {
        +          // Pick one giving preference to extractedTags since we shouldn't open
        +          // a new style that we're going to have to immediately close in order
        +          // to output a tag.
        +          outputTag = extractedTags[tagPos] <= decorations[decPos];
        +        } else {
        +          outputTag = true;
        +        }
        +      } else {
        +        outputTag = false;
        +      }
        +      // Consume either a decoration or a tag or exit.
        +      if (outputTag) {
        +        emitTextUpTo(extractedTags[tagPos]);
        +        if (openDecoration) {
        +          // Close the current decoration
        +          html.push('</span>');
        +          openDecoration = null;
        +        }
        +        html.push(extractedTags[tagPos + 1]);
        +        tagPos += 2;
        +      } else if (decPos < decorations.length) {
        +        emitTextUpTo(decorations[decPos]);
        +        currentDecoration = decorations[decPos + 1];
        +        decPos += 2;
        +      } else {
        +        break;
        +      }
        +    }
        +    emitTextUpTo(sourceText.length);
        +    if (openDecoration) {
        +      html.push('</span>');
        +    }
        +    if (numberLines) { html.push('</li></ol>'); }
        +    job.prettyPrintedHtml = html.join('');
        +  }
        +
        +  /** Maps language-specific file extensions to handlers. */
        +  var langHandlerRegistry = {};
        +  /** Register a language handler for the given file extensions.
        +    * @param {function (Object)} handler a function from source code to a list
        +    *      of decorations.  Takes a single argument job which describes the
        +    *      state of the computation.   The single parameter has the form
        +    *      {@code {
        +    *        source: {string} as plain text.
        +    *        decorations: {Array.<number|string>} an array of style classes
        +    *                     preceded by the position at which they start in
        +    *                     job.source in order.
        +    *                     The language handler should assigned this field.
        +    *        basePos: {int} the position of source in the larger source chunk.
        +    *                 All positions in the output decorations array are relative
        +    *                 to the larger source chunk.
        +    *      } }
        +    * @param {Array.<string>} fileExtensions
        +    */
        +  function registerLangHandler(handler, fileExtensions) {
        +    for (var i = fileExtensions.length; --i >= 0;) {
        +      var ext = fileExtensions[i];
        +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
        +        langHandlerRegistry[ext] = handler;
        +      } else if ('console' in window) {
        +        console['warn']('cannot override language handler %s', ext);
        +      }
        +    }
        +  }
        +  function langHandlerForExtension(extension, source) {
        +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
        +      // Treat it as markup if the first non whitespace character is a < and
        +      // the last non-whitespace character is a >.
        +      extension = /^\s*</.test(source)
        +          ? 'default-markup'
        +          : 'default-code';
        +    }
        +    return langHandlerRegistry[extension];
        +  }
        +  registerLangHandler(decorateSource, ['default-code']);
        +  registerLangHandler(
        +      createSimpleLexer(
        +          [],
        +          [
        +           [PR_PLAIN,       /^[^<?]+/],
        +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
        +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
        +           // Unescaped content in an unknown language
        +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
        +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
        +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
        +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
        +           // Unescaped content in javascript.  (Or possibly vbscript).
        +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
        +           // Contains unescaped stylesheet content
        +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
        +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
        +          ]),
        +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
        +  registerLangHandler(
        +      createSimpleLexer(
        +          [
        +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
        +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
        +           ],
        +          [
        +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
        +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
        +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
        +           [PR_PUNCTUATION,  /^[=<>\/]+/],
        +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
        +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
        +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
        +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
        +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
        +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
        +           ]),
        +      ['in.tag']);
        +  registerLangHandler(
        +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
        +  registerLangHandler(sourceDecorator({
        +          'keywords': CPP_KEYWORDS,
        +          'hashComments': true,
        +          'cStyleComments': true
        +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
        +  registerLangHandler(sourceDecorator({
        +          'keywords': 'null true false'
        +        }), ['json']);
        +  registerLangHandler(sourceDecorator({
        +          'keywords': CSHARP_KEYWORDS,
        +          'hashComments': true,
        +          'cStyleComments': true,
        +          'verbatimStrings': true
        +        }), ['cs']);
        +  registerLangHandler(sourceDecorator({
        +          'keywords': JAVA_KEYWORDS,
        +          'cStyleComments': true
        +        }), ['java']);
        +  registerLangHandler(sourceDecorator({
        +          'keywords': SH_KEYWORDS,
        +          'hashComments': true,
        +          'multiLineStrings': true
        +        }), ['bsh', 'csh', 'sh']);
        +  registerLangHandler(sourceDecorator({
        +          'keywords': PYTHON_KEYWORDS,
        +          'hashComments': true,
        +          'multiLineStrings': true,
        +          'tripleQuotedStrings': true
        +        }), ['cv', 'py']);
        +  registerLangHandler(sourceDecorator({
        +          'keywords': PERL_KEYWORDS,
        +          'hashComments': true,
        +          'multiLineStrings': true,
        +          'regexLiterals': true
        +        }), ['perl', 'pl', 'pm']);
        +  registerLangHandler(sourceDecorator({
        +          'keywords': RUBY_KEYWORDS,
        +          'hashComments': true,
        +          'multiLineStrings': true,
        +          'regexLiterals': true
        +        }), ['rb']);
        +  registerLangHandler(sourceDecorator({
        +          'keywords': JSCRIPT_KEYWORDS,
        +          'cStyleComments': true,
        +          'regexLiterals': true
        +        }), ['js']);
        +  registerLangHandler(
        +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
        +
        +  function applyDecorator(job) {
        +    var sourceCodeHtml = job.sourceCodeHtml;
        +    var opt_langExtension = job.langExtension;
        +
        +    // Prepopulate output in case processing fails with an exception.
        +    job.prettyPrintedHtml = sourceCodeHtml;
        +
        +    try {
        +      // Extract tags, and convert the source code to plain text.
        +      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
        +      /** Plain text. @type {string} */
        +      var source = sourceAndExtractedTags.source;
        +      job.source = source;
        +      job.basePos = 0;
        +
        +      /** Even entries are positions in source in ascending order.  Odd entries
        +        * are tags that were extracted at that position.
        +        * @type {Array.<number|string>}
        +        */
        +      job.extractedTags = sourceAndExtractedTags.tags;
        +
        +      // Apply the appropriate language handler
        +      langHandlerForExtension(opt_langExtension, source)(job);
        +      // Integrate the decorations and tags back into the source code to produce
        +      // a decorated html string which is left in job.prettyPrintedHtml.
        +      recombineTagsAndDecorations(job);
        +    } catch (e) {
        +      if ('console' in window) {
        +        console['log'](e && e['stack'] ? e['stack'] : e);
        +      }
        +    }
        +  }
        +
        +  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
        +    var job = {
        +      sourceCodeHtml: sourceCodeHtml,
        +      langExtension: opt_langExtension
        +    };
        +    applyDecorator(job);
        +    return job.prettyPrintedHtml;
        +  }
        +
        +  function prettyPrint(opt_whenDone) {
        +    function byTagName(tn) { return document.getElementsByTagName(tn); }
        +    // fetch a list of nodes to rewrite
        +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
        +    var elements = [];
        +    for (var i = 0; i < codeSegments.length; ++i) {
        +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
        +        elements.push(codeSegments[i][j]);
        +      }
        +    }
        +    codeSegments = null;
        +
        +    var clock = Date;
        +    if (!clock['now']) {
        +      clock = { 'now': function () { return (new Date).getTime(); } };
        +    }
        +
        +    // The loop is broken into a series of continuations to make sure that we
        +    // don't make the browser unresponsive when rewriting a large page.
        +    var k = 0;
        +    var prettyPrintingJob;
        +
        +    function doWork() {
        +      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
        +                     clock.now() + 250 /* ms */ :
        +                     Infinity);
        +      for (; k < elements.length && clock.now() < endTime; k++) {
        +        var cs = elements[k];
        +        // [JACOCO] 'prettyprint' -> 'source'
        +        if (cs.className && cs.className.indexOf('source') >= 0) {
        +          // If the classes includes a language extensions, use it.
        +          // Language extensions can be specified like
        +          //     <pre class="prettyprint lang-cpp">
        +          // the language extension "cpp" is used to find a language handler as
        +          // passed to PR_registerLangHandler.
        +          var langExtension = cs.className.match(/\blang-(\w+)\b/);
        +          if (langExtension) { langExtension = langExtension[1]; }
        +
        +          // make sure this is not nested in an already prettified element
        +          var nested = false;
        +          for (var p = cs.parentNode; p; p = p.parentNode) {
        +            if ((p.tagName === 'pre' || p.tagName === 'code' ||
        +                 p.tagName === 'xmp') &&
        +                // [JACOCO] 'prettyprint' -> 'source'
        +                p.className && p.className.indexOf('source') >= 0) {
        +              nested = true;
        +              break;
        +            }
        +          }
        +          if (!nested) {
        +            // fetch the content as a snippet of properly escaped HTML.
        +            // Firefox adds newlines at the end.
        +            var content = getInnerHtml(cs);
        +            content = content.replace(/(?:\r\n?|\n)$/, '');
        +
        +            // do the pretty printing
        +            prettyPrintingJob = {
        +              sourceCodeHtml: content,
        +              langExtension: langExtension,
        +              sourceNode: cs
        +            };
        +            applyDecorator(prettyPrintingJob);
        +            replaceWithPrettyPrintedHtml();
        +          }
        +        }
        +      }
        +      if (k < elements.length) {
        +        // finish up in a continuation
        +        setTimeout(doWork, 250);
        +      } else if (opt_whenDone) {
        +        opt_whenDone();
        +      }
        +    }
        +
        +    function replaceWithPrettyPrintedHtml() {
        +      var newContent = prettyPrintingJob.prettyPrintedHtml;
        +      if (!newContent) { return; }
        +      var cs = prettyPrintingJob.sourceNode;
        +
        +      // push the prettified html back into the tag.
        +      if (!isRawContent(cs)) {
        +        // just replace the old html with the new
        +        cs.innerHTML = newContent;
        +      } else {
        +        // we need to change the tag to a <pre> since <xmp>s do not allow
        +        // embedded tags such as the span tags used to attach styles to
        +        // sections of source code.
        +        var pre = document.createElement('PRE');
        +        for (var i = 0; i < cs.attributes.length; ++i) {
        +          var a = cs.attributes[i];
        +          if (a.specified) {
        +            var aname = a.name.toLowerCase();
        +            if (aname === 'class') {
        +              pre.className = a.value;  // For IE 6
        +            } else {
        +              pre.setAttribute(a.name, a.value);
        +            }
        +          }
        +        }
        +        pre.innerHTML = newContent;
        +
        +        // remove the old
        +        cs.parentNode.replaceChild(pre, cs);
        +        cs = pre;
        +      }
        +    }
        +
        +    doWork();
        +  }
        +
        +  window['PR_normalizedHtml'] = normalizedHtml;
        +  window['prettyPrintOne'] = prettyPrintOne;
        +  window['prettyPrint'] = prettyPrint;
        +  window['PR'] = {
        +        'combinePrefixPatterns': combinePrefixPatterns,
        +        'createSimpleLexer': createSimpleLexer,
        +        'registerLangHandler': registerLangHandler,
        +        'sourceDecorator': sourceDecorator,
        +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
        +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
        +        'PR_COMMENT': PR_COMMENT,
        +        'PR_DECLARATION': PR_DECLARATION,
        +        'PR_KEYWORD': PR_KEYWORD,
        +        'PR_LITERAL': PR_LITERAL,
        +        'PR_NOCODE': PR_NOCODE,
        +        'PR_PLAIN': PR_PLAIN,
        +        'PR_PUNCTUATION': PR_PUNCTUATION,
        +        'PR_SOURCE': PR_SOURCE,
        +        'PR_STRING': PR_STRING,
        +        'PR_TAG': PR_TAG,
        +        'PR_TYPE': PR_TYPE
        +      };
        +})();
        diff --git a/resumen/cobertura/jacoco-resources/redbar.gif b/resumen/cobertura/jacoco-resources/redbar.gif
        new file mode 100644
        index 0000000..c2f7146
        Binary files /dev/null and b/resumen/cobertura/jacoco-resources/redbar.gif differ
        diff --git a/resumen/cobertura/jacoco-resources/report.css b/resumen/cobertura/jacoco-resources/report.css
        new file mode 100644
        index 0000000..dd936bc
        --- /dev/null
        +++ b/resumen/cobertura/jacoco-resources/report.css
        @@ -0,0 +1,243 @@
        +body, td {
        +  font-family:sans-serif;
        +  font-size:10pt;
        +}
        +
        +h1 {
        +  font-weight:bold;
        +  font-size:18pt;
        +}
        +
        +.breadcrumb {
        +  border:#d6d3ce 1px solid;
        +  padding:2px 4px 2px 4px;
        +}
        +
        +.breadcrumb .info {
        +  float:right;
        +}
        +
        +.breadcrumb .info a {
        +  margin-left:8px;
        +}
        +
        +.el_report {
        +  padding-left:18px;
        +  background-image:url(report.gif);
        +  background-position:left center;
        +  background-repeat:no-repeat;
        +}
        +
        +.el_group {
        +  padding-left:18px;
        +  background-image:url(group.gif);
        +  background-position:left center;
        +  background-repeat:no-repeat;
        +}
        +
        +.el_bundle {
        +  padding-left:18px;
        +  background-image:url(bundle.gif);
        +  background-position:left center;
        +  background-repeat:no-repeat;
        +}
        +
        +.el_package {
        +  padding-left:18px;
        +  background-image:url(package.gif);
        +  background-position:left center;
        +  background-repeat:no-repeat;
        +}
        +
        +.el_class {
        +  padding-left:18px;
        +  background-image:url(class.gif);
        +  background-position:left center;
        +  background-repeat:no-repeat;
        +}
        +
        +.el_source {
        +  padding-left:18px;
        +  background-image:url(source.gif);
        +  background-position:left center;
        +  background-repeat:no-repeat;
        +}
        +
        +.el_method {
        +  padding-left:18px;
        +  background-image:url(method.gif);
        +  background-position:left center;
        +  background-repeat:no-repeat;
        +}
        +
        +.el_session {
        +  padding-left:18px;
        +  background-image:url(session.gif);
        +  background-position:left center;
        +  background-repeat:no-repeat;
        +}
        +
        +pre.source {
        +  border:#d6d3ce 1px solid;
        +  font-family:monospace;
        +}
        +
        +pre.source ol {
        +  margin-bottom: 0px;
        +  margin-top: 0px;
        +}
        +
        +pre.source li {
        +  border-left: 1px solid #D6D3CE;
        +  color: #A0A0A0;
        +  padding-left: 0px;
        +}
        +
        +pre.source span.fc {
        +  background-color:#ccffcc;
        +}
        +
        +pre.source span.nc {
        +  background-color:#ffaaaa;
        +}
        +
        +pre.source span.pc {
        +  background-color:#ffffcc;
        +}
        +
        +pre.source span.bfc {
        +  background-image: url(branchfc.gif);
        +  background-repeat: no-repeat;
        +  background-position: 2px center;
        +}
        +
        +pre.source span.bfc:hover {
        +  background-color:#80ff80;
        +}
        +
        +pre.source span.bnc {
        +  background-image: url(branchnc.gif);
        +  background-repeat: no-repeat;
        +  background-position: 2px center;
        +}
        +
        +pre.source span.bnc:hover {
        +  background-color:#ff8080;
        +}
        +
        +pre.source span.bpc {
        +  background-image: url(branchpc.gif);
        +  background-repeat: no-repeat;
        +  background-position: 2px center;
        +}
        +
        +pre.source span.bpc:hover {
        +  background-color:#ffff80;
        +}
        +
        +table.coverage {
        +  empty-cells:show;
        +  border-collapse:collapse;
        +}
        +
        +table.coverage thead {
        +  background-color:#e0e0e0;
        +}
        +
        +table.coverage thead td {
        +  white-space:nowrap;
        +  padding:2px 14px 0px 6px;
        +  border-bottom:#b0b0b0 1px solid;
        +}
        +
        +table.coverage thead td.bar {
        +  border-left:#cccccc 1px solid;
        +}
        +
        +table.coverage thead td.ctr1 {
        +  text-align:right;
        +  border-left:#cccccc 1px solid;
        +}
        +
        +table.coverage thead td.ctr2 {
        +  text-align:right;
        +  padding-left:2px;
        +}
        +
        +table.coverage thead td.sortable {
        +  cursor:pointer;
        +  background-image:url(sort.gif);
        +  background-position:right center;
        +  background-repeat:no-repeat;
        +}
        +
        +table.coverage thead td.up {
        +  background-image:url(up.gif);
        +}
        +
        +table.coverage thead td.down {
        +  background-image:url(down.gif);
        +}
        +
        +table.coverage tbody td {
        +  white-space:nowrap;
        +  padding:2px 6px 2px 6px;
        +  border-bottom:#d6d3ce 1px solid;
        +}
        +
        +table.coverage tbody tr:hover {
        +  background: #f0f0d0 !important;
        +}
        +
        +table.coverage tbody td.bar {
        +  border-left:#e8e8e8 1px solid;
        +}
        +
        +table.coverage tbody td.ctr1 {
        +  text-align:right;
        +  padding-right:14px;
        +  border-left:#e8e8e8 1px solid;
        +}
        +
        +table.coverage tbody td.ctr2 {
        +  text-align:right;
        +  padding-right:14px;
        +  padding-left:2px;
        +}
        +
        +table.coverage tfoot td {
        +  white-space:nowrap;
        +  padding:2px 6px 2px 6px;
        +}
        +
        +table.coverage tfoot td.bar {
        +  border-left:#e8e8e8 1px solid;
        +}
        +
        +table.coverage tfoot td.ctr1 {
        +  text-align:right;
        +  padding-right:14px;
        +  border-left:#e8e8e8 1px solid;
        +}
        +
        +table.coverage tfoot td.ctr2 {
        +  text-align:right;
        +  padding-right:14px;
        +  padding-left:2px;
        +}
        +
        +.footer {
        +  margin-top:20px;
        +  border-top:#d6d3ce 1px solid;
        +  padding-top:2px;
        +  font-size:8pt;
        +  color:#a0a0a0;
        +}
        +
        +.footer a {
        +  color:#a0a0a0;
        +}
        +
        +.right {
        +  float:right;
        +}
        diff --git a/resumen/cobertura/jacoco-resources/report.gif b/resumen/cobertura/jacoco-resources/report.gif
        new file mode 100644
        index 0000000..8547be5
        Binary files /dev/null and b/resumen/cobertura/jacoco-resources/report.gif differ
        diff --git a/resumen/cobertura/jacoco-resources/session.gif b/resumen/cobertura/jacoco-resources/session.gif
        new file mode 100644
        index 0000000..0151bad
        Binary files /dev/null and b/resumen/cobertura/jacoco-resources/session.gif differ
        diff --git a/resumen/cobertura/jacoco-resources/sort.gif b/resumen/cobertura/jacoco-resources/sort.gif
        new file mode 100644
        index 0000000..6757c2c
        Binary files /dev/null and b/resumen/cobertura/jacoco-resources/sort.gif differ
        diff --git a/resumen/cobertura/jacoco-resources/sort.js b/resumen/cobertura/jacoco-resources/sort.js
        new file mode 100644
        index 0000000..e269fe3
        --- /dev/null
        +++ b/resumen/cobertura/jacoco-resources/sort.js
        @@ -0,0 +1,148 @@
        +/*******************************************************************************
        + * Copyright (c) 2009, 2018 Mountainminds GmbH & Co. KG and Contributors
        + * This program and the accompanying materials are made available under
        + * the terms of the Eclipse Public License 2.0 which is available at
        + * http://www.eclipse.org/legal/epl-2.0
        + *
        + * SPDX-License-Identifier: EPL-2.0
        + *
        + * Contributors:
        + *    Marc R. Hoffmann - initial API and implementation
        + *
        + *******************************************************************************/
        +
        +(function () {
        +
        +  /**
        +   * Sets the initial sorting derived from the hash.
        +   *
        +   * @param linkelementids
        +   *          list of element ids to search for links to add sort inidcator
        +   *          hash links
        +   */
        +  function initialSort(linkelementids) {
        +    window.linkelementids = linkelementids;
        +    var hash = window.location.hash;
        +    if (hash) {
        +      var m = hash.match(/up-./);
        +      if (m) {
        +        var header = window.document.getElementById(m[0].charAt(3));
        +        if (header) {
        +          sortColumn(header, true);
        +        }
        +        return;
        +      }
        +      var m = hash.match(/dn-./);
        +      if (m) {
        +        var header = window.document.getElementById(m[0].charAt(3));
        +        if (header) {
        +          sortColumn(header, false);
        +        }
        +        return
        +      }
        +    }
        +  }
        +
        +  /**
        +   * Sorts the columns with the given header dependening on the current sort state.
        +   */
        +  function toggleSort(header) {
        +    var sortup = header.className.indexOf('down ') == 0;
        +    sortColumn(header, sortup);
        +  }
        +
        +  /**
        +   * Sorts the columns with the given header in the given direction.
        +   */
        +  function sortColumn(header, sortup) {
        +    var table = header.parentNode.parentNode.parentNode;
        +    var body = table.tBodies[0];
        +    var colidx = getNodePosition(header);
        +
        +    resetSortedStyle(table);
        +
        +    var rows = body.rows;
        +    var sortedrows = [];
        +    for (var i = 0; i < rows.length; i++) {
        +      r = rows[i];
        +      sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
        +    }
        +
        +    var hash;
        +
        +    if (sortup) {
        +      for (var i = sortedrows.length - 1; i >= 0; i--) {
        +        body.appendChild(sortedrows[i]);
        +      }
        +      header.className = 'up ' + header.className;
        +      hash = 'up-' + header.id;
        +    } else {
        +      for (var i = 0; i < sortedrows.length; i++) {
        +        body.appendChild(sortedrows[i]);
        +      }
        +      header.className = 'down ' + header.className;
        +      hash = 'dn-' + header.id;
        +    }
        +
        +    setHash(hash);
        +  }
        +
        +  /**
        +   * Adds the sort indicator as a hash to the document URL and all links.
        +   */
        +  function setHash(hash) {
        +    window.document.location.hash = hash;
        +    ids = window.linkelementids;
        +    for (var i = 0; i < ids.length; i++) {
        +        setHashOnAllLinks(document.getElementById(ids[i]), hash);
        +    }
        +  }
        +
        +  /**
        +   * Extend all links within the given tag with the given hash.
        +   */
        +  function setHashOnAllLinks(tag, hash) {
        +    links = tag.getElementsByTagName("a");
        +    for (var i = 0; i < links.length; i++) {
        +        var a = links[i];
        +        var href = a.href;
        +        var hashpos = href.indexOf("#");
        +        if (hashpos != -1) {
        +            href = href.substring(0, hashpos);
        +        }
        +        a.href = href + "#" + hash;
        +    }
        +  }
        +
        +  /**
        +   * Calculates the position of a element within its parent.
        +   */
        +  function getNodePosition(element) {
        +    var pos = -1;
        +    while (element) {
        +      element = element.previousSibling;
        +      pos++;
        +    }
        +    return pos;
        +  }
        +
        +  /**
        +   * Remove the sorting indicator style from all headers.
        +   */
        +  function resetSortedStyle(table) {
        +    for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
        +      if (c.className) {
        +        if (c.className.indexOf('down ') == 0) {
        +          c.className = c.className.slice(5);
        +        }
        +        if (c.className.indexOf('up ') == 0) {
        +          c.className = c.className.slice(3);
        +        }
        +      }
        +    }
        +  }
        +
        +  window['initialSort'] = initialSort;
        +  window['toggleSort'] = toggleSort;
        +
        +})();
        diff --git a/resumen/cobertura/jacoco-resources/source.gif b/resumen/cobertura/jacoco-resources/source.gif
        new file mode 100644
        index 0000000..b226e41
        Binary files /dev/null and b/resumen/cobertura/jacoco-resources/source.gif differ
        diff --git a/resumen/cobertura/jacoco-resources/up.gif b/resumen/cobertura/jacoco-resources/up.gif
        new file mode 100644
        index 0000000..58ed216
        Binary files /dev/null and b/resumen/cobertura/jacoco-resources/up.gif differ
        diff --git a/resumen/cobertura/jacoco-sessions.html b/resumen/cobertura/jacoco-sessions.html
        new file mode 100644
        index 0000000..d8b95c4
        --- /dev/null
        +++ b/resumen/cobertura/jacoco-sessions.html
        @@ -0,0 +1 @@
        +<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="es"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>Sessions</title></head><body><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><a href="index.html" class="el_report">desafio3 (20-04-2022 15:54:59)</a> &gt; <span class="el_session">Sessions</span></div><h1>Sessions</h1><p>This coverage report is based on execution data from the following sessions:</p><table class="coverage" cellspacing="0"><thead><tr><td>Session</td><td>Start Time</td><td>Dump Time</td></tr></thead><tbody><tr><td><span class="el_session">DESKTOP-T3DQ8O1-f362bc60</span></td><td>20-04-2022 15:54:50</td><td>20-04-2022 15:54:58</td></tr></tbody></table><p>Execution data for the following classes is considered in this report:</p><table class="coverage" cellspacing="0"><thead><tr><td>Class</td><td>Id</td></tr></thead><tbody><tr><td><span class="el_class">ch.qos.logback.classic.BasicConfigurator</span></td><td><code>0047a66eeae0d6b2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.Level</span></td><td><code>e2155b45608f35d7</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.Logger</span></td><td><code>f35d4d4ad6b0173a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.LoggerContext</span></td><td><code>d057ce3cea631d6b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.PatternLayout</span></td><td><code>6b4fcc6f23c89763</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.encoder.PatternLayoutEncoder</span></td><td><code>b5df0ef8a1a735ea</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.jul.JULHelper</span></td><td><code>e4fe9aef50196332</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.jul.LevelChangePropagator</span></td><td><code>3d39cb08e2dd1f04</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.layout.TTLLLayout</span></td><td><code>17db39eb61acaa64</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ClassicConverter</span></td><td><code>78403f02659989af</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.DateConverter</span></td><td><code>5c52dc34531b028d</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.EnsureExceptionHandling</span></td><td><code>f9c97b8da786f083</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter</span></td><td><code>a3c5c783bfd752a7</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.LevelConverter</span></td><td><code>05b4415a3dbcaaf4</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.LineSeparatorConverter</span></td><td><code>2e2dc69c3bdc6cd3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.LoggerConverter</span></td><td><code>e250f04c84d66501</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.MessageConverter</span></td><td><code>ef2f64b51bca1aac</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.NamedConverter</span></td><td><code>2d8a1e4cd16b9929</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator</span></td><td><code>ec60b2fb41d57b0a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ThreadConverter</span></td><td><code>a95aaedda263355c</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ThrowableHandlingConverter</span></td><td><code>266cc4ca75fcd39d</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ThrowableProxyConverter</span></td><td><code>46dc88ad0c97e462</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.selector.DefaultContextSelector</span></td><td><code>fd861e3242ccff2f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.EventArgUtil</span></td><td><code>88f3990bf293da69</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.LoggerContextVO</span></td><td><code>ecac106025bca4a3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.LoggingEvent</span></td><td><code>75c5fe4974050a6f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.TurboFilterList</span></td><td><code>aa3cf39d0c0c651e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.turbo.TurboFilter</span></td><td><code>b799953481df4445</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.ContextInitializer</span></td><td><code>f560906e9553d69f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.ContextSelectorStaticBinder</span></td><td><code>271bbf6fa66123b1</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.EnvUtil</span></td><td><code>39b5543082458460</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.LogbackMDCAdapter</span></td><td><code>a05682a253fd41d4</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.LoggerNameUtil</span></td><td><code>b8d88c97a0cadcfa</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.BasicStatusManager</span></td><td><code>f42ab87c1f66e222</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.ConsoleAppender</span></td><td><code>d101474cda5e45c9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.ContextBase</span></td><td><code>707ceedbd09855e6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.CoreConstants</span></td><td><code>09363a83cd5b4101</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.LayoutBase</span></td><td><code>e6bfd3b1edc3ab01</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.LifeCycleManager</span></td><td><code>72cb4d8e47a5b7ac</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.OutputStreamAppender</span></td><td><code>79e07918442741f3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.UnsynchronizedAppenderBase</span></td><td><code>0672be5753362c70</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.encoder.EncoderBase</span></td><td><code>f2507a7276f26c10</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.encoder.LayoutWrappingEncoder</span></td><td><code>6c80790d34287d6b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.helpers.CyclicBuffer</span></td><td><code>422c7b9f7318f10a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.joran.spi.ConsoleTarget</span></td><td><code>6e2cdd5051fbf329</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.joran.spi.ConsoleTarget.1</span></td><td><code>9612187e03729cd5</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.joran.spi.ConsoleTarget.2</span></td><td><code>ea3332451607183e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.CompositeConverter</span></td><td><code>7a7e77f23fb07762</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.Converter</span></td><td><code>925f6cb417029041</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.ConverterUtil</span></td><td><code>dd9b10877d49fdef</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.DynamicConverter</span></td><td><code>66d903dd096314f6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.FormatInfo</span></td><td><code>875526d52e168bcb</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.FormattingConverter</span></td><td><code>c3110b5495da3c0a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.LiteralConverter</span></td><td><code>65b2e319699170e6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.PatternLayoutBase</span></td><td><code>a804a6743796ed4f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.PatternLayoutEncoderBase</span></td><td><code>8869b320200d58ca</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.SpacePadder</span></td><td><code>e82e4efc2cb997cb</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Compiler</span></td><td><code>1c6d6460ba38602b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.CompositeNode</span></td><td><code>701c150013bd733d</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.FormattingNode</span></td><td><code>c1ea708a78deec04</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Node</span></td><td><code>6c2db44212d84b68</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.OptionTokenizer</span></td><td><code>b9b225507c800bd5</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Parser</span></td><td><code>7b1aef016f4f95f3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.SimpleKeywordNode</span></td><td><code>f700f290325e600d</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Token</span></td><td><code>4f7e433507e860ed</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.TokenStream</span></td><td><code>b0bdcf4b6e0f87aa</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.TokenStream.1</span></td><td><code>fd95c0c735fd0ef7</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.TokenStream.TokenizerState</span></td><td><code>3467111fb3bf68e6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.util.AsIsEscapeUtil</span></td><td><code>59f6b4aeb7076212</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.util.RegularEscapeUtil</span></td><td><code>1cc07c8d9d362995</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.util.RestrictedEscapeUtil</span></td><td><code>05ac894407a1822b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.AppenderAttachableImpl</span></td><td><code>356e7661a1308dba</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.ContextAwareBase</span></td><td><code>507768fbb8be644f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.FilterAttachableImpl</span></td><td><code>e0d2c4e50fd975d2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.FilterReply</span></td><td><code>8ffb0681c411c96a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.LogbackLock</span></td><td><code>b3b7af385a799776</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.InfoStatus</span></td><td><code>1d3c0987bb0ffe10</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.StatusBase</span></td><td><code>7c1cffd1a9986020</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.StatusUtil</span></td><td><code>b5fec2971e383d38</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Node</span></td><td><code>173ef78e5278fe04</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Node.Type</span></td><td><code>b8a40f4b8fbe988c</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.NodeToStringTransformer</span></td><td><code>1e8620cc7b5415cb</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.NodeToStringTransformer.1</span></td><td><code>5967309dea3614e0</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Parser</span></td><td><code>c06549d7b1e1487d</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Parser.1</span></td><td><code>78a0480962b020ea</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Token</span></td><td><code>3f38da4ca554aafd</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Token.Type</span></td><td><code>d037d0aeea85e517</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Tokenizer</span></td><td><code>6a388c818909b082</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Tokenizer.1</span></td><td><code>5446562f97e885f7</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Tokenizer.TokenizerState</span></td><td><code>a43d7665d3995d51</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.COWArrayList</span></td><td><code>fd4fbd3c0c90c052</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.CachingDateFormatter</span></td><td><code>371338e1c1d98e24</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.EnvUtil</span></td><td><code>adc66c330ddaa6c4</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.Loader</span></td><td><code>6a7f26fdd43cf12b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.Loader.1</span></td><td><code>d6e48f075e51e44b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.OptionHelper</span></td><td><code>ed7183d6bad9d2a9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StatusListenerConfigHelper</span></td><td><code>b3e50ff76e275069</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StatusPrinter</span></td><td><code>04fef78263405164</code></td></tr><tr><td><a href="desafio3/src_main_java/cl.zco.desafio3/Configuracion.html" class="el_class">cl.zco.desafio3.Configuracion</a></td><td><code>1bb24b0faa89f150</code></td></tr><tr><td><a href="desafio3/src_main_java/cl.zco.desafio3/Desafio3Application.html" class="el_class">cl.zco.desafio3.Desafio3Application</a></td><td><code>3527714e17b86a52</code></td></tr><tr><td><span class="el_class">cl.zco.desafio3.Desafio3Application..EnhancerBySpringCGLIB..bf0980f9</span></td><td><code>de70f402f7ac4e97</code></td></tr><tr><td><a href="desafio3/src_test_java/cl.zco.desafio3/Desafio3ApplicationTests.html" class="el_class">cl.zco.desafio3.Desafio3ApplicationTests</a></td><td><code>d0407016a1efe16c</code></td></tr><tr><td><a href="desafio3/src_main_java/cl.zco.desafio3/Proveedor.html" class="el_class">cl.zco.desafio3.Proveedor</a></td><td><code>843afb6648ac418c</code></td></tr><tr><td><a href="desafio3/src_main_java/cl.zco.desafio3.dto/FormatoJsonDTO.html" class="el_class">cl.zco.desafio3.dto.FormatoJsonDTO</a></td><td><code>a407f586ab5861b7</code></td></tr><tr><td><a href="desafio3/src_main_java/cl.zco.desafio3.dto/FormatoUfJsonDTO.html" class="el_class">cl.zco.desafio3.dto.FormatoUfJsonDTO</a></td><td><code>1840f46b644b25fe</code></td></tr><tr><td><a href="desafio3/src_main_java/cl.zco.desafio3.negocio/ConsumirJarPrevired.html" class="el_class">cl.zco.desafio3.negocio.ConsumirJarPrevired</a></td><td><code>3df709542a2c9e43</code></td></tr><tr><td><a href="desafio3/src_test_java/cl.zco.desafio3.negocio/ConsumirJarPreviredTest.html" class="el_class">cl.zco.desafio3.negocio.ConsumirJarPreviredTest</a></td><td><code>c29af48d1677e626</code></td></tr><tr><td><a href="desafio3/src_main_java/cl.zco.desafio3.negocio/ManejadorArchivos.html" class="el_class">cl.zco.desafio3.negocio.ManejadorArchivos</a></td><td><code>5aea57ef65c75b44</code></td></tr><tr><td><a href="desafio3/src_test_java/cl.zco.desafio3.negocio/ManejadorArchivosTest.html" class="el_class">cl.zco.desafio3.negocio.ManejadorArchivosTest</a></td><td><code>fc5ef2bc3fa58ae6</code></td></tr><tr><td><a href="desafio3/src_main_java/cl.zco.desafio3.util/Constantes.html" class="el_class">cl.zco.desafio3.util.Constantes</a></td><td><code>d0b649670b361729</code></td></tr><tr><td><a href="desafio3/src_test_java/cl.zco.desafio3.util/DtoTest.html" class="el_class">cl.zco.desafio3.util.DtoTest</a></td><td><code>346bd20eeada4299</code></td></tr><tr><td><a href="desafio3/src_main_java/cl.zco.desafio3.util/Util.html" class="el_class">cl.zco.desafio3.util.Util</a></td><td><code>b516c1af507a39ba</code></td></tr><tr><td><a href="desafio3/src_test_java/cl.zco.desafio3.util/UtilTest.html" class="el_class">cl.zco.desafio3.util.UtilTest</a></td><td><code>9b9983b85d8921d1</code></td></tr><tr><td><span class="el_class">com.google.gson.FieldNamingPolicy</span></td><td><code>a9ccb88e12628bab</code></td></tr><tr><td><span class="el_class">com.google.gson.FieldNamingPolicy.1</span></td><td><code>74e60530f9dfd5a6</code></td></tr><tr><td><span class="el_class">com.google.gson.FieldNamingPolicy.2</span></td><td><code>cca6591a7aa10fd3</code></td></tr><tr><td><span class="el_class">com.google.gson.FieldNamingPolicy.3</span></td><td><code>a2f613527e2eaacb</code></td></tr><tr><td><span class="el_class">com.google.gson.FieldNamingPolicy.4</span></td><td><code>139ef2624c75bbd3</code></td></tr><tr><td><span class="el_class">com.google.gson.FieldNamingPolicy.5</span></td><td><code>6355fc1f4b132f3e</code></td></tr><tr><td><span class="el_class">com.google.gson.FieldNamingPolicy.6</span></td><td><code>d2839c0903e98a16</code></td></tr><tr><td><span class="el_class">com.google.gson.FieldNamingPolicy.7</span></td><td><code>b15574aea5c36ec6</code></td></tr><tr><td><span class="el_class">com.google.gson.Gson</span></td><td><code>9168cd903aae42f9</code></td></tr><tr><td><span class="el_class">com.google.gson.Gson.1</span></td><td><code>c5e2e5dca8dd7866</code></td></tr><tr><td><span class="el_class">com.google.gson.Gson.2</span></td><td><code>16403a6a348bf5ce</code></td></tr><tr><td><span class="el_class">com.google.gson.Gson.4</span></td><td><code>89af96dd826fb2a8</code></td></tr><tr><td><span class="el_class">com.google.gson.Gson.5</span></td><td><code>7197f614ed9d59b8</code></td></tr><tr><td><span class="el_class">com.google.gson.Gson.FutureTypeAdapter</span></td><td><code>a4a4659f7abd22c4</code></td></tr><tr><td><span class="el_class">com.google.gson.GsonBuilder</span></td><td><code>9fc656420c7554bc</code></td></tr><tr><td><span class="el_class">com.google.gson.JsonElement</span></td><td><code>291e91aec4faff2c</code></td></tr><tr><td><span class="el_class">com.google.gson.JsonNull</span></td><td><code>9da57a5225ec16ad</code></td></tr><tr><td><span class="el_class">com.google.gson.LongSerializationPolicy</span></td><td><code>0383e8018575dd2d</code></td></tr><tr><td><span class="el_class">com.google.gson.LongSerializationPolicy.1</span></td><td><code>cff239f5198750ee</code></td></tr><tr><td><span class="el_class">com.google.gson.LongSerializationPolicy.2</span></td><td><code>f8175a77e442ec4a</code></td></tr><tr><td><span class="el_class">com.google.gson.ToNumberPolicy</span></td><td><code>6b3f5eb48341c0f7</code></td></tr><tr><td><span class="el_class">com.google.gson.ToNumberPolicy.1</span></td><td><code>3e28bcbd9e18f906</code></td></tr><tr><td><span class="el_class">com.google.gson.ToNumberPolicy.2</span></td><td><code>9ed1f6c68a8f7a31</code></td></tr><tr><td><span class="el_class">com.google.gson.ToNumberPolicy.3</span></td><td><code>78745d4a07673284</code></td></tr><tr><td><span class="el_class">com.google.gson.ToNumberPolicy.4</span></td><td><code>4f0bc632663193b9</code></td></tr><tr><td><span class="el_class">com.google.gson.TypeAdapter</span></td><td><code>747644c650689faf</code></td></tr><tr><td><span class="el_class">com.google.gson.TypeAdapter.1</span></td><td><code>c6c289b4bd4187f1</code></td></tr><tr><td><span class="el_class">com.google.gson.internal..Gson.Preconditions</span></td><td><code>2ad574710e4bd8e8</code></td></tr><tr><td><span class="el_class">com.google.gson.internal..Gson.Types</span></td><td><code>0a992fa162ddfec7</code></td></tr><tr><td><span class="el_class">com.google.gson.internal..Gson.Types.ParameterizedTypeImpl</span></td><td><code>13e67e1502e68402</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.ConstructorConstructor</span></td><td><code>4604d9d4dbd14c3e</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.ConstructorConstructor.16</span></td><td><code>88c06cca811e4fef</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.ConstructorConstructor.4</span></td><td><code>242b5990ddcc9896</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.ConstructorConstructor.7</span></td><td><code>8646733d38910592</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.ConstructorConstructor.9</span></td><td><code>6d16b437a1aadb36</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.Excluder</span></td><td><code>9e16a75d38817706</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.JavaVersion</span></td><td><code>ce035cb8f7c56149</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.JsonReaderInternalAccess</span></td><td><code>a64aa20bd74e6d9e</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.PreJava9DateFormatProvider</span></td><td><code>5dcae23d539f1818</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.Primitives</span></td><td><code>ce797cf2bd15cce7</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.Streams</span></td><td><code>adda68f4d0312fb9</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.UnsafeAllocator</span></td><td><code>8ab05e84b641edba</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.UnsafeAllocator.1</span></td><td><code>1e2c45ae23786e02</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.ArrayTypeAdapter</span></td><td><code>ebce4a78f6b30b13</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.ArrayTypeAdapter.1</span></td><td><code>3c5f19f1af83884f</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.CollectionTypeAdapterFactory</span></td><td><code>c89f9bd47ce9b7e4</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.CollectionTypeAdapterFactory.Adapter</span></td><td><code>5b304b7c5b05b2c8</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.DateTypeAdapter</span></td><td><code>a918f4b3cc484a9e</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.DateTypeAdapter.1</span></td><td><code>1e1e04a31853ce1a</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.DefaultDateTypeAdapter.DateType</span></td><td><code>67600e175a04fa9c</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.DefaultDateTypeAdapter.DateType.1</span></td><td><code>95e6b44340ce7477</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory</span></td><td><code>f754ec6a28319d24</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.MapTypeAdapterFactory</span></td><td><code>2bfca7fe4e11de02</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.NumberTypeAdapter</span></td><td><code>2c1c4b5a515ff5cc</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.NumberTypeAdapter.1</span></td><td><code>d669ec06e8eb62d8</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.ObjectTypeAdapter</span></td><td><code>a67e2c1a77fe9b1f</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.ObjectTypeAdapter.1</span></td><td><code>0a877dd0db982bc4</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.ReflectiveTypeAdapterFactory</span></td><td><code>2c3e1166fdd10498</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.1</span></td><td><code>35840f861ded8c9d</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.Adapter</span></td><td><code>06b5bf10c2fd2e33</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.BoundField</span></td><td><code>4a9a63a52b21996f</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper</span></td><td><code>f6e42ebf3100825e</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters</span></td><td><code>e87d94b30b5ca06d</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.1</span></td><td><code>f3a08ce801e7e166</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.10</span></td><td><code>324fe998dd174cb8</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.11</span></td><td><code>8f64dd900dd5a878</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.12</span></td><td><code>6573c8fd79b9a346</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.13</span></td><td><code>a28915fb6a45886c</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.14</span></td><td><code>3ac468d495830a9c</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.15</span></td><td><code>6c7c1df28c9ed2cb</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.16</span></td><td><code>83a302c4cf99d019</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.17</span></td><td><code>6fbdd7f772ab7b04</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.18</span></td><td><code>8f008280626b9a30</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.19</span></td><td><code>4d879aedaa8d7e02</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.2</span></td><td><code>4a7a8852a34fa31f</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.20</span></td><td><code>b01fba078a84d79c</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.21</span></td><td><code>84c2ec0830eeafab</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.22</span></td><td><code>a9e744a24ba07bc4</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.23</span></td><td><code>b1dddfadd864df22</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.24</span></td><td><code>dfa61efb73771bbf</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.25</span></td><td><code>64bf17af3af78980</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.26</span></td><td><code>28da15be09d13d5f</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.27</span></td><td><code>cb5007828ff50e28</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.28</span></td><td><code>a45569ee9930457e</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.29</span></td><td><code>eb3b09d82067f483</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.3</span></td><td><code>8d545ecafd8a8df5</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.31</span></td><td><code>9536a9b7f1c3d09d</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.32</span></td><td><code>8dd9202bcacd4315</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.33</span></td><td><code>7e97d467239e5f1e</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.34</span></td><td><code>43e209386fcb4f0e</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.4</span></td><td><code>8868f90de082bf2b</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.5</span></td><td><code>7240432c98aaa286</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.6</span></td><td><code>3a4cfe0747ca9789</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.7</span></td><td><code>7219eb05f82d8a49</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.8</span></td><td><code>e0f2944db3d0fb53</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.TypeAdapters.9</span></td><td><code>fe01915226959bf4</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.bind.util.ISO8601Utils</span></td><td><code>fdb2532e6ffebeea</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.reflect.ReflectionHelper</span></td><td><code>44fad9d8bd1320c8</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.sql.SqlDateTypeAdapter</span></td><td><code>759c80a351806a6a</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.sql.SqlDateTypeAdapter.1</span></td><td><code>5e8177dacb42fdcc</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.sql.SqlTimeTypeAdapter</span></td><td><code>c03cfadd1131b29a</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.sql.SqlTimeTypeAdapter.1</span></td><td><code>38f494c57c386f02</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.sql.SqlTimestampTypeAdapter</span></td><td><code>685ac2966df2335f</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.sql.SqlTimestampTypeAdapter.1</span></td><td><code>38e74c1f432005c2</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.sql.SqlTypesSupport</span></td><td><code>24f8c951b0c966e1</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.sql.SqlTypesSupport.1</span></td><td><code>85ef3fff6448d68a</code></td></tr><tr><td><span class="el_class">com.google.gson.internal.sql.SqlTypesSupport.2</span></td><td><code>0c921201327ae0f7</code></td></tr><tr><td><span class="el_class">com.google.gson.reflect.TypeToken</span></td><td><code>2aa6775adf4a2815</code></td></tr><tr><td><span class="el_class">com.google.gson.stream.JsonReader</span></td><td><code>760ec45a181a831f</code></td></tr><tr><td><span class="el_class">com.google.gson.stream.JsonReader.1</span></td><td><code>819e4318eb6656bd</code></td></tr><tr><td><span class="el_class">com.google.gson.stream.JsonToken</span></td><td><code>991a7375285784a1</code></td></tr><tr><td><span class="el_class">com.google.gson.stream.JsonWriter</span></td><td><code>5f56466c75be28bc</code></td></tr><tr><td><span class="el_class">com.previred.desafio.tres.uf.DatosUf</span></td><td><code>d45beb4c60d6463c</code></td></tr><tr><td><span class="el_class">com.previred.desafio.tres.uf.Valores</span></td><td><code>004f1630a15efa60</code></td></tr><tr><td><span class="el_class">com.previred.desafio.tres.uf.tools.RandomDate</span></td><td><code>ff396b50bf8c3a4d</code></td></tr><tr><td><span class="el_class">com.previred.desafio.tres.uf.vo.Uf</span></td><td><code>d1424d39ffc87e2f</code></td></tr><tr><td><span class="el_class">com.previred.desafio.tres.uf.vo.Ufs</span></td><td><code>0715fce1d5ce3960</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ByteBuddy</span></td><td><code>6bc52217f7be4981</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion</span></td><td><code>f1ed2155318f5ed9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolved</span></td><td><code>baef02abdc77b618</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolver</span></td><td><code>99911b6fab5d2cdc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.AbstractBase</span></td><td><code>69340ff32b1b6817</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom</span></td><td><code>aa0e7b64fab5be27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom.BaseNameResolver.ForUnnamedType</span></td><td><code>9b7a0eeb06721d08</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache</span></td><td><code>94af82693871d077</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort</span></td><td><code>89893650e4cc0a73</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.1</span></td><td><code>9d6cb76f0fa81dc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.2</span></td><td><code>dcf92e7fe7bc3d4d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.WithInlineExpunction</span></td><td><code>888b3fe8edc11928</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.AbstractBase</span></td><td><code>bbb987f5a6b373aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.Compound</span></td><td><code>102622a7b356ea33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.NoOp</span></td><td><code>7c943662c06a5a16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval</span></td><td><code>aebb8d47fc6607ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.MemberRemoval.MemberRemovingClassVisitor</span></td><td><code>165e938bba3cfbb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ByteCodeElement.Token.TokenList</span></td><td><code>84bb284802c7cdf7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ModifierReviewable.AbstractBase</span></td><td><code>9ed1e8ca9aada7c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.NamedElement.WithDescriptor</span></td><td><code>e3d470b846d036fb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.TypeVariableSource.AbstractBase</span></td><td><code>0dd18b33397fe977</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.AbstractBase</span></td><td><code>1d4c31427b2b295e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.ForLoadedAnnotation</span></td><td><code>f137cd7f21443bf0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.AbstractBase</span></td><td><code>c38df8bc2a4db545</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Empty</span></td><td><code>109bac4fb5cd7d7c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Explicit</span></td><td><code>985427cab36dc86f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.ForLoadedAnnotations</span></td><td><code>c61a2a1955918775</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue</span></td><td><code>deec47004a09bbe5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.AbstractBase</span></td><td><code>8c0197f0b9f856ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForDescriptionArray</span></td><td><code>19c5518263c51102</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForDescriptionArray.Loaded</span></td><td><code>b643b9ce5b7606f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription</span></td><td><code>3b06c3300bea6cb6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription.Loaded</span></td><td><code>55e74f2ff407383e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.Loaded.AbstractBase</span></td><td><code>d5960827a4e786c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.State</span></td><td><code>ad9c7d0215958300</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.AbstractBase</span></td><td><code>5913d6bb12d48d84</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.ForLoadedEnumeration</span></td><td><code>c131a502738acb7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.AbstractBase</span></td><td><code>5c004de512331d63</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForLoadedFields</span></td><td><code>78569653f17d0b2a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForTokens</span></td><td><code>605bed96d8be752c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription</span></td><td><code>3f08c33141204b47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.AbstractBase</span></td><td><code>9066041e06cee4f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedConstructor</span></td><td><code>52a2d00d8ee8bef8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedMethod</span></td><td><code>47fe406ade390b19</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase</span></td><td><code>4795a61830160337</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase.ForLoadedExecutable</span></td><td><code>4ddbc963bae0d883</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent</span></td><td><code>0743a5e7a17a2982</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent.TypeInitializer</span></td><td><code>476fd44afb67b364</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.SignatureToken</span></td><td><code>bf116a2370d03850</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Token</span></td><td><code>95bc7edcf9585086</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeSubstituting</span></td><td><code>6efed280a0afb23b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeToken</span></td><td><code>05edde60871de27f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.AbstractBase</span></td><td><code>80046fbd6b0fc481</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.Explicit</span></td><td><code>b359896b1b3ee1f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForLoadedMethods</span></td><td><code>f4dd1c63df047b6d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForTokens</span></td><td><code>0d97cc5fe908b0f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.TypeSubstituting</span></td><td><code>83d11dec79e75422</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.AbstractBase</span></td><td><code>419c065227bd4f0e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter</span></td><td><code>5f13af285a5eec5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfMethod</span></td><td><code>c671eff6ecc3aae9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase</span></td><td><code>6f8a7b6f27be0b47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Latent</span></td><td><code>33bfbbd6c4eae34e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token</span></td><td><code>9138e7a608cff6aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token.TypeList</span></td><td><code>18d4a8073270a143</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.TypeSubstituting</span></td><td><code>d4670441f5a6e1ae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.AbstractBase</span></td><td><code>b891158051e26c10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Empty</span></td><td><code>8f3c4740780185cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable</span></td><td><code>690bb90b0c642a7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfConstructor</span></td><td><code>317cb386b218ee79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfMethod</span></td><td><code>350d84bd84a187f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForTokens</span></td><td><code>d18db6c1b8ac3eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.TypeSubstituting</span></td><td><code>6c8596ab3f5a0878</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.ModifierContributor.Resolver</span></td><td><code>e5c0bf14c94215a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.TypeManifestation</span></td><td><code>9f089702c49da591</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility</span></td><td><code>ded1b1f13025e6b4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility.1</span></td><td><code>7f046d4d48a5f847</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.AbstractBase</span></td><td><code>258dce2032d9cc20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.ForLoadedPackage</span></td><td><code>c83440762facd609</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.Simple</span></td><td><code>4650665e29a51231</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.AbstractBase</span></td><td><code>f7a3d447fffd084a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.Empty</span></td><td><code>5ef7732b42d2743f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.ForTokens</span></td><td><code>0d7142b5ba09265a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.Sort</span></td><td><code>f0d086f551f2a671</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription</span></td><td><code>b4a1e86eeea59611</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase</span></td><td><code>8ea5bb2c3bf1eff7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase.OfSimpleType</span></td><td><code>468cb86d1532a546</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ArrayProjection</span></td><td><code>badd7d39816d1618</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ForLoadedType</span></td><td><code>aec55bb2b886b4c1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic</span></td><td><code>eed83dd834083249</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase</span></td><td><code>255536ae354f2870</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator</span></td><td><code>5d88e33465b19a66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Chained</span></td><td><code>15bcd13e4b6c374f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableExceptionType</span></td><td><code>ea5ec775ae75763d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableParameterType</span></td><td><code>c2867a70f629d8eb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedInterface</span></td><td><code>dacaa4303c61c17a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedMethodReturnType</span></td><td><code>485dca093c1bc536</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedSuperClass</span></td><td><code>0d5899688f8a8c66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedTypeVariable</span></td><td><code>aa384c58afb163e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Simple</span></td><td><code>85bb8eaafabad66a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForComponentType</span></td><td><code>ba4cc77ecb531a71</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeArgument</span></td><td><code>7b9a92e94761785a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType</span></td><td><code>856cd7ee2ee44ae1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType.OfFormalTypeVariable</span></td><td><code>381644ebcc02d2a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForWildcardUpperBoundType</span></td><td><code>0b865491ffc00550</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.NoOp</span></td><td><code>d44005ceed854d87</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection</span></td><td><code>e7ec2ad4602cb9e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedReturnType</span></td><td><code>943a639e32439f96</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedSuperClass</span></td><td><code>2c11102e60a9e234</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfMethodParameter</span></td><td><code>4e6803c01f724427</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation</span></td><td><code>8e07fa3ff5e2f32c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation.OfAnnotatedElement</span></td><td><code>7df93d1bc1e2aff0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation</span></td><td><code>4f0b9855dbae74df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation.OfAnnotatedElement</span></td><td><code>55dfe6b64fbef04c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithResolvedErasure</span></td><td><code>a7a666f4b44e607c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray</span></td><td><code>d034510e78991f60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.ForLoadedType</span></td><td><code>87d318d8592b3de1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.Latent</span></td><td><code>2d761c8801c17bf3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType</span></td><td><code>19d83743be11e0ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForErasure</span></td><td><code>3a64fbaefa6bee06</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForLoadedType</span></td><td><code>6065762fd613c4d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.Latent</span></td><td><code>4f47b5e2dc4adc51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType</span></td><td><code>a80d9117dd5fc0d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForGenerifiedErasure</span></td><td><code>7a1b94b1e4091f7a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType</span></td><td><code>76993cd9099e70a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType.ParameterArgumentTypeList</span></td><td><code>b1b8665f31f8c15f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.Latent</span></td><td><code>a9807b0bb458fa95</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable</span></td><td><code>a2c9b0576bd3f60b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType</span></td><td><code>14f052ff2c1f03a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType.TypeVariableBoundList</span></td><td><code>a3f3f462d6c95c75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.Symbolic</span></td><td><code>d2c112aa22441410</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.WithAnnotationOverlay</span></td><td><code>0168bf6c7bf28c91</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType</span></td><td><code>1944293d85842b4a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType</span></td><td><code>db6bfea99526498a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardLowerBoundTypeList</span></td><td><code>fdbef702aadae48f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardUpperBoundTypeList</span></td><td><code>8b8aead8ec40d52d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.Latent</span></td><td><code>baeb164ff2acb822</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForRawType</span></td><td><code>857c885215ecb8a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor</span></td><td><code>00cad9ab32489ecd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reducing</span></td><td><code>ff243838994f0b15</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying</span></td><td><code>f1fd8acdf5dbe2e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.1</span></td><td><code>cab8f00ccc907bf7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.2</span></td><td><code>23046a19ef97a9f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor</span></td><td><code>9721076003aa23f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForAttachment</span></td><td><code>7f7c6d9a6a96dd7c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForDetachment</span></td><td><code>7ff7c66455b3e8dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator</span></td><td><code>16c1b5d5923230e4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.1</span></td><td><code>6342113b50c00dc7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.2</span></td><td><code>35eca2625e2505de</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.3</span></td><td><code>9c3d9ff9392f493b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.ForTypeAnnotations</span></td><td><code>61cae96a8e61d33f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList</span></td><td><code>7a21d7d4ee92e6a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.AbstractBase</span></td><td><code>8689ec2db12f997d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Empty</span></td><td><code>d5f3a9aa0a9333b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Explicit</span></td><td><code>da98e50538d488dc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.ForLoadedTypes</span></td><td><code>ae0e39d1192f000e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.AbstractBase</span></td><td><code>92881ab585c2ec5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Empty</span></td><td><code>44aca402f516ec23</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Explicit</span></td><td><code>0b51b5a9e4c6693f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes</span></td><td><code>40ee5bfb32731d08</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables</span></td><td><code>a97ab6d804b09571</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables.AttachedTypeVariable</span></td><td><code>c45ec15d64830996</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.WithResolvedErasure</span></td><td><code>3ffaca38eb355636</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes</span></td><td><code>53bf0a1b647deb99</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes.OfTypeVariables</span></td><td><code>ecc89acf142ec1e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfConstructorExceptionTypes</span></td><td><code>e360314281d5e362</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes</span></td><td><code>df5fb5418dabb663</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes.TypeProjection</span></td><td><code>7a63a03093f554e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes</span></td><td><code>b980f01fff655dc8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes.TypeProjection</span></td><td><code>c1336e0b9efaba30</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeVariableToken</span></td><td><code>81c868d66dbae8ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader</span></td><td><code>9012c98228a162fb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader.BootLoaderProxyCreationAction</span></td><td><code>f144511b8442b67f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Resolution.Explicit</span></td><td><code>a5c2370bb60e7055</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase</span></td><td><code>5940f47841584f46</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter</span></td><td><code>00da71bff4d31957</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter</span></td><td><code>a5b6864a26f7264e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.AnnotationAdapter</span></td><td><code>2cd1bc9d59a6a61f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter.SimpleParameterAnnotationAdapter</span></td><td><code>2075c656154effd1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator</span></td><td><code>05eda69641b6be6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase</span></td><td><code>131584e46a857d19</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase.Adapter</span></td><td><code>e389a93eb4770753</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ExceptionDefinition.AbstractBase</span></td><td><code>e48b623baa20db47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ImplementationDefinition.AbstractBase</span></td><td><code>47d5ba01d7de4311</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.AbstractBase</span></td><td><code>ed12920dd361e747</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Initial.AbstractBase</span></td><td><code>46526951923f1cef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.AbstractBase</span></td><td><code>292d691bfcd42d49</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase</span></td><td><code>10f5a468f336a984</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ParameterDefinition.Simple.Annotatable.AbstractBase.Adapter</span></td><td><code>5cf89ed3c3cb906f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ReceiverTypeDefinition.AbstractBase</span></td><td><code>089d997bdc637b98</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.TypeVariableDefinition.AbstractBase</span></td><td><code>0915f57cb8e301d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default</span></td><td><code>2570eb78e252b142</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Loaded</span></td><td><code>5354ba3169bbb397</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Unloaded</span></td><td><code>8afc8c053b8eced6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TargetType</span></td><td><code>319e9f5d85826344</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.NoOp</span></td><td><code>0bcc7d85ad41aaf9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TypeResolutionStrategy.Passive</span></td><td><code>93a2eb1be80b3485</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default</span></td><td><code>288b5a8b0f9c255a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.1</span></td><td><code>e5697eb55991bb69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.2</span></td><td><code>d6757ccbed2d6647</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.3</span></td><td><code>68700518e139ad6e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader</span></td><td><code>a0695afd8826d6d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.ClassDefinitionAction</span></td><td><code>0d9ef1f20003f5c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.CreationAction</span></td><td><code>b909e57a260c2d18</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.ForJava9CapableVm</span></td><td><code>889c38437e0ba0c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler</span></td><td><code>70fa730e057ca4e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.1</span></td><td><code>29823a33f791c302</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.2</span></td><td><code>ea1e7c0ac4651eec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.CreationAction</span></td><td><code>a1c571ee1216798b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm</span></td><td><code>2e2d957f1c5f98e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassFilePostProcessor.NoOp</span></td><td><code>9df9cc3020e4f694</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.AbstractBase</span></td><td><code>98ced20214d16c0d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection</span></td><td><code>aee8e64f67cf419c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.CreationAction</span></td><td><code>f4233c37e9e56373</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeInjection</span></td><td><code>21eb05b1876550fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe</span></td><td><code>677fc4d0b0055841</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.CreationAction</span></td><td><code>adf928be31935da8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassInjector.UsingUnsafe.Dispatcher.Enabled</span></td><td><code>1e6f9ef9dd0e8ed5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy</span></td><td><code>21950907e36f5db4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default</span></td><td><code>270840aa26b2351d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.InjectionDispatcher</span></td><td><code>3015bf39d5ccf44f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.Default.WrappingDispatcher</span></td><td><code>a3144e40d8c5b299</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy.ForUnsafeInjection</span></td><td><code>bc0cf5fda82f1861</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.InjectionClassLoader</span></td><td><code>d3dc4a5342b4bfb3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Trivial</span></td><td><code>e2ab76df4636d515</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.NoOp</span></td><td><code>f3b4f030a022efd7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Trivial</span></td><td><code>12495cef749a9cc0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default</span></td><td><code>f0774d4bbe85a809</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.1</span></td><td><code>09a3c2cfe88a5ae4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.Default.2</span></td><td><code>76afb59bd5abdd5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.ClassWriterStrategy.FrameComputingClassWriter</span></td><td><code>a3f9255ce72f4310</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default</span></td><td><code>84833e45d4c9acf6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled</span></td><td><code>675c6579a35ffeb8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Default</span></td><td><code>2c4c016bd8be7708</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default</span></td><td><code>5942279ad4756226</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.1</span></td><td><code>e9c6c25148314e7a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.2</span></td><td><code>b60d573fafd686f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler</span></td><td><code>2127ecce9fa19dbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.AbstractBase</span></td><td><code>bdbeb4cfd518e7c7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default</span></td><td><code>aeaa140dfc315e27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod</span></td><td><code>394a9423561946c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod.Token</span></td><td><code>986f5c0d58f98683</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key</span></td><td><code>2f661906f0a748fb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Detached</span></td><td><code>25eed9fde156f380</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Harmonized</span></td><td><code>b5082a0970fe640c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store</span></td><td><code>ed6da4aee25c430e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Initial</span></td><td><code>74f1552bd152a739</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved</span></td><td><code>2e93aa5dccc525f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved.Node</span></td><td><code>9f38dc8b2a52d862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Graph</span></td><td><code>ed3f9679fa2bfcbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Merger.Directional</span></td><td><code>3dc566d4a6e3212b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation</span></td><td><code>c302693c507ebc46</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Sort</span></td><td><code>d99c547585ca5e31</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.NodeList</span></td><td><code>3f546722e572ea1e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default</span></td><td><code>fd0b1d81e30d3919</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled</span></td><td><code>81ba214460c80be4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled.Entry</span></td><td><code>9b32ac982eee3f92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Entry</span></td><td><code>e1f564179367e84a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared</span></td><td><code>97972e34ebac5746</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared.Entry</span></td><td><code>294c996b40fcb00b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation</span></td><td><code>6ffd9858395e13b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation.Compiled</span></td><td><code>2d30c8d383eefaa9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default</span></td><td><code>cb8fd673d5abef85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default.Compiled</span></td><td><code>eb3fa47c3ba18e34</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain.Default</span></td><td><code>a98056ad74d098f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.None</span></td><td><code>d062b02ed3f4d342</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeValidation</span></td><td><code>0a8b89ed6f4136ad</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default</span></td><td><code>5bdb21e644f9adf6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ClassDumpAction.Dispatcher.Disabled</span></td><td><code>2e47ae58b893ecfe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForCreation</span></td><td><code>2938dc331371783b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining</span></td><td><code>95ca3ac910935461</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.ContextRegistry</span></td><td><code>3a87ad24fc262637</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing</span></td><td><code>81be8dd03e0ef8cb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Creating</span></td><td><code>19672e1a15312a84</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.OpenedClassRemapper</span></td><td><code>d39ef73b329f681a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.RedefinitionClassVisitor</span></td><td><code>c600afb1c929f15b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.UnresolvedType</span></td><td><code>3d757697baf5e586</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor</span></td><td><code>d86e3a1872cb49a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.Compound</span></td><td><code>5eb38348692cf72e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClass</span></td><td><code>9f4736f4baa30d3d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClassFileVersion</span></td><td><code>e1abfa50f5964557</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingFieldVisitor</span></td><td><code>cb650fd4a8193498</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper</span></td><td><code>14552991fbfb7b5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod</span></td><td><code>8ef7b6594490ded6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody</span></td><td><code>b5d87c09b5eb7f26</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForNonImplementedMethod</span></td><td><code>e696c425505550e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.Sort</span></td><td><code>44db555a85a6dc5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder</span></td><td><code>24057d9007a042a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher</span></td><td><code>43db12a9b5a1b7a3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.MethodRebaseResolver.Disabled</span></td><td><code>33697e3a77f5b97c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder</span></td><td><code>72e77140c7322f49</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default</span></td><td><code>61bea2def5fefd80</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.1</span></td><td><code>da1bef6f4837a819</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.2</span></td><td><code>085b16ff8ace19a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.3</span></td><td><code>1cbda8107b2472da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.4</span></td><td><code>52c207abc49c97b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.5</span></td><td><code>144d24af65b392ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder</span></td><td><code>78f05fcdaba3ac67</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.InstrumentableMatcher</span></td><td><code>5db2b2fe32e30ee5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget</span></td><td><code>e867d890a78af35e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.Factory</span></td><td><code>9d8dbd52f459fd2a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver</span></td><td><code>575cf9c48483dd6c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.1</span></td><td><code>be44b2436fde5c56</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.2</span></td><td><code>fe0aed50a5c32d5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default</span></td><td><code>e7e79e657d387595</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.Factory</span></td><td><code>5d2e77f93384c95e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.ExtractableView.AbstractBase</span></td><td><code>61e37fa5cdc9533c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase</span></td><td><code>6397df2c4623db02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation</span></td><td><code>3f8596b8d7976b6a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.1</span></td><td><code>2b26179086fc03d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.2</span></td><td><code>021639c8e70e01ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.LoadedTypeInitializer.NoOp</span></td><td><code>bba4d40ca38a00eb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall</span></td><td><code>8293c099d620f3af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.Appender</span></td><td><code>3716e6e4d32be775</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter</span></td><td><code>f4fa327652cc317c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter.Factory</span></td><td><code>eb57695629a6af29</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation.Factory</span></td><td><code>989f4cfc65712713</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType</span></td><td><code>5f0c9bb7b70e034f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodLocator.ForExplicitMethod</span></td><td><code>6e17fe65240ba36c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter</span></td><td><code>276330f00650e9e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter.Resolved</span></td><td><code>56452b57cbb906c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Factory</span></td><td><code>b5e1c0b80f674ad1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple</span></td><td><code>fcb14ed27cb32c76</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.1</span></td><td><code>2da719a4c1bc113a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.2</span></td><td><code>6fa4f1667e19af45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.3</span></td><td><code>92f164951a7596ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.WithoutSpecifiedTarget</span></td><td><code>ebcfb90bb58333a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation</span></td><td><code>b69009f42ce18c7d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.ForStaticMethod</span></td><td><code>2b9cd20979aa82a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.WithCustomProperties</span></td><td><code>52d9a936a2ea9612</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Default</span></td><td><code>870ea5f336319e23</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.ForTypeAnnotations</span></td><td><code>d3d8d3d8398a7f92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethod</span></td><td><code>de83202402fd6080</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnMethodParameter</span></td><td><code>eec4e7b4e356cc6f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnType</span></td><td><code>1ab351f211ec6111</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationRetention</span></td><td><code>2cdaa94f3407986e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default</span></td><td><code>6b2f54d56a2f0f79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.1</span></td><td><code>298463b14e22fa29</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.2</span></td><td><code>7f7638faea173a2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod</span></td><td><code>4e40a53e08d4cbbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.1</span></td><td><code>3e38fbdc8e9f4d81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.ForInstrumentedMethod.2</span></td><td><code>ffa3d6f77e1ba581</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.NoOp</span></td><td><code>aa6841038c96aed0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType</span></td><td><code>537a1dac83c99ae9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType.Differentiating</span></td><td><code>a565e97402038e20</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType.NamingStrategy.SuffixingRandom</span></td><td><code>7c12b31c2d53d541</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver</span></td><td><code>bab32193b2447720</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.DeclaringTypeResolver</span></td><td><code>9a7cffc54c3a75f8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver</span></td><td><code>0028295f5a9a674f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Compound</span></td><td><code>2aac42f53f2dd494</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.BindingResolver.Default</span></td><td><code>95ba42a4df4035d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default</span></td><td><code>65f10b40b4cca209</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.1</span></td><td><code>36b9f0fd0bd6555a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.2</span></td><td><code>5a6570a33c3a04b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodNameEqualityResolver</span></td><td><code>202d13ebb536bb12</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ParameterLengthResolver</span></td><td><code>10b30a2d922850eb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Assignment</span></td><td><code>28869bc1c5594945</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Binder</span></td><td><code>59b22444bbfba7b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.Binder</span></td><td><code>a13edd3a3d51313e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic</span></td><td><code>a6c95556f1d1ea75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.1</span></td><td><code>d8d5627e37f0a65c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.2</span></td><td><code>7693e112ba406c8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.BindingPriority.Resolver</span></td><td><code>ca111e5974a863e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Default.Binder</span></td><td><code>2cb9ed19cf331e16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCall.Binder</span></td><td><code>9a825f17ffbaaf83</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder</span></td><td><code>5487864f99b80433</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Empty.Binder</span></td><td><code>e335f35a2f9f2594</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder</span></td><td><code>7536fe88d980ba06</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder.Delegate</span></td><td><code>f1274f70aff222a6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.IgnoreForBinding.Verifier</span></td><td><code>45c529ae932a81fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Origin.Binder</span></td><td><code>3d1e9edc9040bc64</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.RuntimeType.Verifier</span></td><td><code>f7c40d08cca4cff6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.StubValue.Binder</span></td><td><code>21ea68846db4edd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Super.Binder</span></td><td><code>730ea4dde991dc80</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCall.Binder</span></td><td><code>f83f6980fe8de36f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder</span></td><td><code>113d6612580464b3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder</span></td><td><code>563a735a1f2639f8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor</span></td><td><code>e8064c4fb41c05b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound</span></td><td><code>dfb1c6a735aea564</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound</span></td><td><code>7ef172e8a100d8bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder</span></td><td><code>1bfa0c68a9fae007</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding</span></td><td><code>682640ccdadd448c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.Record</span></td><td><code>82c7ead3814ad8d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.This.Binder</span></td><td><code>bfa94f1b77452f50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Size</span></td><td><code>67d777379a34a113</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase</span></td><td><code>d8b56fa6aecbe6e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Compound</span></td><td><code>480c0435e75fe389</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Illegal</span></td><td><code>d75e2eb0d394f6c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Size</span></td><td><code>8b05f74683ed5e3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Trivial</span></td><td><code>56f2787cdbce4d40</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize</span></td><td><code>555e1a1ce2e91c7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner</span></td><td><code>98eca14b5f4e0588</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner.Typing</span></td><td><code>003e4f8ce4f0c7b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveTypeAwareAssigner</span></td><td><code>5a833f02cac4bc9b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate</span></td><td><code>83bf95c70a705412</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate.WideningStackManipulation</span></td><td><code>0c2360e8f5cd7869</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.VoidAwareAssigner</span></td><td><code>19ca0b5bae3e30da</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.GenericTypeAwareAssigner</span></td><td><code>89faeba189552baa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.ReferenceTypeAwareAssigner</span></td><td><code>a7a112058f6eb219</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation</span></td><td><code>52ef9f2373794636</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.Invocation</span></td><td><code>d63e447fb2a52775</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodReturn</span></td><td><code>3cbfd6833fda70dd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess</span></td><td><code>0a431422536f9847</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetLoading</span></td><td><code>f0f0c552b2742b50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationWriter</span></td><td><code>0932d72e909ca807</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Attribute</span></td><td><code>706e3dca943537f4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ByteVector</span></td><td><code>ab1294742a7052e3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassReader</span></td><td><code>d538000132767aac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassVisitor</span></td><td><code>126a150b7e4ee8c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassWriter</span></td><td><code>a0aafa0ac1142534</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Context</span></td><td><code>e9c1b62b23feb9ea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldVisitor</span></td><td><code>3be001ce1486e754</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldWriter</span></td><td><code>3c4ebfcb2bc7032e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handler</span></td><td><code>763c7a3b0dc4fc7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodVisitor</span></td><td><code>f6a3226a406e0186</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodWriter</span></td><td><code>37f4009f9bdcf83f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Symbol</span></td><td><code>f44d88efeab63dac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable</span></td><td><code>00001f478e852135</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable.Entry</span></td><td><code>904cbca1953e75e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Type</span></td><td><code>fd99e2c0b8eef5a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.TypeReference</span></td><td><code>7c2c246da0bafedc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.ClassRemapper</span></td><td><code>066a8877a9d6d25b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.FieldRemapper</span></td><td><code>24f31efc9ddc694e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.Remapper</span></td><td><code>20d27312d0254869</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SignatureRemapper</span></td><td><code>3a6e09818882ccd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.commons.SimpleRemapper</span></td><td><code>d4712653bfb65af2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureReader</span></td><td><code>011d12c758b95e5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureVisitor</span></td><td><code>38847e0b5d40325e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureWriter</span></td><td><code>c8f0c38b6698b545</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.AnnotationTypeMatcher</span></td><td><code>e2a076c603503810</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.BooleanMatcher</span></td><td><code>35b6b2ba2fb01719</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionItemMatcher</span></td><td><code>80e5556ab4ee0f7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionOneToOneMatcher</span></td><td><code>d43b1161d3365019</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionSizeMatcher</span></td><td><code>82ebd3133e33eff0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringTypeMatcher</span></td><td><code>cf2a977489563200</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase</span></td><td><code>3108822bcef14782</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Conjunction</span></td><td><code>f99efa6157cc1945</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Disjunction</span></td><td><code>8b7df9670ab1e6a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatchers</span></td><td><code>28a0610452f7db5d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.EqualityMatcher</span></td><td><code>54d13541c6f4e2d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ErasureMatcher</span></td><td><code>d3cd19d7e22f880e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.AbstractBase</span></td><td><code>f15837c3f5c772f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.Empty</span></td><td><code>74dae74169349349</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken</span></td><td><code>997f0e6ac66be8c4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.ForMethodToken.ResolvedMatcher</span></td><td><code>2a621c9d35e0e6e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Resolved</span></td><td><code>73fd06900ae5ea7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypeMatcher</span></td><td><code>7a3d1180ac04d57e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypesMatcher</span></td><td><code>5a4a084cacd7883a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParametersMatcher</span></td><td><code>0451972f5218f9e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodReturnTypeMatcher</span></td><td><code>9a716eb6255d75df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher</span></td><td><code>04f33fac6e78fb6b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort</span></td><td><code>cfeebd943f3aea22</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.1</span></td><td><code>8c7506e86b0bbf66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.2</span></td><td><code>20ccb3487287b6ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.3</span></td><td><code>1959d0639b62c09d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.4</span></td><td><code>1582e62f919615c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.5</span></td><td><code>98ddc3c3f2c845c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher</span></td><td><code>2bb2869de319598f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher.Mode</span></td><td><code>f44584cac7ce7e8e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NameMatcher</span></td><td><code>51db797c623dddd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NegatingMatcher</span></td><td><code>b74326d4a1a805d2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher</span></td><td><code>1801c8082301e024</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode</span></td><td><code>3400d3cefe334df0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.1</span></td><td><code>d8f686e90f91e06a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.2</span></td><td><code>cf5d64f2b2a4fd34</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.3</span></td><td><code>a6cdd1a2c1b40a0d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.4</span></td><td><code>700c46f5b61adaa4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.5</span></td><td><code>0112a049e682fd07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.6</span></td><td><code>65eda6c306f19357</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.7</span></td><td><code>12468516b69e2dd4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.8</span></td><td><code>a70439ff144ac9a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.9</span></td><td><code>1ad4e989d59d2453</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.TypeSortMatcher</span></td><td><code>0200af2e8396f457</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.VisibilityMatcher</span></td><td><code>c903a40a41811804</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase</span></td><td><code>23584b38f410253e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase.Hierarchical</span></td><td><code>4e00f6bc0cb9d6df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.Simple</span></td><td><code>05f44eae27914661</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.ClassLoading</span></td><td><code>66248d72d4ede0f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default</span></td><td><code>b00f666705684ef2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default.ReaderMode</span></td><td><code>b5c655d23c7c440c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Empty</span></td><td><code>f060167d7bd580c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.CompoundList</span></td><td><code>d87e0d57b84ea1ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.Invoker.Dispatcher</span></td><td><code>bc20f0bd33abbced</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaModule</span></td><td><code>99d530cf1ad13fe1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.OpenedClassReader</span></td><td><code>a61281303ded9c90</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.RandomString</span></td><td><code>64af255bcd70f219</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.StreamDrainer</span></td><td><code>17fdff57904329a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher</span></td><td><code>08870cc3f3040450</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForInstanceCheck</span></td><td><code>32bd757797c52b01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForNonStaticMethod</span></td><td><code>88342697919f04cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForStaticMethod</span></td><td><code>08fb96247abfc891</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader</span></td><td><code>ea7b2e03d2bd9a69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.CreationAction</span></td><td><code>7c2f4d133cb62444</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.ForModuleSystem</span></td><td><code>bcdb441131f76b9a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.InvokerCreationAction</span></td><td><code>722fc8d12687a8c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.ProxiedInvocationHandler</span></td><td><code>6c3fab73b89c5c23</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetMethodAction</span></td><td><code>b33eb57c2832bd45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetSystemPropertyAction</span></td><td><code>061f17ed27fcdb80</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.MetadataAwareClassVisitor</span></td><td><code>a10944e6cac8a077</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.BeanComparator</span></td><td><code>dfe951859ee919ef</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.BeanUtils</span></td><td><code>5fdfe884eef982cb</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.BeanUtilsBean</span></td><td><code>ce56af752913f409</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.BeanUtilsBean.1</span></td><td><code>c737881ed6b48d61</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.ContextClassLoaderLocal</span></td><td><code>9d30f72aca069e43</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.ConvertUtilsBean</span></td><td><code>00e9a050eea0314d</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.MethodUtils</span></td><td><code>ce16d092fb23c4b6</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.PropertyUtils</span></td><td><code>ac4a4ec11f72fe62</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.PropertyUtilsBean</span></td><td><code>9bcd451ce643008a</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.WeakFastHashMap</span></td><td><code>27537ab0553538a8</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.AbstractConverter</span></td><td><code>748c10e93922039d</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.ArrayConverter</span></td><td><code>ecbe9c8373628885</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.BigDecimalConverter</span></td><td><code>0e321e87ad784772</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.BigIntegerConverter</span></td><td><code>cc20eb1005ee179e</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.BooleanConverter</span></td><td><code>fd4d1d54a90719af</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.ByteConverter</span></td><td><code>3e7e42006e8f42cb</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.CalendarConverter</span></td><td><code>803c4d6968869e21</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.CharacterConverter</span></td><td><code>1b47937bc5c0e162</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.ClassConverter</span></td><td><code>35dca3683e474e6f</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.ConverterFacade</span></td><td><code>6ab344565641e435</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.DateConverter</span></td><td><code>82456a460a74051f</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.DateTimeConverter</span></td><td><code>2791ad45b95d753c</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.DoubleConverter</span></td><td><code>f00b88e7adfdea31</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.FileConverter</span></td><td><code>249277144b997b5c</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.FloatConverter</span></td><td><code>c3062edb9eb5ddde</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.IntegerConverter</span></td><td><code>20bc23b8e9984504</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.LongConverter</span></td><td><code>4298c67d1ad19f4f</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.NumberConverter</span></td><td><code>f1bc7d7fe6896074</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.ShortConverter</span></td><td><code>9fe9f2dbb3e82dfe</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.SqlDateConverter</span></td><td><code>7c123bdbbf375aba</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.SqlTimeConverter</span></td><td><code>39bcba550599f10d</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.SqlTimestampConverter</span></td><td><code>669b7060034520d8</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.StringConverter</span></td><td><code>491427c458471b9d</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.converters.URLConverter</span></td><td><code>0b1b8bd0664beaf9</code></td></tr><tr><td><span class="el_class">org.apache.commons.beanutils.expression.DefaultResolver</span></td><td><code>36bd533152d27262</code></td></tr><tr><td><span class="el_class">org.apache.commons.collections.ComparatorUtils</span></td><td><code>e1d5131f6bbb25e7</code></td></tr><tr><td><span class="el_class">org.apache.commons.collections.comparators.ComparableComparator</span></td><td><code>d0c236bc9292ed6d</code></td></tr><tr><td><span class="el_class">org.apache.commons.collections.comparators.ComparatorChain</span></td><td><code>1f48350b80253436</code></td></tr><tr><td><span class="el_class">org.apache.commons.collections.comparators.NullComparator</span></td><td><code>e193fded5baf7940</code></td></tr><tr><td><span class="el_class">org.apache.commons.collections.comparators.ReverseComparator</span></td><td><code>bbaf11257110e6b5</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter</span></td><td><code>ac4b08ccadccbca0</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.1</span></td><td><code>871686883316e683</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.LogApi</span></td><td><code>9a17764240e8cd01</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.Slf4jAdapter</span></td><td><code>6920d35517b404d9</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.Slf4jLocationAwareLog</span></td><td><code>036cfca150cbc495</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.Slf4jLog</span></td><td><code>0241889c1242789d</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogFactory</span></td><td><code>fef54cf21beb5a04</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.Level</span></td><td><code>29afbabf87c98ffc</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.LogManager</span></td><td><code>21721b712e748cd3</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.MarkerManager</span></td><td><code>686e6591f3fcfc4e</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.MarkerManager.Log4jMarker</span></td><td><code>bec62c0128e68de0</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.core.LifeCycle.State</span></td><td><code>6b7bad7df9b35978</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.core.impl.Log4jContextFactory</span></td><td><code>92aef3ea981e5744</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.core.impl.Log4jProvider</span></td><td><code>ad682083bdd9da5c</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.core.selector.ClassLoaderContextSelector</span></td><td><code>6a8d2c191659eddf</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.core.util.DefaultShutdownCallbackRegistry</span></td><td><code>38ac57428ab0f138</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.core.util.Loader</span></td><td><code>1f8a475ac2553669</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.internal.LogManagerStatus</span></td><td><code>d7c267a16cda8d07</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.message.AbstractMessageFactory</span></td><td><code>15d5c9221c72dcbd</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.message.DefaultFlowMessageFactory</span></td><td><code>bf83b1ca110171d4</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.message.ParameterizedNoReferenceMessageFactory</span></td><td><code>2fcb790285df9911</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.message.ReusableMessageFactory</span></td><td><code>bd2eacb1aa057f7c</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.message.ReusableObjectMessage</span></td><td><code>74acc88217a09c7d</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.simple.SimpleLogger</span></td><td><code>f67e73a3666cd8d8</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.spi.AbstractLogger</span></td><td><code>153235afa960b06b</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.spi.AbstractLogger.LocalLogBuilder</span></td><td><code>c9d30ea060a4599e</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.spi.LoggerContext</span></td><td><code>3251e6940096fb1a</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.spi.LoggerRegistry</span></td><td><code>c4f2dcfd0eaeed50</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.spi.LoggerRegistry.ConcurrentMapFactory</span></td><td><code>180fc5aae1eba577</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.spi.Provider</span></td><td><code>80f64cec5c4537eb</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.spi.StandardLevel</span></td><td><code>c0b339ac672ea2bc</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.spring.boot.SpringEnvironmentHolder</span></td><td><code>d7a583ac411b1102</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.spring.boot.SpringPropertySource</span></td><td><code>f3419477b65462c4</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.status.StatusLogger</span></td><td><code>95fb764e805546ab</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.status.StatusLogger.BoundedQueue</span></td><td><code>1d79f41bb870fcf7</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.Constants</span></td><td><code>1fa3e825b4e186c5</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.EnvironmentPropertySource</span></td><td><code>4b940b1ccc41760c</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.LoaderUtil</span></td><td><code>83e4fdde5ed51afe</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.LoaderUtil.ThreadContextClassLoaderGetter</span></td><td><code>8b84474a8a4dbe6d</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.LoaderUtil.UrlResource</span></td><td><code>e2b30e321a2b988e</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.PropertiesPropertySource</span></td><td><code>6ce9a6e1e79e3980</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.PropertiesUtil</span></td><td><code>5847143a7de7d420</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.PropertiesUtil.Environment</span></td><td><code>39f9a7c748b5fa28</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.PropertyFilePropertySource</span></td><td><code>1f4646fc06a77a86</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.PropertySource</span></td><td><code>586664f3359979c9</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.PropertySource.Comparator</span></td><td><code>88eda2ac2a423726</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.PropertySource.Util</span></td><td><code>1a155be7e0e9b9c7</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.ProviderUtil</span></td><td><code>be53e65a5f770902</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.Strings</span></td><td><code>869cf81d3a635417</code></td></tr><tr><td><span class="el_class">org.apache.logging.log4j.util.SystemPropertiesPropertySource</span></td><td><code>6a9de9fc634e3a95</code></td></tr><tr><td><span class="el_class">org.apache.logging.slf4j.SLF4JLogger</span></td><td><code>b5301b24ea88b70a</code></td></tr><tr><td><span class="el_class">org.apache.logging.slf4j.SLF4JLogger.1</span></td><td><code>48eacf3ed9657d4e</code></td></tr><tr><td><span class="el_class">org.apache.logging.slf4j.SLF4JLoggerContext</span></td><td><code>3523405b454ab3b2</code></td></tr><tr><td><span class="el_class">org.apache.logging.slf4j.SLF4JLoggerContextFactory</span></td><td><code>b4bc4fa41cd5c476</code></td></tr><tr><td><span class="el_class">org.apache.logging.slf4j.SLF4JProvider</span></td><td><code>eb904ddf11c0da04</code></td></tr><tr><td><span class="el_class">org.apiguardian.api.API.Status</span></td><td><code>95d0ffea805fc01a</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.Assertions</span></td><td><code>b7342735ff21544f</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AssertionsForClassTypes</span></td><td><code>3ba07f2b93857012</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.NotThrownAssert</span></td><td><code>6e0aa5d3ef40459e</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit.runner.DefaultClassifier</span></td><td><code>25fe1f830379850b</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit.runner.FirstRunExecutionListener</span></td><td><code>f3d1d7e8f3f2e42c</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit.runner.RemoteTestRunner</span></td><td><code>7c1827eea8b86476</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.ReaderThread</span></td><td><code>70da88df54c0829f</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit.runner.TestExecution</span></td><td><code>8a56e7da40f67a64</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit.runner.TestIdMap</span></td><td><code>917b336532b83672</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit5.runner.JUnit5Identifier</span></td><td><code>26ece78f2c4f4419</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit5.runner.JUnit5TestListener</span></td><td><code>71f415193969e2c6</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader</span></td><td><code>c81b8df53c0f07ab</code></td></tr><tr><td><span class="el_class">org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference</span></td><td><code>e9ae48fb895df977</code></td></tr><tr><td><span class="el_class">org.junit.Assert</span></td><td><code>eda6db924019425b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertEquals</span></td><td><code>e7a43ed17afc829d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertFalse</span></td><td><code>414d495eda26f9bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertNotNull</span></td><td><code>c8b577b40eb7a898</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertThrows</span></td><td><code>23754df203701965</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertTrue</span></td><td><code>189741ff9d4e661d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.AssertionUtils</span></td><td><code>932bf67003486569</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.Assertions</span></td><td><code>58a85bf9838e70b7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator</span></td><td><code>ff38de3576197150</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences</span></td><td><code>d3479e0ffacb9f9f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores</span></td><td><code>9c83688ffdea180b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Simple</span></td><td><code>d01947bfadff13a2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Standard</span></td><td><code>5f69fbdb73dadd83</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>963667ad7acf2075</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>fc311dfabd3a0e23</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>6d743ab9f0c8d392</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Namespace</span></td><td><code>cc164c19cc2ec84e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.InvocationInterceptor</span></td><td><code>78636fba04d849bd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>011031d0b1fe58db</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.CachingJupiterConfiguration</span></td><td><code>14c3e96d913ba609</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.DefaultJupiterConfiguration</span></td><td><code>150a59979eccb4d7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.EnumConfigurationParameterConverter</span></td><td><code>433eec982a6fabbc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.InstantiatingConfigurationParameterConverter</span></td><td><code>665228d315b7ac04</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>9d93b2a6a01092c9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor</span></td><td><code>49129651cf7ad1b5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>67d8de68b849441a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>2f87db51b4485e07</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DisplayNameUtils</span></td><td><code>e1e9919d0d67675d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExtensionUtils</span></td><td><code>722183e8696c5137</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>6354e569d97134a9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>25e568b41a4f507e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>8af8f2d9d691826c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>6249a1cbea332afc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>27c3365cc0c4e908</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>0508b2e2c19f7ac3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>a247fc379f47df66</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>72ce602be7bfa92c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractAnnotatedDescriptorWrapper</span></td><td><code>90b10f2d90d7b01b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor</span></td><td><code>f8eb297929c247eb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor.DescriptorWrapperOrderer</span></td><td><code>c8e1585f8474ed61</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassOrderingVisitor</span></td><td><code>1f09fc1c6b9779bb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassSelectorResolver</span></td><td><code>47bba3d717485ecb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DefaultClassDescriptor</span></td><td><code>9064f3528773a161</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>5dc6be896f50996f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>621c8591e557439a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodOrderingVisitor</span></td><td><code>7d9864cebac818e1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver</span></td><td><code>a425905a414a12d5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType</span></td><td><code>f4804d6ffc25a580</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.1</span></td><td><code>aeaeeb04a7d2c1a3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.2</span></td><td><code>4f06e6c9eef38fa4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.3</span></td><td><code>e3f41424e245bd2a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>d746bcff9a71ec26</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>f75dfd9ee2347890</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>909f14a1b9fe84dc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>34690a186bfcf3ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>941a8af0d47a68fd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>f2039dbd13fce110</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>c13a4260435c18a8</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>4be487dee199f633</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>df91d94b180fe511</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConstructorInvocation</span></td><td><code>60b80968f2bdedc3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultTestInstances</span></td><td><code>0fc6d90567826bc4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker</span></td><td><code>d2368ccaaa2037b7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExecutableInvoker.ReflectiveInterceptorCall</span></td><td><code>84813aa1a30927b7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore</span></td><td><code>e4054d96e0311350</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore.CompositeKey</span></td><td><code>66813dae6cf686fe</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore.MemoizingSupplier</span></td><td><code>df3ce2070a75daaf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionValuesStore.StoredValue</span></td><td><code>57cb9ab75faabc0f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain</span></td><td><code>9798b2a812d2015d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.InterceptedInvocation</span></td><td><code>199eef1acbe0b316</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.ValidatingInvocation</span></td><td><code>f064b1c2c4a4bf86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>b48cc2a96dab0116</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>d1557432e23d2776</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>3926323ef1c7fb03</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.MethodInvocation</span></td><td><code>8b8fd00463d994df</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.NamespaceAwareStore</span></td><td><code>c0df02c5fe61ed0f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.TestInstancesProvider</span></td><td><code>357bca6226069e7b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>1604b4e34c1363e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>a610f9723b95715c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry</span></td><td><code>4951101173afa58b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>32adc631c7f45534</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory</span></td><td><code>55b0b3b7482f7782</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>3c520f8376f91ff7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>7187071bfc76c6ac</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutConfiguration</span></td><td><code>e255baf2a634c095</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutDurationParser</span></td><td><code>bb6a412c3829dae9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutExtension</span></td><td><code>e90faf479207d574</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory</span></td><td><code>46546a446de4c9c0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.support.OpenTest4JAndJUnit4AwareThrowableCollector</span></td><td><code>e9ee7d4e1adecdd1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try</span></td><td><code>5200e6adc191344c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try.Success</span></td><td><code>98cdc5b539e1abfd</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>39fdfe1f67bc0eda</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>c71dcf008235901c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.AnnotationSupport</span></td><td><code>183c2f1d296c27a5</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ReflectionSupport</span></td><td><code>945bcc92fedf115d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>192a2ed89eaed125</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassFileVisitor</span></td><td><code>68fdb72bb11b19d5</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassFilter</span></td><td><code>aaf302c4f05119c3</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>bf70ae4f9e1a53b8</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils</span></td><td><code>661df78b93e45465</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>60a2276f3701443f</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScanner</span></td><td><code>54e3df9bb2092b52</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CloseablePath</span></td><td><code>af39e3a24fd212b2</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>8a03a781a6a5c2d1</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>c8254e72fb8d44dd</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>9ac3110b58c001d0</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>3125245fc9d900bc</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>237c0cb03ac19254</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>6a52e5b4f7292f48</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>cc0aadc5880fb4e4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener</span></td><td><code>f7640d771a4374d6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener.1</span></td><td><code>a4cdbe8dd38d8f57</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener</span></td><td><code>693fee5cbd4c2df0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener.1</span></td><td><code>999902b68f81dd9a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>f80b4e071e194cb8</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>5ffaaa90df97ca04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>a787a89e1f12d534</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult</span></td><td><code>b0cf35dcc829d3f4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult.Status</span></td><td><code>c505c2274f89f01d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>aeaac58c9e7df241</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>20fe3e02963cb4b9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>6b1b512d17bb680e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>ad256e9fb4407e04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>f649a106c8945a6a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>f77d401d3f546230</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>6c86362ad62a1954</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.AbstractClassNameFilter</span></td><td><code>40bc0ed5f1e0d290</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassNameFilter</span></td><td><code>7bb453c9df3d556a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>a1cacad45a144508</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>d9d42aa13a2aea27</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.IncludeClassNameFilter</span></td><td><code>0f9d2347be2cb87c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.MethodSelector</span></td><td><code>69292f007e74298d</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.PackageSelector</span></td><td><code>8190df9e157577bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>b9c965daf4d9a476</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>37bd92069360f773</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>8f2f77769ee0e9c9</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>1d55ac49f5cabc20</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.ClassContainerSelectorResolver</span></td><td><code>dc6114dc7e983729</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution</span></td><td><code>ea497a81a10c339c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.DefaultContext</span></td><td><code>b39f8895aeb78b1e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver</span></td><td><code>687cbe6b3b72b453</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.Builder</span></td><td><code>21b59a849a1e0107</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.DefaultInitializationContext</span></td><td><code>1904819635770d62</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver</span></td><td><code>8853a3b7d6531935</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match</span></td><td><code>922481c433789199</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match.Type</span></td><td><code>a62615901052f237</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Resolution</span></td><td><code>c90571b7b64f19a0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource</span></td><td><code>efa2e06c87a351c3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource.LockMode</span></td><td><code>96e95d210b150f97</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>5c686da27ab7f7b0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>963cba9b029b4b19</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.LockManager</span></td><td><code>5aedd3bd3957b5a6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>d5630bd7243c23ff</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>5aca1404ff0f9294</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeExecutionAdvisor</span></td><td><code>7c2670c7a35cfba6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask</span></td><td><code>f652d8cc5e11bdc5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask.DefaultDynamicTestExecutor</span></td><td><code>abd00dd511d28b2f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTaskContext</span></td><td><code>bdf88cd3834282a5</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTreeWalker</span></td><td><code>c689092b060d0b12</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils</span></td><td><code>a7ec8f66d373c169</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils.1</span></td><td><code>5a44a7e2cbf864b4</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService</span></td><td><code>4021fb0b954634b6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleLock</span></td><td><code>2036ec8b92a38105</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ThrowableCollector</span></td><td><code>6fd7a27676be3c50</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult</span></td><td><code>9f305fb9cafa070a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult.Status</span></td><td><code>c6f73a818e869b3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener</span></td><td><code>4c7a9b5f0af6369d</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener.1</span></td><td><code>d946f222ae757dc1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener</span></td><td><code>e0db832b050d072e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherSessionListener.1</span></td><td><code>44b3640faa83f474</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestExecutionListener</span></td><td><code>d5f44a91fb9bf46c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>2b393a1d76332bc4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>1c1994f8265f5a45</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeTestExecutionListener</span></td><td><code>2fec5f997b539877</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>5706e3938a47edbc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>75b262c721c1b524</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherConfig</span></td><td><code>6fbfe73d83f861ce</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession</span></td><td><code>c8ae22f36a4f9c66</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.ClosedLauncher</span></td><td><code>33b03a5d32880c72</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.DelegatingLauncher</span></td><td><code>62a46fcfba060cd0</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingEngineExecutionListener</span></td><td><code>98129d4f91790da1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator</span></td><td><code>e664ca6c3b9b649f</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.Phase</span></td><td><code>268c73a2f40672ad</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryResultValidator</span></td><td><code>ae8e824d499c28c0</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineExecutionOrchestrator</span></td><td><code>ef50d34e593c6435</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineIdValidator</span></td><td><code>6ec884e3f1252b64</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>b7c31393576744dc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InternalTestPlan</span></td><td><code>69b2dd891a2eff73</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig</span></td><td><code>33646d7c20caa86c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig.Builder</span></td><td><code>1a313fdb0cf517bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>3c045d9855c3582c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.Builder</span></td><td><code>d4314d11c6458cba</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider</span></td><td><code>dbf430fc5972aefc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.2</span></td><td><code>fa4e3fee03856df9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.3</span></td><td><code>90f56b20ab147687</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>75b65d32610aecc6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryResult</span></td><td><code>d1da1616bd553127</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>8e309d53ca525395</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ListenerRegistry</span></td><td><code>4950f6c47b32949e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener</span></td><td><code>4c68ad66a29b4dd7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener.Outcome</span></td><td><code>b6ca0889820c3cca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderRegistry</span></td><td><code>b9cb7c73b65895b8</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>f98f04d3db2fcfbb</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.SessionPerRequestLauncher</span></td><td><code>176a2050399cce8f</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StreamInterceptingTestExecutionListener</span></td><td><code>36972afd5e542435</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.UniqueIdTrackingListener</span></td><td><code>267976e1a69ba0ae</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener</span></td><td><code>ee6720edc40a9ccf</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners</span></td><td><code>d311082436d55ae9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners.LauncherDiscoveryListenerType</span></td><td><code>e18e1a0e62e22287</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.session.LauncherSessionListeners</span></td><td><code>792ecbf10e49d607</code></td></tr><tr><td><span class="el_class">org.mockito.Answers</span></td><td><code>7bb49d321e73bbc5</code></td></tr><tr><td><span class="el_class">org.mockito.Mockito</span></td><td><code>47a436f0f1e8f0d0</code></td></tr><tr><td><span class="el_class">org.mockito.MockitoAnnotations</span></td><td><code>d52f4cdc6e0cd17e</code></td></tr><tr><td><span class="el_class">org.mockito.configuration.DefaultMockitoConfiguration</span></td><td><code>7c1c365c15c2133e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.MockitoCore</span></td><td><code>94b2d5ddbc6a2444</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.CaptorAnnotationProcessor</span></td><td><code>b1d3667699da5bde</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.ClassPathLoader</span></td><td><code>1837784d8946effa</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultInjectionEngine</span></td><td><code>9d4f4284084eab52</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.GlobalConfiguration</span></td><td><code>cee487af60df9de4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine</span></td><td><code>6712157121b4c009</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.InjectingAnnotationEngine</span></td><td><code>093bcb2236e9e096</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.MockAnnotationProcessor</span></td><td><code>c227d08ff7d98a5c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.SpyAnnotationEngine</span></td><td><code>0e1046ea3cb07962</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection</span></td><td><code>a2e0cfed216ffbf1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection</span></td><td><code>41ad05a9cf251c66</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection.OngoingMockInjection</span></td><td><code>4c9b53365f5f9c2a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy</span></td><td><code>cd40af08f6405c20</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy.1</span></td><td><code>c6860b7b40dd6139</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.PropertyAndSetterInjection</span></td><td><code>8ab6f13ba606583f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.PropertyAndSetterInjection.1</span></td><td><code>2daa5541dc14b3cb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.SpyOnInjectedFieldsHandler</span></td><td><code>6f93949c7ad54b5c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.NameBasedCandidateFilter</span></td><td><code>cbf3f2390a7a068c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TerminalMockCandidateFilter</span></td><td><code>80b5d7c476edad41</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TypeBasedCandidateFilter</span></td><td><code>bb38595e57e057ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.InjectMocksScanner</span></td><td><code>1b7ab81c25844e8f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.MockScanner</span></td><td><code>3b1d7ca146e28785</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultMockitoPlugins</span></td><td><code>b4dbacb34f24f79b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultPluginSwitch</span></td><td><code>973f142b836667e1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFileReader</span></td><td><code>1c7aa64a5a5a162d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFinder</span></td><td><code>7bb78b839b8a576b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginInitializer</span></td><td><code>172e9a5c046703bf</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginLoader</span></td><td><code>2d00b0c8836bfc7a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginRegistry</span></td><td><code>63e7bfebceaa145e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.Plugins</span></td><td><code>f125808a6755a284</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyMockMaker</span></td><td><code>e18344ca184c75a1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler</span></td><td><code>727bb36de4878f8a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.ModuleSystemFound</span></td><td><code>e72927e25f142ca6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassByteBuddyMockMaker</span></td><td><code>25f58b4b40e0b021</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator</span></td><td><code>f96968347af96b08</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader</span></td><td><code>36ebabbe6027618d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassInjectionLoader.WithReflection</span></td><td><code>efc5d3b20869d5f0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator</span></td><td><code>b8560d222197be6d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.DefaultInstantiatorProvider</span></td><td><code>3900ee0969504a34</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.ObjenesisInstantiator</span></td><td><code>e451a21eadbc4d30</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider</span></td><td><code>475c82ec8ba01c75</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.CallsRealMethods</span></td><td><code>16da2f316c946fec</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer</span></td><td><code>f308e3faf16f6212</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs</span></td><td><code>af1362f9ed1b0c51</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues</span></td><td><code>fb54ce54650adcb6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMocks</span></td><td><code>f72b0e3d274c564c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues</span></td><td><code>4a4f9f45d874e56f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls</span></td><td><code>8920a999612923c9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.TriesToReturnSelf</span></td><td><code>b9eec415ba57796d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Checks</span></td><td><code>c6a1d20be0e11d77</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ConsoleMockitoLogger</span></td><td><code>b50468c7ba4abdba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.DefaultMockingDetails</span></td><td><code>eb4060f4b147ea49</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockUtil</span></td><td><code>22b633290ad851ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.StringUtil</span></td><td><code>fc180f2e2cfb19c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet</span></td><td><code>f13e3c60a5f3dac1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet.1</span></td><td><code>04a9da11a07d7dbd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Iterables</span></td><td><code>f2f271f84160edef</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Sets</span></td><td><code>ba0259dd5d0f4cdf</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.io.IOUtil</span></td><td><code>399ceae9a9477546</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldReader</span></td><td><code>adeb073a2d5e6410</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.ReflectionMemberAccessor</span></td><td><code>22d3c34a9b15b269</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.AnnotationEngine.NoAction</span></td><td><code>cb985c28ad2cce16</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisBase</span></td><td><code>0c1d2fd83029257f</code></td></tr><tr><td><span class="el_class">org.objenesis.ObjenesisStd</span></td><td><code>f35c83a75caea811</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>b0aaa6460452f5ce</code></td></tr><tr><td><span class="el_class">org.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>abae05ba56ea35a6</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>a381b7ddf19bf47d</code></td></tr><tr><td><span class="el_class">org.slf4j.MDC</span></td><td><code>4d31efbdc380017c</code></td></tr><tr><td><span class="el_class">org.slf4j.bridge.SLF4JBridgeHandler</span></td><td><code>a24ab9068b3f1049</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>54f5632bfcb8d8d5</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>dc7efc0107a4a62d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>857ff3acc0576435</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.StaticLoggerBinder</span></td><td><code>039b3c899e055991</code></td></tr><tr><td><span class="el_class">org.slf4j.impl.StaticMDCBinder</span></td><td><code>649700d80abb641d</code></td></tr><tr><td><span class="el_class">org.springframework.aop.config.AopConfigUtils</span></td><td><code>8fd124ab73265d14</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.AopProxyUtils</span></td><td><code>ac1dadafada33580</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.ProxyConfig</span></td><td><code>da9e527ce0e87e39</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.ProxyProcessorSupport</span></td><td><code>6c1763bc516aec9b</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.AfterReturningAdviceAdapter</span></td><td><code>062a53f080ee5a1b</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.DefaultAdvisorAdapterRegistry</span></td><td><code>5c685171123ce41d</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry</span></td><td><code>397dafe6cf6f6bb5</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.MethodBeforeAdviceAdapter</span></td><td><code>b6ed39cc2de5fe66</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.ThrowsAdviceAdapter</span></td><td><code>455ea0b8cf24a354</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator</span></td><td><code>0312b8ea58cfb6a6</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.BeanFactoryAdvisorRetrievalHelperAdapter</span></td><td><code>fc35016c25cd15b3</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator</span></td><td><code>7f4eb4298842646a</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AutoProxyUtils</span></td><td><code>68156f4f0998c6fc</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper</span></td><td><code>7c2c296716af1e50</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.InfrastructureAdvisorAutoProxyCreator</span></td><td><code>f18e9c7ea0509092</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.ProxyCreationContext</span></td><td><code>6d416aebf6c95e6d</code></td></tr><tr><td><span class="el_class">org.springframework.aop.scope.ScopedProxyUtils</span></td><td><code>a586edd613974812</code></td></tr><tr><td><span class="el_class">org.springframework.aop.support.AopUtils</span></td><td><code>386cf262c8b36bdb</code></td></tr><tr><td><span class="el_class">org.springframework.asm.AnnotationVisitor</span></td><td><code>3687c4a62f59ea0e</code></td></tr><tr><td><span class="el_class">org.springframework.asm.AnnotationWriter</span></td><td><code>09a3272c26e27d4b</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Attribute</span></td><td><code>818e34343aee567f</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ByteVector</span></td><td><code>eab03428bdb4baef</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ClassReader</span></td><td><code>02c36ddc15e1783c</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ClassVisitor</span></td><td><code>5460f3fce8976102</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ClassWriter</span></td><td><code>e278872fa5de2d91</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Context</span></td><td><code>f61dfcd9105062d7</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Edge</span></td><td><code>75fcf927f0e1727a</code></td></tr><tr><td><span class="el_class">org.springframework.asm.FieldVisitor</span></td><td><code>549b2d543af417bd</code></td></tr><tr><td><span class="el_class">org.springframework.asm.FieldWriter</span></td><td><code>65acdc7b813096c1</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Frame</span></td><td><code>448a952c85904643</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Handler</span></td><td><code>4cf000e56c2c3c02</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Label</span></td><td><code>bc2fa7ee63dec43a</code></td></tr><tr><td><span class="el_class">org.springframework.asm.MethodVisitor</span></td><td><code>0a3f2485cc9a2a48</code></td></tr><tr><td><span class="el_class">org.springframework.asm.MethodWriter</span></td><td><code>c5f00f7ed95442f6</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Symbol</span></td><td><code>28333b059d7a579e</code></td></tr><tr><td><span class="el_class">org.springframework.asm.SymbolTable</span></td><td><code>4f2562bd2342989b</code></td></tr><tr><td><span class="el_class">org.springframework.asm.SymbolTable.Entry</span></td><td><code>5e95f09fdec28a06</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Type</span></td><td><code>ac78646bb9a3e1c3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractNestablePropertyAccessor</span></td><td><code>25f974598142eceb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractNestablePropertyAccessor.PropertyHandler</span></td><td><code>7726cd62b91ed846</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractNestablePropertyAccessor.PropertyTokenHolder</span></td><td><code>0ee732b4fcaa98ae</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractPropertyAccessor</span></td><td><code>8629b55baaeb6a44</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanInstantiationException</span></td><td><code>55dd6771a54baadb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanMetadataAttribute</span></td><td><code>8cf3dad0351b685a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanMetadataAttributeAccessor</span></td><td><code>870898df99a4e69f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanUtils</span></td><td><code>faf77bea5b45e52f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanWrapperImpl</span></td><td><code>1fa2c26f29cb3470</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanWrapperImpl.BeanPropertyHandler</span></td><td><code>abaa751daa75ac8e</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeansException</span></td><td><code>0543c63b55aa3ec1</code></td></tr><tr><td><span class="el_class">org.springframework.beans.CachedIntrospectionResults</span></td><td><code>b5e1d8b421f53bec</code></td></tr><tr><td><span class="el_class">org.springframework.beans.ExtendedBeanInfo</span></td><td><code>2386814e73a25ac1</code></td></tr><tr><td><span class="el_class">org.springframework.beans.ExtendedBeanInfo.PropertyDescriptorComparator</span></td><td><code>b461926eb42677ab</code></td></tr><tr><td><span class="el_class">org.springframework.beans.ExtendedBeanInfo.SimpleIndexedPropertyDescriptor</span></td><td><code>a72ed42c939df2d9</code></td></tr><tr><td><span class="el_class">org.springframework.beans.ExtendedBeanInfo.SimplePropertyDescriptor</span></td><td><code>b1392285e7c12be0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.ExtendedBeanInfoFactory</span></td><td><code>c7c7752172de1df8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.FatalBeanException</span></td><td><code>9d88baaafb59a756</code></td></tr><tr><td><span class="el_class">org.springframework.beans.GenericTypeAwarePropertyDescriptor</span></td><td><code>546854fffbaf65fe</code></td></tr><tr><td><span class="el_class">org.springframework.beans.MutablePropertyValues</span></td><td><code>7c91b0939d2bab5c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyAccessorUtils</span></td><td><code>68325c1e604284c5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyDescriptorUtils</span></td><td><code>2bd88d1eb7cc0b71</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyEditorRegistrySupport</span></td><td><code>a7aca8baec411d07</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyValue</span></td><td><code>f55260d736565fb7</code></td></tr><tr><td><span class="el_class">org.springframework.beans.SimpleTypeConverter</span></td><td><code>c2a485c2c4760758</code></td></tr><tr><td><span class="el_class">org.springframework.beans.TypeConverterDelegate</span></td><td><code>6f0b44459a9ae68a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.TypeConverterSupport</span></td><td><code>5fa522029fbc23db</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.BeanFactoryUtils</span></td><td><code>bce352acab412e0c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.InjectionPoint</span></td><td><code>a4c72d1770a7a7fb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.NoSuchBeanDefinitionException</span></td><td><code>882626fdbe4bcc64</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.ObjectProvider</span></td><td><code>a94310da6186767b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition</span></td><td><code>619e8f20e52cbd04</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.Autowire</span></td><td><code>5b521c6e0200af6d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor</span></td><td><code>a33166d8471a5289</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils</span></td><td><code>42afbdd32e6cec3e</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor</span></td><td><code>a043b9bac7d18cde</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.1</span></td><td><code>1b66ba92e94cb29d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.LifecycleMetadata</span></td><td><code>8a8d7870aa141386</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InjectionMetadata</span></td><td><code>addb42baff1b43c3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InjectionMetadata.1</span></td><td><code>43ef1ac68bc3474a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver</span></td><td><code>bbfd7df845d2f7f8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor</span></td><td><code>5a662aa523f7b902</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.AutowiredPropertyMarker</span></td><td><code>26d9a743bf97cf72</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanDefinitionHolder</span></td><td><code>3b70fa34c1022f80</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanDefinitionVisitor</span></td><td><code>74f88f77765e2ba7</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanExpressionContext</span></td><td><code>af2e0aa265480df0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanPostProcessor</span></td><td><code>31a3b8078cd2b4de</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.ConstructorArgumentValues</span></td><td><code>974eff1301c7a799</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder</span></td><td><code>53952c06705bd495</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.DependencyDescriptor</span></td><td><code>2717994de849ffe3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.DependencyDescriptor.1</span></td><td><code>53235c089020d60a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.EmbeddedValueResolver</span></td><td><code>67c6aa7eff4a2af4</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor</span></td><td><code>d45dfbe8c3b017dc</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.NamedBeanHolder</span></td><td><code>2452594c2a8b0afb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.PlaceholderConfigurerSupport</span></td><td><code>fb62dccf379ce479</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.PropertyResourceConfigurer</span></td><td><code>8fc0749add384007</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.RuntimeBeanReference</span></td><td><code>0bd630af284fdc88</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor</span></td><td><code>d410f2e0a60feaee</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.EmptyReaderEventListener</span></td><td><code>66cf0f3278fa7506</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.FailFastProblemReporter</span></td><td><code>5ba1c86bd60fce8d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.NullSourceExtractor</span></td><td><code>380cd58a6c753854</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.PassThroughSourceExtractor</span></td><td><code>6b35528d7f0c2809</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory</span></td><td><code>54065cf602da8e47</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanDefinition</span></td><td><code>f525227d47f5ec93</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanDefinitionReader</span></td><td><code>8eed4a6c3d0ce428</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory</span></td><td><code>912df1c8de5a444a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory.BeanPostProcessorCache</span></td><td><code>bafdabbd051ddbeb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory.BeanPostProcessorCacheAwareList</span></td><td><code>212e6311adf6932f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AutowireUtils</span></td><td><code>44c81fa5e4e22cae</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionBuilder</span></td><td><code>0b117ac0ebfe0f71</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionDefaults</span></td><td><code>465409ce7ac606a2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionReaderUtils</span></td><td><code>208e83e858b5738a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionValueResolver</span></td><td><code>eeefc7f249f8ad77</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy</span></td><td><code>a563b40b14a5489f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.ConstructorResolver</span></td><td><code>88e7b8fc2e189304</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.ConstructorResolver.ArgumentsHolder</span></td><td><code>3e0665ed15e3e330</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.ConstructorResolver.ConstructorPropertiesChecker</span></td><td><code>863054f1e67ded9f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultBeanNameGenerator</span></td><td><code>55ebd73a1cdc28a6</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory</span></td><td><code>98b1a65ba52aaaad</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.1</span></td><td><code>cd4845b732ea5466</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.DependencyObjectProvider</span></td><td><code>cdcfa87c6f966a06</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.DependencyObjectProvider.3</span></td><td><code>c8b204d1d94cb0fc</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.FactoryAwareOrderSourceProvider</span></td><td><code>25f28b0a812ee8bb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.MultiElementDescriptor</span></td><td><code>7367126bef17eb7d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.NestedDependencyDescriptor</span></td><td><code>13c5121c1063ba90</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.StreamDependencyDescriptor</span></td><td><code>922aa7d7bd5dbb55</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultSingletonBeanRegistry</span></td><td><code>2e13867d601540f5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DisposableBeanAdapter</span></td><td><code>e35225c20a619b07</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.FactoryBeanRegistrySupport</span></td><td><code>99c74fcfc0d39cdf</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.GenericBeanDefinition</span></td><td><code>ac91c5bf6c2439f0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.GenericTypeAwareAutowireCandidateResolver</span></td><td><code>ee9509933c9fc0e3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.MethodOverrides</span></td><td><code>02bf1e2f93a375da</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.RootBeanDefinition</span></td><td><code>c66a4b7b525dc119</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.SimpleAutowireCandidateResolver</span></td><td><code>484c37bd2a5b92be</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.SimpleInstantiationStrategy</span></td><td><code>63611899eec828c8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.xml.DefaultDocumentLoader</span></td><td><code>f33a4e5ddd7424ee</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.xml.XmlBeanDefinitionReader</span></td><td><code>666dc2cc2306131a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.xml.XmlBeanDefinitionReader.1</span></td><td><code>314e956097cb5105</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ByteArrayPropertyEditor</span></td><td><code>181c863773c983bf</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CharArrayPropertyEditor</span></td><td><code>bead55453e03a944</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CharacterEditor</span></td><td><code>70502cd57d980a0c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CharsetEditor</span></td><td><code>997b344c41d2f24b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ClassArrayEditor</span></td><td><code>b976ce9a8db4c481</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ClassEditor</span></td><td><code>ebe3e6a2ae7c4bf2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CurrencyEditor</span></td><td><code>cbaa39ea91a619a0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomBooleanEditor</span></td><td><code>51b576b87ebd43fc</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomCollectionEditor</span></td><td><code>f926c36f46bf0512</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomMapEditor</span></td><td><code>aa09a775696f5ed7</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomNumberEditor</span></td><td><code>fd415437506f733b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.FileEditor</span></td><td><code>ac516fb1c5132ca8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.InputSourceEditor</span></td><td><code>3878badde453f7f1</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.InputStreamEditor</span></td><td><code>519c08fee3b1c7a8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.LocaleEditor</span></td><td><code>ef2c6a2ebce881e6</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.PathEditor</span></td><td><code>0a813b85f0f3f067</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.PatternEditor</span></td><td><code>5701eec941fca72b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.PropertiesEditor</span></td><td><code>b15706d4d5d44248</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ReaderEditor</span></td><td><code>83eff1682c3bc5cc</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.StringArrayPropertyEditor</span></td><td><code>7ef4f3e0d227b024</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.TimeZoneEditor</span></td><td><code>5afffb7ca9888cf3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.URIEditor</span></td><td><code>5023880daac6928f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.URLEditor</span></td><td><code>c1db6f85946d10fc</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.UUIDEditor</span></td><td><code>fcc38198e72b691e</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ZoneIdEditor</span></td><td><code>e9183b2be49b9938</code></td></tr><tr><td><span class="el_class">org.springframework.beans.support.ResourceEditorRegistrar</span></td><td><code>724b73e4c5cfb25d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ApplicationContextFactory</span></td><td><code>3296b1f157da26d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ApplicationContextFactory.1</span></td><td><code>b0f0b8dae8216f7e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ApplicationEnvironment</span></td><td><code>31ee2d50d944574d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.Banner.Mode</span></td><td><code>1671eb939d3d025d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BeanDefinitionLoader</span></td><td><code>e7d19ca02f800336</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BeanDefinitionLoader.ClassExcludeFilter</span></td><td><code>eed1c2f291408d4f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapContextClosedEvent</span></td><td><code>da78a525c36dac73</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapRegistry.InstanceSupplier</span></td><td><code>a4be181cc8e23603</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapRegistry.InstanceSupplier.1</span></td><td><code>0e68c50c60102199</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapRegistry.Scope</span></td><td><code>9db2258389f1ae19</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ClearCachesApplicationListener</span></td><td><code>9f836d67a246ae16</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultApplicationArguments</span></td><td><code>68256ed60a832d78</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultApplicationArguments.Source</span></td><td><code>282730bec49a2c6b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultBootstrapContext</span></td><td><code>9152024e795bfb64</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultPropertiesPropertySource</span></td><td><code>cdc65f3398da6690</code></td></tr><tr><td><span class="el_class">org.springframework.boot.EnvironmentConverter</span></td><td><code>c65d4f7ce70a9d78</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication</span></td><td><code>342c844612bbcb4c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication.1</span></td><td><code>6650aa97b32d0123</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationBannerPrinter</span></td><td><code>792fd17363f348cd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationBannerPrinter.Banners</span></td><td><code>d5c37c4466be3c71</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationBannerPrinter.PrintedBanner</span></td><td><code>616cd93ed0af98d9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationRunListeners</span></td><td><code>75d00f9ced9a1a3a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook</span></td><td><code>2ef86547c43ef13d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook.ApplicationContextClosedListener</span></td><td><code>f45768c12f8176a1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook.Handlers</span></td><td><code>e04cec9c109647e2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringBootBanner</span></td><td><code>70b2923944cb49da</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringBootVersion</span></td><td><code>05584b92ee99e920</code></td></tr><tr><td><span class="el_class">org.springframework.boot.StartupInfoLogger</span></td><td><code>0b67221cceabef94</code></td></tr><tr><td><span class="el_class">org.springframework.boot.WebApplicationType</span></td><td><code>d1c812904794febc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiColor</span></td><td><code>cd3dd429350a7a04</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiOutput</span></td><td><code>9b529f6bbca35e14</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiOutput.Enabled</span></td><td><code>7c2ea9a397946bdc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiStyle</span></td><td><code>ace7a2dd57f73fa2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationExcludeFilter</span></td><td><code>2d627d031032f51c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportEvent</span></td><td><code>25e5452af442938c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector</span></td><td><code>4366a763639cdac6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.AutoConfigurationEntry</span></td><td><code>2bd612a8b5caf44d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.AutoConfigurationGroup</span></td><td><code>04e33b61d2a2979b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.ConfigurationClassFilter</span></td><td><code>6c7dc1113b9912b2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationMetadataLoader</span></td><td><code>72ee35ed589b55ff</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationMetadataLoader.PropertiesAutoConfigurationMetadata</span></td><td><code>ea82e8475b2588cc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages</span></td><td><code>b9fb55423bbf157d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.BasePackages</span></td><td><code>c99df65f04f09ac9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.BasePackagesBeanDefinition</span></td><td><code>589e960ea96cc605</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.PackageImports</span></td><td><code>b23b60c8327c8c99</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.Registrar</span></td><td><code>cf639b0b1238d8db</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationSorter</span></td><td><code>a1da1e22b23bc7a7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationSorter.AutoConfigurationClass</span></td><td><code>41e9801822af2d24</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationSorter.AutoConfigurationClasses</span></td><td><code>94d687ba3229eaea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer</span></td><td><code>ac55d3a4a6856c37</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.1</span></td><td><code>b6481b740bac0b66</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.CharsetInitializer</span></td><td><code>131384816db76dbd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.ConversionServiceInitializer</span></td><td><code>e9f7c16fef70d237</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.JacksonInitializer</span></td><td><code>bb2ec1ad8c2f71c4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.MessageConverterInitializer</span></td><td><code>7db4e1e7ffb6001c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.ValidationInitializer</span></td><td><code>1f4570ecc371b9c9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer</span></td><td><code>6d97920237f3cfab</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer.CachingMetadataReaderFactoryPostProcessor</span></td><td><code>4a04a63c5bc6292f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer.SharedMetadataReaderFactoryBean</span></td><td><code>b6c9e27a7b5d6093</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.aop.AopAutoConfiguration</span></td><td><code>9bbf250a1a4c646b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.aop.AopAutoConfiguration.ClassProxyingConfiguration</span></td><td><code>73e594fe44e70a11</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration</span></td><td><code>53f988fe6ff51c79</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.CacheConfigurationImportSelector</span></td><td><code>3263b68a2368ad9b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheCondition</span></td><td><code>d5f82332b4159a52</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheConfigurations</span></td><td><code>8588677334f3dd3b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheType</span></td><td><code>4015267f703923fe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition</span></td><td><code>f6b993fa67357dea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition.MemberConditions</span></td><td><code>7d0284eca04492a3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition.MemberMatchOutcomes</span></td><td><code>3bd6a5375e4d5ce3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition.MemberOutcomes</span></td><td><code>7d103057de404eab</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport</span></td><td><code>a32f2686ad66b2fa</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.AncestorsMatchedCondition</span></td><td><code>21cbbaba009a47be</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.ConditionAndOutcome</span></td><td><code>26ff968b67f33a2f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.ConditionAndOutcomes</span></td><td><code>967ef44355a05c70</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReportAutoConfigurationImportListener</span></td><td><code>a72d71e1052dd0f0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage</span></td><td><code>798c07377a65869c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Builder</span></td><td><code>52265bcd0af10702</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.ItemsBuilder</span></td><td><code>f034801cb4143eed</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Style</span></td><td><code>a8010be41dff8642</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Style.1</span></td><td><code>0d5604975ea62eb2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Style.2</span></td><td><code>48a2c891ad53ab7e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionOutcome</span></td><td><code>47f32adfbfd77123</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type</span></td><td><code>96f69fb486cfb679</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition</span></td><td><code>e36ae77a1649f25a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.ClassNameFilter</span></td><td><code>4ce6ad23870d9f74</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.ClassNameFilter.1</span></td><td><code>5a5d0855652ce808</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.ClassNameFilter.2</span></td><td><code>65162f67a816a55a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.NoneNestedConditions</span></td><td><code>2b9042b164a859e1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition</span></td><td><code>26f8a931843720b1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition.MatchResult</span></td><td><code>56264beb3df9fff7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition.Spec</span></td><td><code>025d996893b4c57b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnClassCondition</span></td><td><code>0d78809aeffd3f2a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnClassCondition.StandardOutcomesResolver</span></td><td><code>52653a45d6a03fd5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnClassCondition.ThreadedOutcomesResolver</span></td><td><code>11939627e835c514</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnPropertyCondition</span></td><td><code>1132e85b0ef396dc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnPropertyCondition.Spec</span></td><td><code>5576ae529f632828</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnResourceCondition</span></td><td><code>4fa7499dba196fa8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition</span></td><td><code>acae091df6eb214c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition.1</span></td><td><code>5efa33945285821e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.SearchStrategy</span></td><td><code>0f8a720573b8b7ab</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.SpringBootCondition</span></td><td><code>e4fd3bc12ffe7f01</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration</span></td><td><code>93e834a8fcf71a38</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration</span></td><td><code>36d5f267951bd361</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.LifecycleProperties</span></td><td><code>25d9a0313540321a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration.ResourceBundleCondition</span></td><td><code>0f1ef52dd3848b9e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration</span></td><td><code>48cae829671e0779</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializerDatabaseInitializerDetector</span></td><td><code>4b943bc0a6b4ea83</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration</span></td><td><code>104e3590378c66ad</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration.StandardGsonBuilderCustomizer</span></td><td><code>ca82fafcfd28d4d6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.gson.GsonProperties</span></td><td><code>570873ad1e6606c0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration</span></td><td><code>8d85132198ccbb54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration.GitResourceAvailableCondition</span></td><td><code>db416e9367f67ed2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoProperties</span></td><td><code>8dfe798cf2f71f26</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoProperties.Build</span></td><td><code>1e156c41c21621df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoProperties.Git</span></td><td><code>e1b7d59f2090494a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.integration.IntegrationPropertiesEnvironmentPostProcessor</span></td><td><code>0ccb7e7d34b3620f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener</span></td><td><code>9418f72aaa9a365d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener.ConditionEvaluationReportListener</span></td><td><code>03ad5ebe023a8bce</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration</span></td><td><code>0a580396fac5d9cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration.SqlInitializationModeCondition</span></td><td><code>057cf6bee66abe84</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.sql.init.SqlInitializationProperties</span></td><td><code>b81a32514472fd8e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.ScheduledBeanLazyInitializationExcludeFilter</span></td><td><code>3edd0bb84c21146b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration</span></td><td><code>ffb2f0774d01afea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties</span></td><td><code>35553ffd75b66ade</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Pool</span></td><td><code>cd01741c13347968</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Shutdown</span></td><td><code>b4b03df9340becf0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration</span></td><td><code>aea9702559e233e9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties</span></td><td><code>a990708e75c6b426</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties.Pool</span></td><td><code>2c833317735c7bd1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties.Shutdown</span></td><td><code>76b1ac5406bffba5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.template.TemplateLocation</span></td><td><code>910262bddb1b62c4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thymeleaf.TemplateEngineConfigurations.DefaultTemplateEngineConfiguration</span></td><td><code>b0d13d0766cbe748</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration</span></td><td><code>705986004f0118c7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration.DefaultTemplateResolverConfiguration</span></td><td><code>f8834eb6f1824e8e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration.ThymeleafJava8TimeDialect</span></td><td><code>5a920fe2d640a3d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties</span></td><td><code>6510f6fe7950ae7a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties.Reactive</span></td><td><code>df3785039aee5a4a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties.Servlet</span></td><td><code>a98c0ce64b032d41</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.ApplicationAvailabilityBean</span></td><td><code>c86e699af11b6625</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.AvailabilityChangeEvent</span></td><td><code>ac8d2de0265705bc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.LivenessState</span></td><td><code>c9fa70c3ce5bdf83</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.ReadinessState</span></td><td><code>8d4d2c75d559143a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.builder.ParentContextCloserApplicationListener</span></td><td><code>544a5d6a2b994ed0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.builder.SpringApplicationBuilder</span></td><td><code>25fe49a259334ee8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor</span></td><td><code>fc10cfadfe814ce2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform</span></td><td><code>810a83d4109bd6f8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.1</span></td><td><code>b6fcde01348a76ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.2</span></td><td><code>a3dae51bfc46b586</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.3</span></td><td><code>eb70e2c1c92fa348</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.4</span></td><td><code>d67405424d95783b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.5</span></td><td><code>154b4ad83a1ff491</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.6</span></td><td><code>71af5d97943540c0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer</span></td><td><code>721ca7d777f5e45a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer.ComponentScanPackageCheck</span></td><td><code>476b9f2b25350329</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer.ConfigurationWarningsPostProcessor</span></td><td><code>26d4cc5186c32f95</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ContextIdApplicationContextInitializer</span></td><td><code>33a71ad7921f5add</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ContextIdApplicationContextInitializer.ContextId</span></td><td><code>3dd23c747875d30c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.FileEncodingApplicationListener</span></td><td><code>72334ff426b0adb6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.TypeExcludeFilter</span></td><td><code>cd3c7034c6945980</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.AnsiOutputApplicationListener</span></td><td><code>ff41877fc7070916</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData</span></td><td><code>293599fb55abd6de</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.AlwaysPropertySourceOptions</span></td><td><code>0dd1c0f5b07f9f2c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.Option</span></td><td><code>1db7bd24bb481e83</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.Options</span></td><td><code>7d2899013f6fcbf8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.PropertySourceOptions</span></td><td><code>be9b533d7269fd85</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataActivationContext</span></td><td><code>0c236649242a28af</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironment</span></td><td><code>05934bd193f027f6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor</span></td><td><code>65969422fb61aa5b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor.ContributorIterator</span></td><td><code>4784b89331fa213a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor.ImportPhase</span></td><td><code>11266db9f0c72ba7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor.Kind</span></td><td><code>388cad2d1ec41541</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributorPlaceholdersResolver</span></td><td><code>ad6374c030e8fcd0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors</span></td><td><code>7527176fcabae50d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.BinderOption</span></td><td><code>cb691f262e1b0b69</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.ContributorConfigDataLocationResolverContext</span></td><td><code>6f2751d2ce4bfc47</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.ContributorDataLoaderContext</span></td><td><code>09821b25f81762f8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.InactiveSourceChecker</span></td><td><code>761bbdd2c167c4cd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor</span></td><td><code>58ba5b08a0153624</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentUpdateListener</span></td><td><code>659414a31e83bd35</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentUpdateListener.1</span></td><td><code>0b4e61c05d897817</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataImporter</span></td><td><code>2081615781dab4d9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLoader</span></td><td><code>41dafc9029d66ba4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLoaders</span></td><td><code>5a69f4e14d3c4444</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLocation</span></td><td><code>a92671cb6407dcd8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLocationResolvers</span></td><td><code>561d4f0f3b82a9da</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataNotFoundAction</span></td><td><code>23409825201d8981</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataNotFoundAction.1</span></td><td><code>2eb1514f5fcba2c8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataNotFoundAction.2</span></td><td><code>3bab05bbe828a160</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataProperties</span></td><td><code>b1cdfe47ed0c154c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataResolutionResult</span></td><td><code>a32d0336145de04c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataResource</span></td><td><code>0a33628daaf3aaf2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataResourceNotFoundException</span></td><td><code>f770e7c119409d7b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigTreeConfigDataLoader</span></td><td><code>0f1b4c850e7857d8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigTreeConfigDataLocationResolver</span></td><td><code>4773ab01d1f96266</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.DelegatingApplicationContextInitializer</span></td><td><code>ffb2fc577ff9b841</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.DelegatingApplicationListener</span></td><td><code>118807ca7053a160</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.InvalidConfigDataPropertyException</span></td><td><code>ebad2910c6658803</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.LocationResourceLoader</span></td><td><code>27610e74dad6b86d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.LocationResourceLoader.ResourceType</span></td><td><code>ff4b8be4c9b3e90a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.Profiles</span></td><td><code>967b6ada63970455</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.Profiles.Type</span></td><td><code>fe3e6379dc6aa2e3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataLoader</span></td><td><code>11108b9822bfda5d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataLocationResolver</span></td><td><code>fe3c86d2bdcd6ced</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataReference</span></td><td><code>426f4760d4f55df3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataResource</span></td><td><code>9fae8212c0857723</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.UseLegacyConfigProcessingException</span></td><td><code>d67e031ee10bbb16</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.UseLegacyConfigProcessingException.UseLegacyProcessingBindHandler</span></td><td><code>f02509ac7b34b22b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationContextInitializedEvent</span></td><td><code>30442b977fa15441</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent</span></td><td><code>6f66ed7c373faa00</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationPreparedEvent</span></td><td><code>57634f2aa9c5e321</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationReadyEvent</span></td><td><code>ac5cff4337448da8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationStartedEvent</span></td><td><code>d859a7e804c27ad0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationStartingEvent</span></td><td><code>c3d43901464275e0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.EventPublishingRunListener</span></td><td><code>04dd73c089c4ba49</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.SpringApplicationEvent</span></td><td><code>1659aa41af31bb9e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.logging.LoggingApplicationListener</span></td><td><code>5e716c1c1f7c0a2c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.BoundConfigurationProperties</span></td><td><code>4ba022222b05f5c3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBean</span></td><td><code>c02363a6bb26efaf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBean.BindMethod</span></td><td><code>bff566fa8c4352c5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar</span></td><td><code>374b6bcd0e7e7fa0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBindConstructorProvider</span></td><td><code>5b01bd4e2f1a233e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBinder</span></td><td><code>f1a4d61d93ded3f9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBinder.ConfigurationPropertiesBindHandler</span></td><td><code>3487e25afbdcce31</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBinder.Factory</span></td><td><code>1ae556af5c98bff2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor</span></td><td><code>f28c3f8b2ac3eae7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator</span></td><td><code>766b11e437f25f86</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConversionServiceDeducer</span></td><td><code>d0e47179511e0fa6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConversionServiceDeducer.ConverterBeans</span></td><td><code>eb606f33304f7c4c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar</span></td><td><code>2aa12e268b983c7a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertyMapper</span></td><td><code>28da7628c93f72a7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertyMapper.NullPointerExceptionSafeSupplier</span></td><td><code>ea4eaa4602e47b14</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertyMapper.Source</span></td><td><code>d12e8e09b9f950b9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertySourcesDeducer</span></td><td><code>8d676a5ee50beab9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.AbstractBindHandler</span></td><td><code>a4f677f99d80a62f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.AggregateBinder</span></td><td><code>75f5644082301ccb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.AggregateBinder.AggregateSupplier</span></td><td><code>f3c8fbab9d95c01f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ArrayBinder</span></td><td><code>a536fd6b06e5650b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConstructorProvider</span></td><td><code>bf383e65f307f795</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter</span></td><td><code>4a28b9020c2e37c1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter.ResolvableTypeDescriptor</span></td><td><code>ef8ee4e215273463</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter.TypeConverterConversionService</span></td><td><code>03d809f84666a069</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter.TypeConverterConverter</span></td><td><code>32ce998262bf0407</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindHandler</span></td><td><code>9d34d454c55a542d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindHandler.1</span></td><td><code>0eb1c27d19a82c8d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindResult</span></td><td><code>40fd776a7ab036bf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Bindable</span></td><td><code>4b633fe04ffb0563</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Bindable.BindRestriction</span></td><td><code>8def3daf6d9e4b4e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Binder</span></td><td><code>5338ca893921f1f1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Binder.Context</span></td><td><code>755205f639501700</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BoundPropertiesTrackingBindHandler</span></td><td><code>56cde931352c19c8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.CollectionBinder</span></td><td><code>3de1185aef5815b7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.DataObjectPropertyName</span></td><td><code>b9df91c08bfd21e4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider</span></td><td><code>71e3406b61c7b5c0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.IndexedElementsBinder</span></td><td><code>7bbd6a4677ea0f02</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.IndexedElementsBinder.IndexedCollectionSupplier</span></td><td><code>7df6f585712ab521</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder</span></td><td><code>6a2c83779727b60f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.Bean</span></td><td><code>d4203831ffd4dafe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.BeanProperty</span></td><td><code>93cc4fdc8fa37e24</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.BeanSupplier</span></td><td><code>9e3686353ea29666</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.MapBinder</span></td><td><code>7f5a79b14496ffa6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.MapBinder.EntryBinder</span></td><td><code>7a5b83f5e24fb8bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.PlaceholdersResolver</span></td><td><code>ef20d592de5df50c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.PropertySourcesPlaceholdersResolver</span></td><td><code>ad2f96fb3d5d68e2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder</span></td><td><code>6e0aa5bcf82d28ee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.ValueObject</span></td><td><code>9244641be07e03bf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.handler.IgnoreTopLevelConverterNotFoundBindHandler</span></td><td><code>a6694a3778e5750d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationProperty</span></td><td><code>7710126579fdb65d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName</span></td><td><code>1876a275970ba950</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.ElementType</span></td><td><code>1bc2287cf335d392</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.Elements</span></td><td><code>729f7b93544adef2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.ElementsParser</span></td><td><code>01b0c99f7b27e766</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.Form</span></td><td><code>70a2eacff140f23a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySource</span></td><td><code>41542f36d0cb2c87</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySources</span></td><td><code>30cebaf2378d0df9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertyResolver</span></td><td><code>581b02045b7e3898</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertyResolver.DefaultResolver</span></td><td><code>ebb8109e58798e4b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource</span></td><td><code>b50bfe34ea083cd2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyState</span></td><td><code>3bd5fcebbe04f89a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.DefaultPropertyMapper</span></td><td><code>256bd77f8ce20bb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.DefaultPropertyMapper.LastMapping</span></td><td><code>1d4c8fde7b560f15</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.FilteredConfigurationPropertiesSource</span></td><td><code>bf93c3f4035fe741</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.FilteredIterableConfigurationPropertiesSource</span></td><td><code>9b4b37705b45e2f9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.IterableConfigurationPropertySource</span></td><td><code>442a435bb45623f0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.MapConfigurationPropertySource</span></td><td><code>b01b81cbfb7e2f20</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.PropertyMapper</span></td><td><code>9f019c62a1a9ab02</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SoftReferenceConfigurationPropertyCache</span></td><td><code>c5c0eb066e57f8fe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringConfigurationPropertySource</span></td><td><code>e78564b84cc588a7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringConfigurationPropertySources</span></td><td><code>7ba889b7c1a4defd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringConfigurationPropertySources.SourcesIterator</span></td><td><code>c5dd104a33c35dbd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource</span></td><td><code>9cc37024cecbe973</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource.ConfigurationPropertyNamesIterator</span></td><td><code>2a525ab83509cc4b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource.Mappings</span></td><td><code>b499360875ca05c5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SystemEnvironmentPropertyMapper</span></td><td><code>3a0ff0c4a3b81963</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.ApplicationConversionService</span></td><td><code>703105b1da56b762</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.ArrayToDelimitedStringConverter</span></td><td><code>24cfa2634c416f14</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.CharArrayFormatter</span></td><td><code>c64f59a5a3d1e2cd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.CharSequenceToObjectConverter</span></td><td><code>5f4ba54cd2266aa3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.CollectionToDelimitedStringConverter</span></td><td><code>82362d527b9cfd21</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DelimitedStringToArrayConverter</span></td><td><code>db11ae5fb13bdb8e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DelimitedStringToCollectionConverter</span></td><td><code>28be1a1ceda69841</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DurationToNumberConverter</span></td><td><code>2d81edc14a86cf8a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DurationToStringConverter</span></td><td><code>3e40c346f5ee0df5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.InetAddressFormatter</span></td><td><code>582137ff797f415c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.InputStreamSourceToByteArrayConverter</span></td><td><code>5d58d892f7b71525</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.IsoOffsetFormatter</span></td><td><code>d28d6879b708f1e2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.LenientBooleanToEnumConverterFactory</span></td><td><code>f9c9f6fb2af00c62</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.LenientObjectToEnumConverterFactory</span></td><td><code>2d8246ca81d1c203</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.LenientStringToEnumConverterFactory</span></td><td><code>b974637d4886dfe1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.NumberToDataSizeConverter</span></td><td><code>dc8a9039ec592965</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.NumberToDurationConverter</span></td><td><code>32dc759bfeafac05</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.NumberToPeriodConverter</span></td><td><code>097b2d62b48c3caa</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.PeriodToStringConverter</span></td><td><code>898a24b0085b4510</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToDataSizeConverter</span></td><td><code>18153304533818bc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToDurationConverter</span></td><td><code>e3e30fe7d38decff</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToFileConverter</span></td><td><code>a4915273d43e589c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToPeriodConverter</span></td><td><code>e8ecc06eb929a8eb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.EnvironmentPostProcessorApplicationListener</span></td><td><code>a3e6af21b9499a7e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.EnvironmentPostProcessorsFactory</span></td><td><code>2cf73988660f638c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedPropertiesLoader</span></td><td><code>caa789d35efde282</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedPropertiesLoader.CharacterReader</span></td><td><code>1b80642c82147251</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedPropertiesLoader.Document</span></td><td><code>30dbc950c081a113</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.PropertiesPropertySourceLoader</span></td><td><code>e52b2d2f4d270a4d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.RandomValuePropertySource</span></td><td><code>2746586b8a679fb1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.RandomValuePropertySourceEnvironmentPostProcessor</span></td><td><code>72138b3465c9c8f8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.ReflectionEnvironmentPostProcessorsFactory</span></td><td><code>b3212f7654b89171</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SpringApplicationJsonEnvironmentPostProcessor</span></td><td><code>cf7b857c794f2edc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SpringApplicationJsonEnvironmentPostProcessor.JsonPropertyValue</span></td><td><code>25de8b09e14d6d2c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor</span></td><td><code>1a830952911713d0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor.OriginAwareSystemEnvironmentPropertySource</span></td><td><code>20b9906af5ffad65</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.YamlPropertySourceLoader</span></td><td><code>f9489214398cb8ce</code></td></tr><tr><td><span class="el_class">org.springframework.boot.flyway.FlywayDatabaseInitializerDetector</span></td><td><code>bd671edf9cf2e7cd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jdbc.AbstractDataSourceInitializerDatabaseInitializerDetector</span></td><td><code>96d42260e95f1b44</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializerDetector</span></td><td><code>6847ed136e40588f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.liquibase.LiquibaseDatabaseInitializerDetector</span></td><td><code>f8baa61efe2e96ed</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.AbstractLoggingSystem</span></td><td><code>1a01d07c20417590</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.AbstractLoggingSystem.LogLevels</span></td><td><code>c30b1c954768d7b4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog</span></td><td><code>42cb6d347ba750d5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog.1</span></td><td><code>d2b354a9ec3311ce</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog.Line</span></td><td><code>43ea925525777cf5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog.Lines</span></td><td><code>0374d672935f6518</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLogs</span></td><td><code>41861103c5b30e1b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DelegatingLoggingSystemFactory</span></td><td><code>f307a9b432cf4dfe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LogFile</span></td><td><code>21999b14dda2d435</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LogLevel</span></td><td><code>17241f9b3e215178</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggerConfigurationComparator</span></td><td><code>d2534e372cbe96d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggerGroup</span></td><td><code>ccc6ba973c7cc3fc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggerGroups</span></td><td><code>e8cfe9b7a52e6af9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingInitializationContext</span></td><td><code>1e26223a12306c6f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystem</span></td><td><code>07880b27a605b8cf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystemFactory</span></td><td><code>b8af2cd20ab65f90</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystemProperties</span></td><td><code>db5c847f3dc4dcf4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.Slf4JLoggingSystem</span></td><td><code>a81a348e70fcef83</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.java.JavaLoggingSystem.Factory</span></td><td><code>1c2549f66f91e3dd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.Factory</span></td><td><code>f1cf3f37debdadb0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.log4j2.SpringBootPropertySource</span></td><td><code>f382aeb6eba010b8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.ColorConverter</span></td><td><code>f4a61a8ffc2cae26</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.DefaultLogbackConfiguration</span></td><td><code>a5349cb01a1513de</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter</span></td><td><code>8f401617be21efde</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackConfigurator</span></td><td><code>a55def65f74f486e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystem</span></td><td><code>0fd8927496845ba7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystem.1</span></td><td><code>532c546583b68b69</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystem.Factory</span></td><td><code>4a04c8fc61cff16c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystemProperties</span></td><td><code>dcf48e3bf7cb449e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.Origin</span></td><td><code>98257a656c3ed6b3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginLookup</span></td><td><code>b0affa2ef074d81a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginTrackedResource</span></td><td><code>5ba774844310a338</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.PropertySourceOrigin</span></td><td><code>f5f11ab9cd2a09fc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.orm.jpa.JpaDatabaseInitializerDetector</span></td><td><code>7b15ff06676289dc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.r2dbc.init.R2dbcScriptDatabaseInitializerDetector</span></td><td><code>ce6a5cca4c2a5e54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.reactor.DebugAgentEnvironmentPostProcessor</span></td><td><code>7bff2e88b8a40f7c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.rsocket.context.RSocketPortInfoApplicationContextInitializer</span></td><td><code>0766208683a69865</code></td></tr><tr><td><span class="el_class">org.springframework.boot.rsocket.context.RSocketPortInfoApplicationContextInitializer.Listener</span></td><td><code>7f52017ce138dec9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.DatabaseInitializationMode</span></td><td><code>735c356aa2882d0d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.AbstractBeansOfTypeDatabaseInitializerDetector</span></td><td><code>281d75e70d310330</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.BeansOfTypeDetector</span></td><td><code>d62d5dd256627bfa</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer</span></td><td><code>2778d84061ceb308</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer.DependsOnDatabaseInitializationPostProcessor</span></td><td><code>39001c9928805f8b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer.DependsOnDatabaseInitializationPostProcessor.InitializerBeanNames</span></td><td><code>4f9dc611692499bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector</span></td><td><code>62add512d3b089bc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.system.ApplicationHome</span></td><td><code>6a86165533757eaf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.system.ApplicationPid</span></td><td><code>6a52ed8579c7f96c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.TaskExecutorBuilder</span></td><td><code>737a345c7b511c17</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.TaskSchedulerBuilder</span></td><td><code>89a813fd6c603401</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OverrideAutoConfigurationContextCustomizerFactory</span></td><td><code>9b8ba8026d0e5344</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener</span></td><td><code>a3a6fc880cc0eede</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.PostProcessor</span></td><td><code>48c58581625994ed</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory</span></td><td><code>42f3315b066281e1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory.DisableMetricExportContextCustomizer</span></td><td><code>31307b5da98adea0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizerFactory</span></td><td><code>e7bed41bd1b92bba</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.AnnotationsPropertySource</span></td><td><code>362d5632916b5947</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer</span></td><td><code>2949e4a211d3993d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer.PropertyMappingCheckBeanPostProcessor</span></td><td><code>39d913a00fea47cd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizerFactory</span></td><td><code>92800aae53815f65</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.SkipPropertyMapping</span></td><td><code>b0e54b0c3c9e505d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener</span></td><td><code>a598cadabcf5242e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener</span></td><td><code>d648fac93d006266</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener</span></td><td><code>6fc0a865981d7bff</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.DeferredLinesWriter</span></td><td><code>7c088e07fabaed5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory</span></td><td><code>ef5a380b14a36625</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory.Customizer</span></td><td><code>3dbab5c65cc814f0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverScope</span></td><td><code>ab0ab8f8fe9e5f55</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener</span></td><td><code>fa9738ec33dbac9b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener</span></td><td><code>d77f2ee82ac99b56</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.AnnotatedClassFinder</span></td><td><code>17d873d1a21443f9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.AnnotatedClassFinder.Cache</span></td><td><code>a218bce6ed5e955c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizerFactory</span></td><td><code>7f796a36dfe5a90f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader</span></td><td><code>a69684af71b313b9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.ContextCustomizerAdapter</span></td><td><code>afd0ae3957959985</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.PrepareEnvironmentListener</span></td><td><code>0ca8dfa19ee4eb29</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTest.WebEnvironment</span></td><td><code>4ef1e422efa4b109</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTestArgs</span></td><td><code>1f485f078546a807</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTestContextBootstrapper</span></td><td><code>52eb0a5f71a3bd10</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTestWebEnvironment</span></td><td><code>4965281bf733ffc5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer</span></td><td><code>41bac6ceb9564498</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizerFactory</span></td><td><code>eaee9436d9498473</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.TestTypeExcludeFilter</span></td><td><code>0ca625b295bfe708</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory</span></td><td><code>0370cdaa1978f335</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory.DuplicateJsonObjectContextCustomizer</span></td><td><code>34bd2e25d95286cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.DefinitionsParser</span></td><td><code>1a26532190d1d296</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockReset</span></td><td><code>576de1a6418d13cf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoBeans</span></td><td><code>99f0ebef15b45d86</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoContextCustomizer</span></td><td><code>33445d48848930b3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoContextCustomizerFactory</span></td><td><code>aed4e59f9e43fbd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoPostProcessor</span></td><td><code>25c6000cde1b7481</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoPostProcessor.SpyPostProcessor</span></td><td><code>d04da26917e3e9da</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener</span></td><td><code>903fb43fdc655586</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.MockitoAnnotationCollection</span></td><td><code>b2b18deb7002db81</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener</span></td><td><code>b13c0d0b29ec4be5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.SpringBootMockResolver</span></td><td><code>0d421c9057a50572</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.util.TestPropertyValues</span></td><td><code>7803145f193530d1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.util.TestPropertyValues.Pair</span></td><td><code>e429e19a9a786f92</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.util.TestPropertyValues.Type</span></td><td><code>591abca8059212df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.SpringBootTestRandomPortEnvironmentPostProcessor</span></td><td><code>ac6d23ab6da7b0e1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer</span></td><td><code>461431b63b1ab32d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.client.TestRestTemplateContextCustomizerFactory</span></td><td><code>042274766736acc7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.reactive.server.WebTestClientContextCustomizerFactory</span></td><td><code>849415ddd1a778f3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory</span></td><td><code>42c71bb1304daa4c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.Instantiator</span></td><td><code>45e09b561bfc0413</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.Instantiator.1</span></td><td><code>4eb4ecd099964cd7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.Instantiator.TypeSupplier</span></td><td><code>eb6547424ce9ecae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.Instantiator.TypeSupplier.1</span></td><td><code>24c7b00a99ebf365</code></td></tr><tr><td><span class="el_class">org.springframework.boot.validation.beanvalidation.MethodValidationExcludeFilter</span></td><td><code>2a7a6f1893409295</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.context.ServerPortInfoApplicationContextInitializer</span></td><td><code>68757a22d379c63e</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator</span></td><td><code>16659dd60b7ac522</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator.ClassLoaderData</span></td><td><code>76b8216645b5e5c9</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator.ClassLoaderData.1</span></td><td><code>1b2cea60a682e2c3</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator.ClassLoaderData.2</span></td><td><code>48cb6c18556a29b4</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator.ClassLoaderData.3</span></td><td><code>c542b77694d94c97</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator.Source</span></td><td><code>ff8f43537c34cd3b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AsmApi</span></td><td><code>1d4074768b3cdf07</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter</span></td><td><code>3ba8734723964e36</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.1</span></td><td><code>39f150d2118e1804</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.2</span></td><td><code>12f18330a16d0cb0</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.3</span></td><td><code>6236e78708abef85</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.FieldInfo</span></td><td><code>bab342d76f528d96</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassInfo</span></td><td><code>d2740fe06275245b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassLoaderAwareGeneratorStrategy</span></td><td><code>69ca9256582983bf</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassNameReader</span></td><td><code>855515cc037952e8</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassNameReader.1</span></td><td><code>0bb78b05c2e49eea</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassNameReader.EarlyExitException</span></td><td><code>ca8401a07d39dc83</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.CodeEmitter</span></td><td><code>f4079541ab09e9ac</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.CodeEmitter.State</span></td><td><code>2ec828dd81bc0c0c</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.CollectionUtils</span></td><td><code>5a718fd52de86b53</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.Constants</span></td><td><code>082826b62bc5a8a9</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DebuggingClassWriter</span></td><td><code>83379891fa1a41a5</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DebuggingClassWriter.1</span></td><td><code>76a5cf5cdcbd19be</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DefaultGeneratorStrategy</span></td><td><code>e12309df161d92d9</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DefaultNamingPolicy</span></td><td><code>f800bc1e724c5de2</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DuplicatesPredicate</span></td><td><code>72b22809364bc365</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils</span></td><td><code>2acf8c170e46a0fe</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.5</span></td><td><code>e2151d0c3b851bb4</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.6</span></td><td><code>4de24939f0a7665a</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.7</span></td><td><code>6e452784329d5558</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.8</span></td><td><code>1712bc0fd784fe03</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.9</span></td><td><code>7651c322c3d5d3de</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.ArrayDelimiters</span></td><td><code>18ab89bbb8bc1140</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.KeyFactory</span></td><td><code>aaff5e32f290b72d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.KeyFactory.1</span></td><td><code>395e231da0305811</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.KeyFactory.2</span></td><td><code>bda3ca578abbccd7</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.KeyFactory.3</span></td><td><code>789f11328fb9edb4</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.KeyFactory.4</span></td><td><code>e2459242d9d89d51</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.KeyFactory.Generator</span></td><td><code>57db1ed68fa4a1c5</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.Local</span></td><td><code>5d30973c49f46e69</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.LocalVariablesSorter</span></td><td><code>8f972b2a9b8f51bc</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.LocalVariablesSorter.State</span></td><td><code>0d6e48dab9681aaf</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodInfo</span></td><td><code>d516e0c1efb7cca8</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodInfoTransformer</span></td><td><code>4fb5bd591e720eda</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodWrapper</span></td><td><code>865dbce2ad8e7d24</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodWrapper.MethodWrapperKey..KeyFactoryByCGLIB..552be97a</span></td><td><code>f35945d793084d6e</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils</span></td><td><code>42e1e9012494c667</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.1</span></td><td><code>79234e86f0685a9b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.2</span></td><td><code>cc81ab6eef409bcc</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.3</span></td><td><code>c1f02839d1b6e10a</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.4</span></td><td><code>3af55912bf148339</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.5</span></td><td><code>e899cc3a7318f75d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.6</span></td><td><code>bb5cae0114047e9d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.7</span></td><td><code>e52e89ae3e0a0e48</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.RejectModifierPredicate</span></td><td><code>eae531685546bb9c</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.Signature</span></td><td><code>351053ceeb854fc2</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.SpringNamingPolicy</span></td><td><code>50bfffd266d25701</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.TypeUtils</span></td><td><code>e82358d7b15f29b0</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.VisibilityPredicate</span></td><td><code>2d3a360a28cb8493</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.WeakCacheKey</span></td><td><code>27e63a2597959ca4</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.internal.CustomizerRegistry</span></td><td><code>24225651041ba904</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.internal.LoadingCache</span></td><td><code>88704dd4e739bbc8</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.internal.LoadingCache.1</span></td><td><code>6ef651073f2e7e04</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.internal.LoadingCache.2</span></td><td><code>a41eea9d584fdc4f</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.BridgeMethodResolver</span></td><td><code>bbb9f15787112ede</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.CallbackInfo</span></td><td><code>d6fd445a3d6f017f</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.DispatcherGenerator</span></td><td><code>0ac6262c87237a40</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer</span></td><td><code>4adc43407f94f669</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.1</span></td><td><code>3ab2a2d4a9ab9026</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.2</span></td><td><code>485314879038802a</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.6</span></td><td><code>72a4d58ee37efba8</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.EnhancerFactoryData</span></td><td><code>ca8adaae39389f9a</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.EnhancerKey..KeyFactoryByCGLIB..4ce19e8f</span></td><td><code>5f5a3ce9c5601714</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.FixedValueGenerator</span></td><td><code>20384f48bf1763a6</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.InvocationHandlerGenerator</span></td><td><code>a198020a9c973f61</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.LazyLoaderGenerator</span></td><td><code>fb509e8d9bbbbded</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodInterceptorGenerator</span></td><td><code>4e9d41c80f250339</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodInterceptorGenerator.1</span></td><td><code>0e1a460afeb4e30a</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodInterceptorGenerator.2</span></td><td><code>96e07b9c8833b9bf</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodProxy</span></td><td><code>0cb4c15aff0bcd9c</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodProxy.CreateInfo</span></td><td><code>d3b5659617fa2a28</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.NoOp</span></td><td><code>49f25723ade142d1</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.NoOp.1</span></td><td><code>acc3921bfc2620d8</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.NoOpGenerator</span></td><td><code>fa8188f64396c488</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.transform.ClassEmitterTransformer</span></td><td><code>72ae4c57048be866</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.transform.ClassTransformer</span></td><td><code>8984f423cbc28a10</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.transform.TransformingClassGenerator</span></td><td><code>28e7820bc18cb3d4</code></td></tr><tr><td><span class="el_class">org.springframework.context.ApplicationEvent</span></td><td><code>83cb66a9e3580ca6</code></td></tr><tr><td><span class="el_class">org.springframework.context.PayloadApplicationEvent</span></td><td><code>dab204af6beaa183</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotatedBeanDefinitionReader</span></td><td><code>897d6f2e8e7ffe57</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationBeanNameGenerator</span></td><td><code>1a4ac548cdcdd738</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationConfigApplicationContext</span></td><td><code>545ac5c0b34de1b3</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationConfigUtils</span></td><td><code>3eba687d124d556f</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationScopeMetadataResolver</span></td><td><code>39178d9dd0165637</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.BeanAnnotationHelper</span></td><td><code>50f9c0a5609d7d07</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.BeanMethod</span></td><td><code>b2bbb0c7f2e35111</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ClassPathBeanDefinitionScanner</span></td><td><code>23dbc08126c2fbc4</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider</span></td><td><code>82eb4d43593e88aa</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.CommonAnnotationBeanPostProcessor</span></td><td><code>727c1ed1a80577e8</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ComponentScanAnnotationParser</span></td><td><code>cc364b137e78720a</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ComponentScanAnnotationParser.1</span></td><td><code>102212c872af920f</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConditionEvaluator</span></td><td><code>f72ae849c4719e1c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConditionEvaluator.ConditionContextImpl</span></td><td><code>8519893fbd6bfb22</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClass</span></td><td><code>c42d389c1516e1ab</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader</span></td><td><code>f2354c5d71534b6c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.ConfigurationClassBeanDefinition</span></td><td><code>6f56a9cd29e5c1ff</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.TrackedConditionEvaluator</span></td><td><code>3f282c92838ce57d</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer</span></td><td><code>f5202a3ffe4630d3</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanFactoryAwareGeneratorStrategy</span></td><td><code>be23cc469db7a3b5</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanFactoryAwareGeneratorStrategy.1</span></td><td><code>4329a2760414c2c0</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanFactoryAwareMethodInterceptor</span></td><td><code>a943879bae2c3ac9</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanMethodInterceptor</span></td><td><code>16f2fced898a254d</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.ConditionalCallbackFilter</span></td><td><code>b4500e6f5c8fe809</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser</span></td><td><code>1fcbb5d984e96d6e</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorGrouping</span></td><td><code>792da396a6d3042a</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorGroupingHandler</span></td><td><code>48a487914dcc878b</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorHandler</span></td><td><code>5865164655ff704c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorHolder</span></td><td><code>51d40af6857f95a6</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.ImportStack</span></td><td><code>945e9261e385b596</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.SourceClass</span></td><td><code>9e5499ae65f2ec6c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassPostProcessor</span></td><td><code>d7fb3dd6f5391d56</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassPostProcessor.ImportAwareBeanPostProcessor</span></td><td><code>d6fffcae701fe095</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassUtils</span></td><td><code>0334d911503fd303</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationCondition.ConfigurationPhase</span></td><td><code>560dc1ac5efded73</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationMethod</span></td><td><code>7bbde10fbd56dc59</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ContextAnnotationAutowireCandidateResolver</span></td><td><code>39c5001b763878da</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.DeferredImportSelector.Group.Entry</span></td><td><code>3f5f109b118a04de</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.FilterType</span></td><td><code>07bcbc82439adf8b</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.FullyQualifiedAnnotationBeanNameGenerator</span></td><td><code>79169c3fdace56e9</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ImportBeanDefinitionRegistrar</span></td><td><code>58e50834cacf6219</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ImportSelector</span></td><td><code>a7852eff51cbead1</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ParserStrategyUtils</span></td><td><code>935bd9607fa1b8d8</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ScannedGenericBeanDefinition</span></td><td><code>85cba26291a60045</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ScopeMetadata</span></td><td><code>f4c94273854e79b5</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ScopedProxyMode</span></td><td><code>98c5bda3bb764e44</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.TypeFilterUtils</span></td><td><code>45f04a8a3b9d327f</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.TypeFilterUtils.1</span></td><td><code>0fa6829ebeb64fd6</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster</span></td><td><code>23747158baac4bdf</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster.CachedListenerRetriever</span></td><td><code>6c4411c0fab14187</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster.DefaultListenerRetriever</span></td><td><code>9f574a1076f423be</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster.ListenerCacheKey</span></td><td><code>870f98fe44e4c176</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.ApplicationContextEvent</span></td><td><code>99355cd7effbfcfe</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.ContextClosedEvent</span></td><td><code>454518749a18dc48</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.ContextRefreshedEvent</span></td><td><code>7685faae0b73b5e2</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.DefaultEventListenerFactory</span></td><td><code>c88ebb05d5c9bbd5</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.EventExpressionEvaluator</span></td><td><code>8c3cd34d70fa3dd0</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.EventListenerMethodProcessor</span></td><td><code>dc09c6cfbbc2dc33</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.GenericApplicationListenerAdapter</span></td><td><code>aea76c7ed49262b6</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.SimpleApplicationEventMulticaster</span></td><td><code>9d1e567f1a4a68e5</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.SmartApplicationListener</span></td><td><code>cf05d5cb6c64c041</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.BeanExpressionContextAccessor</span></td><td><code>54f22f02669c1fd2</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.BeanFactoryAccessor</span></td><td><code>d0aabf289d9ac5e3</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.BeanFactoryResolver</span></td><td><code>7bafc3251813e9be</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.CachedExpressionEvaluator</span></td><td><code>a2ff71920ef013cf</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.EnvironmentAccessor</span></td><td><code>8cbb51749f4ba41c</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.MapAccessor</span></td><td><code>e5455b294f754444</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.StandardBeanExpressionResolver</span></td><td><code>a94869362149626e</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.StandardBeanExpressionResolver.1</span></td><td><code>e4be0e65585a1f68</code></td></tr><tr><td><span class="el_class">org.springframework.context.index.CandidateComponentsIndexLoader</span></td><td><code>92aa29134f9ef73f</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.AbstractApplicationContext</span></td><td><code>c3c7cfd8f988325a</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.ApplicationContextAwareProcessor</span></td><td><code>4831557feef2df5f</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.ApplicationListenerDetector</span></td><td><code>d9612ca339cf3e81</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DefaultLifecycleProcessor</span></td><td><code>5d0b51095a5e9ba9</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DelegatingMessageSource</span></td><td><code>587e04cc80616cad</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.EmbeddedValueResolutionSupport</span></td><td><code>33fd6e4c01797b9f</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.GenericApplicationContext</span></td><td><code>10e613f93e099532</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.LiveBeansView</span></td><td><code>fad60b913896e0c9</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.MessageSourceSupport</span></td><td><code>fa18b4a586bbd7d4</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PostProcessorRegistrationDelegate</span></td><td><code>4d3cbc1651b115f2</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PostProcessorRegistrationDelegate.BeanPostProcessorChecker</span></td><td><code>1f6837c57e6f2606</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PropertySourcesPlaceholderConfigurer</span></td><td><code>e7e76a955620351a</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PropertySourcesPlaceholderConfigurer.1</span></td><td><code>f2ed7dd357d5549c</code></td></tr><tr><td><span class="el_class">org.springframework.core.AttributeAccessorSupport</span></td><td><code>4260f940c9373c86</code></td></tr><tr><td><span class="el_class">org.springframework.core.BridgeMethodResolver</span></td><td><code>6be8e35b682d363d</code></td></tr><tr><td><span class="el_class">org.springframework.core.CollectionFactory</span></td><td><code>3cdf99d010d95b41</code></td></tr><tr><td><span class="el_class">org.springframework.core.Constants</span></td><td><code>c36d404d3824e294</code></td></tr><tr><td><span class="el_class">org.springframework.core.Conventions</span></td><td><code>973a966aa5ae679f</code></td></tr><tr><td><span class="el_class">org.springframework.core.DefaultParameterNameDiscoverer</span></td><td><code>b41a493774fe0725</code></td></tr><tr><td><span class="el_class">org.springframework.core.GenericTypeResolver</span></td><td><code>e85d6e442c0ae553</code></td></tr><tr><td><span class="el_class">org.springframework.core.KotlinDetector</span></td><td><code>0dc2ed8934e996e3</code></td></tr><tr><td><span class="el_class">org.springframework.core.LocalVariableTableParameterNameDiscoverer</span></td><td><code>096054af0b43f07d</code></td></tr><tr><td><span class="el_class">org.springframework.core.MethodIntrospector</span></td><td><code>40ce4160b1a8770f</code></td></tr><tr><td><span class="el_class">org.springframework.core.MethodParameter</span></td><td><code>1e7791a56b139d1a</code></td></tr><tr><td><span class="el_class">org.springframework.core.NamedThreadLocal</span></td><td><code>50a4b84dcfc515f2</code></td></tr><tr><td><span class="el_class">org.springframework.core.NativeDetector</span></td><td><code>56dc3e9af599dc20</code></td></tr><tr><td><span class="el_class">org.springframework.core.NestedExceptionUtils</span></td><td><code>5e17f87b558a1829</code></td></tr><tr><td><span class="el_class">org.springframework.core.NestedRuntimeException</span></td><td><code>ee2a8e4c7f030794</code></td></tr><tr><td><span class="el_class">org.springframework.core.OrderComparator</span></td><td><code>e5cb63e3a5a4454c</code></td></tr><tr><td><span class="el_class">org.springframework.core.PrioritizedParameterNameDiscoverer</span></td><td><code>78983df87aa930cc</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType</span></td><td><code>19cd8178ad0405f9</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.1</span></td><td><code>0854904fcb24f626</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.DefaultVariableResolver</span></td><td><code>a9792db84f1bcd75</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.EmptyType</span></td><td><code>cbb4733efc2d78cb</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.SyntheticParameterizedType</span></td><td><code>98c35d7406643ba7</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.TypeVariablesVariableResolver</span></td><td><code>b1843e90c0873fea</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.WildcardBounds</span></td><td><code>7081ca7987fb3ef2</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.WildcardBounds.Kind</span></td><td><code>6d63723a9a8b27d3</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper</span></td><td><code>678661f946404a83</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.MethodInvokeTypeProvider</span></td><td><code>a7a369201b8b6db3</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.MethodParameterTypeProvider</span></td><td><code>2a66a8a12753699e</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.TypeProxyInvocationHandler</span></td><td><code>4b3f995af378b662</code></td></tr><tr><td><span class="el_class">org.springframework.core.SimpleAliasRegistry</span></td><td><code>fbf14eec2c7d2193</code></td></tr><tr><td><span class="el_class">org.springframework.core.SpringProperties</span></td><td><code>8479bce077966276</code></td></tr><tr><td><span class="el_class">org.springframework.core.SpringVersion</span></td><td><code>ddd63244b251ce84</code></td></tr><tr><td><span class="el_class">org.springframework.core.StandardReflectionParameterNameDiscoverer</span></td><td><code>52e69827f219ea90</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AbstractMergedAnnotation</span></td><td><code>9e382880f0e68924</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedElementUtils</span></td><td><code>d321edaf1e2006c5</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedElementUtils.AnnotatedElementForAnnotations</span></td><td><code>2cec026d966eaa2f</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationAttributes</span></td><td><code>9425c17b05fe81c9</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationAwareOrderComparator</span></td><td><code>88fb9eedb6621779</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationFilter</span></td><td><code>3b4e68bc5b0564b8</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationFilter.1</span></td><td><code>731afcbd7c925ddd</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationFilter.2</span></td><td><code>bf4ca23e363cbe8b</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMapping</span></td><td><code>4c4c74d7ba56040f</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMapping.MirrorSets</span></td><td><code>bfdd6283c59d8e02</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMapping.MirrorSets.MirrorSet</span></td><td><code>b6a235d82a184f7c</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMappings</span></td><td><code>4fa688f6996f8a6e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMappings.Cache</span></td><td><code>fc3ee214a60a6271</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationUtils</span></td><td><code>077d4fa8e5c78a3f</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationsProcessor</span></td><td><code>5c9b3f2839a74a92</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationsScanner</span></td><td><code>f939e682acf980cd</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationsScanner.1</span></td><td><code>80df8452806fc35c</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AttributeMethods</span></td><td><code>88f43825a9f4ea24</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.IntrospectionFailureLogger</span></td><td><code>1760e2f15fc055f0</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.IntrospectionFailureLogger.1</span></td><td><code>69130e55aa339291</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.IntrospectionFailureLogger.2</span></td><td><code>e32cb403012dbeeb</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotation</span></td><td><code>10e4431304a80d08</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotation.Adapt</span></td><td><code>7445dca0bf4f89a7</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationCollectors</span></td><td><code>e3c88709d3eba84e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationPredicates</span></td><td><code>113c58d70ba00efb</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationPredicates.FirstRunOfPredicate</span></td><td><code>452a750cf4bd483b</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationPredicates.UniquePredicate</span></td><td><code>107975a5a587c6e0</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationSelectors</span></td><td><code>414c3b4df5f5d4e6</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationSelectors.FirstDirectlyDeclared</span></td><td><code>9815c07587c67f64</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationSelectors.Nearest</span></td><td><code>6c1daa8cf2b93d65</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotations</span></td><td><code>e7cb1ace931ea2a3</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotations.SearchStrategy</span></td><td><code>74f59a10eff86fc4</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationsCollection</span></td><td><code>e234fb9a0eb59118</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationsCollection.AnnotationsSpliterator</span></td><td><code>8866b0171d2d4f21</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MissingMergedAnnotation</span></td><td><code>e86e203151be9bca</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.OrderUtils</span></td><td><code>6f96988914d327bb</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.PackagesAnnotationFilter</span></td><td><code>e0973d2e2a49417c</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.RepeatableContainers</span></td><td><code>e10294d812ce82b1</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.RepeatableContainers.NoRepeatableContainers</span></td><td><code>8dd994637d9c6a5d</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.RepeatableContainers.StandardRepeatableContainers</span></td><td><code>0ee659617feed42f</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.SynthesizedMergedAnnotationInvocationHandler</span></td><td><code>b128e8c917724450</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotation</span></td><td><code>81d2f7f046974fd4</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations</span></td><td><code>5f5ba88b66f894af</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.Aggregate</span></td><td><code>8ee9eaa9076a971b</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.AggregatesCollector</span></td><td><code>3391fae82f28d637</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.AggregatesSpliterator</span></td><td><code>684dd868de473b8b</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.IsPresent</span></td><td><code>42458f4118f8b435</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.MergedAnnotationFinder</span></td><td><code>bf2384fd0fcc8f56</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.Property</span></td><td><code>3787113b6db25ba1</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.TypeDescriptor</span></td><td><code>ad737b62c63b6f17</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.TypeDescriptor.AnnotatedElementAdapter</span></td><td><code>77c24a587608adc3</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.converter.GenericConverter.ConvertiblePair</span></td><td><code>47277af2c8796b30</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.AbstractConditionalEnumConverter</span></td><td><code>e52b7ffca207b2a2</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToArrayConverter</span></td><td><code>e1d6eb8e143a0f3e</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToCollectionConverter</span></td><td><code>ae8a41c17ac2cfe8</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToObjectConverter</span></td><td><code>0adebbdf69ee28af</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToStringConverter</span></td><td><code>f392badc590390ad</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ByteBufferConverter</span></td><td><code>a4362816313574b0</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CharacterToNumberFactory</span></td><td><code>76c982068142e0a5</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToArrayConverter</span></td><td><code>c42a5366a61c19ae</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToCollectionConverter</span></td><td><code>cd0eb2f4b5a09ecb</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToObjectConverter</span></td><td><code>2db70afdb2d912fd</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToStringConverter</span></td><td><code>7abcefdc33eb1453</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ConversionUtils</span></td><td><code>356c819475f481da</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.DefaultConversionService</span></td><td><code>88e4a62ea2f94713</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.EnumToIntegerConverter</span></td><td><code>2b5a19f768913bb9</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.EnumToStringConverter</span></td><td><code>d28d48a056800d66</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.FallbackObjectToStringConverter</span></td><td><code>421f4fd4d944ab76</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService</span></td><td><code>d8cf7bfe6a050064</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConverterAdapter</span></td><td><code>e87a728f9ce140f6</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConverterCacheKey</span></td><td><code>19b14348651d4f0a</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConverterFactoryAdapter</span></td><td><code>b5bc742e0cee54bb</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.Converters</span></td><td><code>e819ed8095c3920b</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConvertersForPair</span></td><td><code>a8f530e8e4d2a29a</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.NoOpConverter</span></td><td><code>292817a54f80e2f0</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.IdToEntityConverter</span></td><td><code>4a1bd8d7f46bc47d</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.IntegerToEnumConverterFactory</span></td><td><code>3c7264b963eed208</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.MapToMapConverter</span></td><td><code>122c4b0d008a79cd</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.NumberToCharacterConverter</span></td><td><code>4fd3d858e3612945</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.NumberToNumberConverterFactory</span></td><td><code>01d65b24a2069618</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.NumberToNumberConverterFactory.NumberToNumber</span></td><td><code>b74ff8811350c89d</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToArrayConverter</span></td><td><code>7968f1faa290b4c3</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToCollectionConverter</span></td><td><code>441ecfcac1b1f227</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToObjectConverter</span></td><td><code>6a088fc534e747e5</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToOptionalConverter</span></td><td><code>7dbe8179dd5b4d23</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToStringConverter</span></td><td><code>fe8e4e6e39906e84</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.PropertiesToStringConverter</span></td><td><code>1228e6e1ed886ffb</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StreamConverter</span></td><td><code>b0c07b0a3e955052</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToArrayConverter</span></td><td><code>2abe74b63a2caacc</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToBooleanConverter</span></td><td><code>1727acb0c080e86f</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCharacterConverter</span></td><td><code>7fbd0d87c99698fb</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCharsetConverter</span></td><td><code>8ed1197e5209abf2</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCollectionConverter</span></td><td><code>37e3a49e9785bfcb</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCurrencyConverter</span></td><td><code>d433c8709adebbe0</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToEnumConverterFactory</span></td><td><code>ed1a93fd706298c0</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToLocaleConverter</span></td><td><code>8cba5c1837ca93e4</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToNumberConverterFactory</span></td><td><code>85b4d6b99c6b9438</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToNumberConverterFactory.StringToNumber</span></td><td><code>a335bb3937da3868</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToPropertiesConverter</span></td><td><code>bb1101d3e2cec6e4</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToTimeZoneConverter</span></td><td><code>40f79299c1e045ac</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToUUIDConverter</span></td><td><code>2b0efd5b83a8af85</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ZoneIdToTimeZoneConverter</span></td><td><code>80c26850887ed2fa</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ZonedDateTimeToCalendarConverter</span></td><td><code>ada1a53eb486d46f</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.AbstractEnvironment</span></td><td><code>840c8f8ac5719465</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.AbstractPropertyResolver</span></td><td><code>7cab120f42834cd0</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.CommandLineArgs</span></td><td><code>98fad3d07d0cc8f5</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.CommandLinePropertySource</span></td><td><code>97010ce5ae66aaeb</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.EnumerablePropertySource</span></td><td><code>39fd1f60d9050967</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.MapPropertySource</span></td><td><code>278fb2ece4af95ee</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.MissingRequiredPropertiesException</span></td><td><code>c641b63e794fdd79</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.MutablePropertySources</span></td><td><code>fa5119aece5158e1</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertiesPropertySource</span></td><td><code>79f6cc42fc481f03</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySource</span></td><td><code>fb657a8743ec132a</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySource.ComparisonPropertySource</span></td><td><code>7ebdfaf64daa2df3</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySource.StubPropertySource</span></td><td><code>64e8a71dbd922110</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySourcesPropertyResolver</span></td><td><code>9d4a0a1efe2168f7</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.SimpleCommandLineArgsParser</span></td><td><code>a425c3b9c2105362</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.SimpleCommandLinePropertySource</span></td><td><code>55d56aab4f01eadb</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.StandardEnvironment</span></td><td><code>4e4187f823953fa3</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.SystemEnvironmentPropertySource</span></td><td><code>d50a586472b69aa7</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.AbstractFileResolvingResource</span></td><td><code>2b7687d889964bb9</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.AbstractResource</span></td><td><code>85dc6e559228b8e2</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.ClassPathResource</span></td><td><code>725d21742ca938ad</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.DefaultResourceLoader</span></td><td><code>17a60522b77c03d7</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.DefaultResourceLoader.ClassPathContextResource</span></td><td><code>4fc7109393e02f83</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.DescriptiveResource</span></td><td><code>637ef9bb0b5c4c41</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileSystemResource</span></td><td><code>43dccf62674b6788</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileUrlResource</span></td><td><code>626b3662ee902014</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.ResourceEditor</span></td><td><code>28c8e56b8d65300d</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.UrlResource</span></td><td><code>7e085f0037b36d55</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.DefaultPropertySourceFactory</span></td><td><code>e6b9f1497fb42da5</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.EncodedResource</span></td><td><code>67281da9935bcfe5</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PathMatchingResourcePatternResolver</span></td><td><code>86ae8cc1cf012953</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PropertiesLoaderSupport</span></td><td><code>aea0b9b08385ba3e</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PropertiesLoaderUtils</span></td><td><code>a145b823c88697bb</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.ResourceArrayPropertyEditor</span></td><td><code>89d6a171d017e578</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.ResourcePatternUtils</span></td><td><code>1a5a1d149aa3c6c8</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.ResourcePropertiesPersister</span></td><td><code>250aba5449e3ee64</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.ResourcePropertySource</span></td><td><code>7309b8953146de45</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader</span></td><td><code>c83b5737c6d87a74</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage</span></td><td><code>15c2a219b9c21e90</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.FormatMessage</span></td><td><code>b9d81aae3f539efe</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.FormatMessage1</span></td><td><code>e47c0db4e5c0aeb5</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.FormatMessage2</span></td><td><code>d5ada364408d1dd3</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.SupplierMessage</span></td><td><code>6e20027a829c7194</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.ApplicationStartup</span></td><td><code>c20b37681880e60f</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.DefaultApplicationStartup</span></td><td><code>24acf016a90bef82</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.DefaultApplicationStartup.DefaultStartupStep</span></td><td><code>10d988ef492a9bf1</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.DefaultApplicationStartup.DefaultStartupStep.DefaultTags</span></td><td><code>e29d290f9e160e16</code></td></tr><tr><td><span class="el_class">org.springframework.core.style.DefaultToStringStyler</span></td><td><code>a4a19a18734723f2</code></td></tr><tr><td><span class="el_class">org.springframework.core.style.DefaultValueStyler</span></td><td><code>0b5b5c99eb0b9038</code></td></tr><tr><td><span class="el_class">org.springframework.core.style.StylerUtils</span></td><td><code>3191960537a34243</code></td></tr><tr><td><span class="el_class">org.springframework.core.style.ToStringCreator</span></td><td><code>0ceb9190592c867c</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.AnnotatedTypeMetadata</span></td><td><code>887d45606c4f242e</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.AnnotationMetadata</span></td><td><code>2c9a5d4b4ac9a686</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.ClassMetadata</span></td><td><code>9c939da6fc5ce9f5</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.StandardAnnotationMetadata</span></td><td><code>ab4dd7a4b170e1b7</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.StandardClassMetadata</span></td><td><code>c2d8bac47016fee4</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.CachingMetadataReaderFactory</span></td><td><code>cea03dae07ab7dc9</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.CachingMetadataReaderFactory.LocalResourceCache</span></td><td><code>41775f83527e3ea9</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.MergedAnnotationReadingVisitor</span></td><td><code>e7fcbeac47e4e37c</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.MergedAnnotationReadingVisitor.ArrayVisitor</span></td><td><code>dfaeebd596ad1cf0</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleAnnotationMetadata</span></td><td><code>af2f984357afd614</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleAnnotationMetadataReadingVisitor</span></td><td><code>b80f39845808adac</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleAnnotationMetadataReadingVisitor.Source</span></td><td><code>305af125db061c7b</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMetadataReader</span></td><td><code>2588fb2f6b176f17</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMetadataReaderFactory</span></td><td><code>4f111f8623f7a3f1</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMethodMetadata</span></td><td><code>6a8e9c6ff07cfbba</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMethodMetadataReadingVisitor</span></td><td><code>67659b1241630412</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMethodMetadataReadingVisitor.Source</span></td><td><code>c1c24ffb094b4fc8</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter</span></td><td><code>71f46a685421e23d</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.filter.AnnotationTypeFilter</span></td><td><code>48e3b502517951fa</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.filter.AssignableTypeFilter</span></td><td><code>107f2198b7d27a3a</code></td></tr><tr><td><span class="el_class">org.springframework.expression.TypedValue</span></td><td><code>b230e89cbe8fc16c</code></td></tr><tr><td><span class="el_class">org.springframework.expression.common.LiteralExpression</span></td><td><code>2ba7cdedc73cdf6b</code></td></tr><tr><td><span class="el_class">org.springframework.expression.common.TemplateAwareExpressionParser</span></td><td><code>5a3fc20b2db14e85</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.SpelCompilerMode</span></td><td><code>7e9999c764b8f9f0</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.SpelParserConfiguration</span></td><td><code>f8bf914b2bb43f5c</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.standard.SpelExpressionParser</span></td><td><code>f57f63d7b7140927</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.ReflectivePropertyAccessor</span></td><td><code>6f913f8f08e5c5e4</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardEvaluationContext</span></td><td><code>e3601c87372b6872</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardOperatorOverloader</span></td><td><code>8ae34cd735665e55</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardTypeComparator</span></td><td><code>fab8e950a81b8f0b</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardTypeConverter</span></td><td><code>e3920902b48de154</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardTypeLocator</span></td><td><code>bb57f759b33af433</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar</span></td><td><code>7b81eb77401c03d8</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.CalendarToDateConverter</span></td><td><code>aa139fff8e0cf5fe</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.CalendarToLongConverter</span></td><td><code>809d04568d720fe0</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.DateToCalendarConverter</span></td><td><code>65e50594d6a2c1f5</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.DateToLongConverter</span></td><td><code>406f54f3f59a7974</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.LongToCalendarConverter</span></td><td><code>8dbe9220177fc30d</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.LongToDateConverter</span></td><td><code>e6664e9d490ced53</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateTimeFormatAnnotationFormatterFactory</span></td><td><code>06575c56f5397cec</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters</span></td><td><code>5837e828ebd09a80</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToInstantConverter</span></td><td><code>63c05a834f8a1cb8</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToLocalDateConverter</span></td><td><code>7bd2aea2858f9c02</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToLocalDateTimeConverter</span></td><td><code>3520e7f74944eaf9</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToLocalTimeConverter</span></td><td><code>8edaaf0002f38256</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToOffsetDateTimeConverter</span></td><td><code>4b819ddab829d0c0</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToZonedDateTimeConverter</span></td><td><code>5f9082d004a66e34</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.InstantToLongConverter</span></td><td><code>e94bd8e6084264a4</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.LocalDateTimeToLocalDateConverter</span></td><td><code>94a8fd6ccba8f571</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.LocalDateTimeToLocalTimeConverter</span></td><td><code>a63d3b10a15cb3d3</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.LongToInstantConverter</span></td><td><code>014bbdc0ff776fe1</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToInstantConverter</span></td><td><code>be4f28326b105582</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToLocalDateConverter</span></td><td><code>32ceb3683802c44c</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToLocalDateTimeConverter</span></td><td><code>5c1237f146ce6af3</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToLocalTimeConverter</span></td><td><code>19018b09c104dc03</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToZonedDateTimeConverter</span></td><td><code>d8d25aab03d32e15</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToInstantConverter</span></td><td><code>f40ff28c1eb47fce</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToLocalDateConverter</span></td><td><code>806909da9d6ac744</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToLocalDateTimeConverter</span></td><td><code>939ab79246198aa6</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToLocalTimeConverter</span></td><td><code>5260a2489eddd336</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToOffsetDateTimeConverter</span></td><td><code>62f37af537479cd3</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterFactory</span></td><td><code>b9f5b73428f10a6a</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterRegistrar</span></td><td><code>7493ec7c9c432c0b</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterRegistrar.1</span></td><td><code>99489a9d8b8b057f</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterRegistrar.Type</span></td><td><code>f13687bd3fc13a36</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DurationFormatter</span></td><td><code>d914d15e52a41ae1</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.InstantFormatter</span></td><td><code>2c67f3cc9dfe22e3</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.Jsr310DateTimeFormatAnnotationFormatterFactory</span></td><td><code>c228d36e2b8a474b</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.MonthDayFormatter</span></td><td><code>fdd05c5412c8fd1d</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.MonthFormatter</span></td><td><code>699e64f30547240f</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.PeriodFormatter</span></td><td><code>7e755d60ac33c09a</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.TemporalAccessorParser</span></td><td><code>a3adc7dac608d280</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.TemporalAccessorPrinter</span></td><td><code>3c8ede00255ec096</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.YearFormatter</span></td><td><code>759cef3e2bae1f39</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.YearMonthFormatter</span></td><td><code>c9eff5baa0de2d62</code></td></tr><tr><td><span class="el_class">org.springframework.format.number.NumberFormatAnnotationFormatterFactory</span></td><td><code>5af418b75e49bc32</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.DefaultFormattingConversionService</span></td><td><code>5109dded496f7481</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService</span></td><td><code>c89a3b077ad69c25</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.AnnotationParserConverter</span></td><td><code>eb4057548c1f44fc</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.AnnotationPrinterConverter</span></td><td><code>b33b0212c846ba7c</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.ParserConverter</span></td><td><code>4c93ec4fd5f04cd9</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.PrinterConverter</span></td><td><code>e295574185ff2dde</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiAccessor</span></td><td><code>4cf30f394d054c47</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiLocatorSupport</span></td><td><code>0097d3884117ad83</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiTemplate</span></td><td><code>54eac36c80868646</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.support.SimpleJndiBeanFactory</span></td><td><code>01b8231c22892faa</code></td></tr><tr><td><span class="el_class">org.springframework.objenesis.SpringObjenesis</span></td><td><code>d275860319976524</code></td></tr><tr><td><span class="el_class">org.springframework.objenesis.strategy.BaseInstantiatorStrategy</span></td><td><code>4acbec8fd09e2dac</code></td></tr><tr><td><span class="el_class">org.springframework.objenesis.strategy.StdInstantiatorStrategy</span></td><td><code>04e8fe1751223efd</code></td></tr><tr><td><span class="el_class">org.springframework.test.annotation.DirtiesContext.ClassMode</span></td><td><code>fa61c78e7ef537c7</code></td></tr><tr><td><span class="el_class">org.springframework.test.annotation.DirtiesContext.MethodMode</span></td><td><code>1315bd0d0a0cc667</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.BootstrapUtils</span></td><td><code>bb206de825078952</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.ContextConfigurationAttributes</span></td><td><code>cb36c238ba15672e</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.MergedContextConfiguration</span></td><td><code>a69c3403786defb9</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContext</span></td><td><code>d3151631d123be07</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextAnnotationUtils</span></td><td><code>b427ee429959397d</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextAnnotationUtils.AnnotationDescriptor</span></td><td><code>79149c2c58c75007</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextManager</span></td><td><code>18fb8fc15ae15ac7</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextManager.1</span></td><td><code>615a592a7cf035c4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.ContextCacheUtils</span></td><td><code>800184f804b35b26</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate</span></td><td><code>348cb74d2ee54f69</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.DefaultContextCache</span></td><td><code>988d5ed3ef5ebe26</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.DefaultContextCache.LruCache</span></td><td><code>0e30d1acbc6750cd</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.AfterTestClassEvent</span></td><td><code>2fed854ca1097184</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.AfterTestExecutionEvent</span></td><td><code>5a953154b6b11ac3</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.AfterTestMethodEvent</span></td><td><code>c7a60a6085012006</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.ApplicationEventsTestExecutionListener</span></td><td><code>aadf8cd6adfe04ab</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.BeforeTestExecutionEvent</span></td><td><code>d009fe42f7bcb709</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.BeforeTestMethodEvent</span></td><td><code>e1266b16d04be6e6</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.EventPublishingTestExecutionListener</span></td><td><code>3d0a732f9582ef54</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.PrepareTestInstanceEvent</span></td><td><code>3d16415d7211bc4a</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.TestContextEvent</span></td><td><code>9274637ea396e786</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.junit.jupiter.SpringExtension</span></td><td><code>9948f00265bef378</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractContextLoader</span></td><td><code>4f7b02670207f174</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener</span></td><td><code>85bc21e68ba51c56</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractTestContextBootstrapper</span></td><td><code>dd93dc1077fd9cbf</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractTestExecutionListener</span></td><td><code>268bd3f46b84e8df</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.ActiveProfilesUtils</span></td><td><code>8fe36c35a1b5b01e</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AnnotationConfigContextLoaderUtils</span></td><td><code>298d07a2325d8c07</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.ApplicationContextInitializerUtils</span></td><td><code>4b0dfb9706facd88</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultActiveProfilesResolver</span></td><td><code>fdaf6ce46d666edb</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultBootstrapContext</span></td><td><code>137c52a9a3e4dc73</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultTestContext</span></td><td><code>edc266493621631d</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultTestContextBootstrapper</span></td><td><code>7119cf941443d899</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DependencyInjectionTestExecutionListener</span></td><td><code>1b69c36145a039bd</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener</span></td><td><code>d4b78de02359256d</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DirtiesContextTestExecutionListener</span></td><td><code>5eef1440631d1108</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DynamicPropertiesContextCustomizerFactory</span></td><td><code>cf9dcc0b24177d21</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.MergedTestPropertySources</span></td><td><code>d47b3ecaa062d4a3</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.TestPropertySourceUtils</span></td><td><code>cd442976365acac8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.web.socket.MockServerContainerContextCustomizerFactory</span></td><td><code>ad197a70e066c0b0</code></td></tr><tr><td><span class="el_class">org.springframework.test.util.AopTestUtils</span></td><td><code>444796b132910baa</code></td></tr><tr><td><span class="el_class">org.springframework.util.AntPathMatcher</span></td><td><code>6e27021ca2fe7864</code></td></tr><tr><td><span class="el_class">org.springframework.util.AntPathMatcher.AntPathStringMatcher</span></td><td><code>e3ebaeea91ca3c06</code></td></tr><tr><td><span class="el_class">org.springframework.util.AntPathMatcher.PathSeparatorPatternCache</span></td><td><code>8a03edb4713c5559</code></td></tr><tr><td><span class="el_class">org.springframework.util.Assert</span></td><td><code>0c540f759c2a9513</code></td></tr><tr><td><span class="el_class">org.springframework.util.ClassUtils</span></td><td><code>b5052714983e855c</code></td></tr><tr><td><span class="el_class">org.springframework.util.CollectionUtils</span></td><td><code>f766e23d32232343</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache</span></td><td><code>f7b1cb622f3d87b8</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap</span></td><td><code>ef826bab03c14acd</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.1</span></td><td><code>f42c6ede7f2039ff</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Entry</span></td><td><code>1f5aef6fe5e79a77</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.EntryIterator</span></td><td><code>545621dec64ee438</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.EntrySet</span></td><td><code>79945b0847668b40</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceManager</span></td><td><code>6b0dc152f39160f7</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceType</span></td><td><code>7ac30709be5b28b7</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Restructure</span></td><td><code>ce13d060d20426ab</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Segment</span></td><td><code>7e7ff79bab261740</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.SoftEntryReference</span></td><td><code>9b237f2dbb04c81b</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Task</span></td><td><code>e4d68ae70c3d0c82</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.TaskOption</span></td><td><code>9b65a8e89236775b</code></td></tr><tr><td><span class="el_class">org.springframework.util.DefaultPropertiesPersister</span></td><td><code>a4fe8df07f38409e</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedMultiValueMap</span></td><td><code>491095ddab4025e4</code></td></tr><tr><td><span class="el_class">org.springframework.util.MethodInvoker</span></td><td><code>b53d6b6c325aa8d1</code></td></tr><tr><td><span class="el_class">org.springframework.util.MimeType</span></td><td><code>7835f8e109793629</code></td></tr><tr><td><span class="el_class">org.springframework.util.MimeType.SpecificityComparator</span></td><td><code>7bc2e9eed3b574b4</code></td></tr><tr><td><span class="el_class">org.springframework.util.MimeTypeUtils</span></td><td><code>cc86b590ac1df936</code></td></tr><tr><td><span class="el_class">org.springframework.util.MultiValueMapAdapter</span></td><td><code>e5d474fed5763a0e</code></td></tr><tr><td><span class="el_class">org.springframework.util.NumberUtils</span></td><td><code>befcb6cf3da1bac2</code></td></tr><tr><td><span class="el_class">org.springframework.util.ObjectUtils</span></td><td><code>bd17bfeffea59cfc</code></td></tr><tr><td><span class="el_class">org.springframework.util.PropertyPlaceholderHelper</span></td><td><code>54c83f5043ae5d2f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ReflectionUtils</span></td><td><code>b31ee30dc98472b1</code></td></tr><tr><td><span class="el_class">org.springframework.util.ReflectionUtils.MethodFilter</span></td><td><code>f0f476a36863eea7</code></td></tr><tr><td><span class="el_class">org.springframework.util.ResourceUtils</span></td><td><code>166ea351e369dd53</code></td></tr><tr><td><span class="el_class">org.springframework.util.StringUtils</span></td><td><code>5f5bebc058b03490</code></td></tr><tr><td><span class="el_class">org.springframework.util.function.SingletonSupplier</span></td><td><code>534e4d41b6838d04</code></td></tr><tr><td><span class="el_class">org.springframework.util.unit.DataSize</span></td><td><code>d2e86801a6683507</code></td></tr><tr><td><span class="el_class">org.springframework.util.xml.SimpleSaxErrorHandler</span></td><td><code>0b279d3116228795</code></td></tr><tr><td><span class="el_class">org.springframework.util.xml.XmlValidationModeDetector</span></td><td><code>309ba9c02cbc8854</code></td></tr><tr><td><span class="el_class">org.thymeleaf.DialectConfiguration</span></td><td><code>0087b9a75a7970ca</code></td></tr><tr><td><span class="el_class">org.thymeleaf.TemplateEngine</span></td><td><code>101d62dfb973243e</code></td></tr><tr><td><span class="el_class">org.thymeleaf.cache.AbstractCacheManager</span></td><td><code>50e44ee09275e85d</code></td></tr><tr><td><span class="el_class">org.thymeleaf.cache.StandardCacheManager</span></td><td><code>9640cb319f4e4529</code></td></tr><tr><td><span class="el_class">org.thymeleaf.cache.StandardParsedTemplateEntryValidator</span></td><td><code>644a5ed1e9fe4f83</code></td></tr><tr><td><span class="el_class">org.thymeleaf.context.StandardEngineContextFactory</span></td><td><code>65e3ec4f7fad3732</code></td></tr><tr><td><span class="el_class">org.thymeleaf.dialect.AbstractDialect</span></td><td><code>28742d3bc0503538</code></td></tr><tr><td><span class="el_class">org.thymeleaf.dialect.AbstractProcessorDialect</span></td><td><code>09f3e16bb6c2c771</code></td></tr><tr><td><span class="el_class">org.thymeleaf.extras.java8time.dialect.Java8TimeDialect</span></td><td><code>d80f435f8a9b1eee</code></td></tr><tr><td><span class="el_class">org.thymeleaf.extras.java8time.dialect.Java8TimeExpressionFactory</span></td><td><code>9ec61e01f97f1213</code></td></tr><tr><td><span class="el_class">org.thymeleaf.linkbuilder.AbstractLinkBuilder</span></td><td><code>64e80cd1d25536db</code></td></tr><tr><td><span class="el_class">org.thymeleaf.linkbuilder.StandardLinkBuilder</span></td><td><code>9f3d062b735d9e78</code></td></tr><tr><td><span class="el_class">org.thymeleaf.messageresolver.AbstractMessageResolver</span></td><td><code>15936d0df31fba30</code></td></tr><tr><td><span class="el_class">org.thymeleaf.messageresolver.StandardMessageResolver</span></td><td><code>5707d6b2b0d5fafc</code></td></tr><tr><td><span class="el_class">org.thymeleaf.spring5.SpringTemplateEngine</span></td><td><code>60c557b399e97def</code></td></tr><tr><td><span class="el_class">org.thymeleaf.spring5.dialect.SpringStandardDialect</span></td><td><code>d6d048b13785b677</code></td></tr><tr><td><span class="el_class">org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver</span></td><td><code>d0f9962a3c3896c9</code></td></tr><tr><td><span class="el_class">org.thymeleaf.spring5.util.SpringVersionUtils</span></td><td><code>884a802fffdd14e4</code></td></tr><tr><td><span class="el_class">org.thymeleaf.standard.StandardDialect</span></td><td><code>3fe4d3b27d8fca1a</code></td></tr><tr><td><span class="el_class">org.thymeleaf.templatemode.TemplateMode</span></td><td><code>a5a9239747b0ea90</code></td></tr><tr><td><span class="el_class">org.thymeleaf.templateparser.markup.decoupled.StandardDecoupledTemplateLogicResolver</span></td><td><code>34f0dbf7659b2bd0</code></td></tr><tr><td><span class="el_class">org.thymeleaf.templateresolver.AbstractConfigurableTemplateResolver</span></td><td><code>ce7dbf1055cccb07</code></td></tr><tr><td><span class="el_class">org.thymeleaf.templateresolver.AbstractTemplateResolver</span></td><td><code>641bf5c6aa6ca57e</code></td></tr><tr><td><span class="el_class">org.thymeleaf.util.ClassLoaderUtils</span></td><td><code>ca2bece9b35e242f</code></td></tr><tr><td><span class="el_class">org.thymeleaf.util.PatternSpec</span></td><td><code>4c2364df598d20f2</code></td></tr><tr><td><span class="el_class">org.thymeleaf.util.Validate</span></td><td><code>0e3f22925023ac06</code></td></tr><tr><td><span class="el_class">org.thymeleaf.util.VersionUtils</span></td><td><code>7d151549243813d2</code></td></tr><tr><td><span class="el_class">org.thymeleaf.util.VersionUtils.VersionSpec</span></td><td><code>1ddaeb4f3b653dd6</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.AbstractCharsetProvider</span></td><td><code>483365229eb3014e</code></td></tr><tr><td><span class="el_class">sun.nio.cs.ext.ExtendedCharsets</span></td><td><code>840a77f3fdcd46c8</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_es</span></td><td><code>a7dfd1579acb248b</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_es_419</span></td><td><code>d5c343ac46ef7c90</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_es_CL</span></td><td><code>c7b238951f21ebab</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>9ed83010eeaa402e</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>090384bcacb31f21</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.7.202105040129</span>desafio3 (20-04-2022 15:54:59)</div></body></html>
        \ No newline at end of file
        diff --git a/src/main/java/cl/zco/desafio3/Configuracion.java b/src/main/java/cl/zco/desafio3/Configuracion.java
        new file mode 100644
        index 0000000..7fd310c
        --- /dev/null
        +++ b/src/main/java/cl/zco/desafio3/Configuracion.java
        @@ -0,0 +1,63 @@
        +package cl.zco.desafio3;
        +
        +import org.springframework.boot.context.properties.ConfigurationProperties;
        +
        +// TODO: Auto-generated Javadoc
        +/**
        + * Clase de configuracion, en esta tendremos las configuraciones de un archivo
        + * propierties y que tengan el prefijo 'desafio3'.
        + *
        + * @author Patricio Angel
        + */
        +@ConfigurationProperties(prefix = "desafio3")
        +public class Configuracion {
        +
        +	/** The cantidadjson. */
        +	private int cantidadjson;
        +
        +	/**
        +	 * Constructor de la clase Configuracion con parametros.
        +	 *
        +	 * @param cantidadjson the cantidadjson
        +	 */
        +	public Configuracion( int cantidadjson) {
        +		super();
        +		this.cantidadjson = cantidadjson;
        +	}
        +
        +	/**
        +	 * Constructor de la clase Configuracion sin parametros.
        +	 */
        +	public Configuracion() {
        +	}
        +	
        +	/**
        +	 * Gets the cantidadjson.
        +	 *
        +	 * @return the cantidadjson
        +	 */
        +	public int getCantidadjson() {
        +		return cantidadjson;
        +	}
        +
        +	/**
        +	 * Sets the cantidadjson.
        +	 *
        +	 * @param cantidadjson the new cantidadjson
        +	 */
        +	public void setCantidadjson(int cantidadjson) {
        +		this.cantidadjson = cantidadjson;
        +	}
        +
        +	/**
        +	 * To string.
        +	 *
        +	 * @return the string
        +	 */
        +	@Override
        +	public String toString() {
        +		return "Configuracion [cantidadjson=" + cantidadjson + "]";
        +	}
        +
        +
        +}
        diff --git a/src/main/java/cl/zco/desafio3/Desafio3Application.java b/src/main/java/cl/zco/desafio3/Desafio3Application.java
        new file mode 100644
        index 0000000..e283be9
        --- /dev/null
        +++ b/src/main/java/cl/zco/desafio3/Desafio3Application.java
        @@ -0,0 +1,60 @@
        +package cl.zco.desafio3;
        +
        +import javax.swing.JOptionPane;
        +
        +import org.springframework.boot.autoconfigure.SpringBootApplication;
        +import org.springframework.boot.builder.SpringApplicationBuilder;
        +import org.springframework.boot.context.properties.EnableConfigurationProperties;
        +import org.springframework.context.ConfigurableApplicationContext;
        +import org.springframework.context.annotation.PropertySource;
        +
        +import cl.zco.desafio3.negocio.ConsumirJarPrevired;
        +import cl.zco.desafio3.negocio.ManejadorArchivos;
        +import cl.zco.desafio3.util.Constantes;
        +import cl.zco.desafio3.util.Util;
        +
        +/**
        + * The Class Desafio3Application.
        + */
        +@SpringBootApplication
        +@PropertySource(value = {"classpath:desafio3.properties"})
        +@EnableConfigurationProperties(value = {Configuracion.class})
        +public class Desafio3Application {
        +
        +	/**
        +	 * The main method.
        +	 * @param args the arguments
        +	 * @throws Throwable the throwable
        +	 */
        +	public static void main(String[] args) throws Throwable {
        +		SpringApplicationBuilder constructor = new SpringApplicationBuilder(Desafio3Application.class);
        +		constructor.headless(false);
        +		ConfigurableApplicationContext contextoAplicacion = constructor.run(args);
        +		Proveedor proveedor = new Proveedor();
        +		proveedor.setApplicationContext(contextoAplicacion);
        +		iniciarAplicacion();
        +	}
        +	
        +	/**
        +	 * Iniciar aplicacion.
        +	 * @throws Throwable the throwable
        +	 */
        +	public static void iniciarAplicacion() throws Throwable {
        +		boolean modoDesarrollador = ManejadorArchivos.existeCarpeta(Constantes.RUTA_WKS_JSON);
        +		if(modoDesarrollador) {
        +			Util.controlExcepcion(Constantes.obtenerEtiqueta("mensaj.portada.desa"));
        +		}	else {
        +			Util.controlExcepcion(Constantes.obtenerEtiqueta("mensaj.portada.jar"));
        +		}
        +		
        +		ConsumirJarPrevired consumir = new ConsumirJarPrevired();
        +		boolean completado = consumir.iniciar();
        +		if(completado) {
        +			Util.controlExcepcion(Constantes.obtenerEtiqueta("mensaj.final.ok.ini").concat(modoDesarrollador ? Constantes.RUTA_WKS_JSON : Constantes.RUTA_JAR_JSON));
        +		}else {
        +			Util.controlExcepcion(Constantes.obtenerEtiqueta("mensaj.final.error"),  JOptionPane.ERROR_MESSAGE);
        +		}
        +		
        +	}
        +	
        +}
        diff --git a/src/main/java/cl/zco/desafio3/Proveedor.java b/src/main/java/cl/zco/desafio3/Proveedor.java
        new file mode 100644
        index 0000000..7cf7380
        --- /dev/null
        +++ b/src/main/java/cl/zco/desafio3/Proveedor.java
        @@ -0,0 +1,39 @@
        +package cl.zco.desafio3;
        +
        +import org.springframework.beans.BeansException;
        +import org.springframework.beans.factory.annotation.Autowired;
        +import org.springframework.context.ApplicationContext;
        +import org.springframework.context.ApplicationContextAware;
        +import org.springframework.stereotype.Component;
        +
        +/**
        + * Clase con el proveedor del contexto.
        + * @author Patricio Angel
        + *
        + */
        +@Component
        +public class Proveedor implements ApplicationContextAware{
        +	
        +	/** The contexto. */
        +	@Autowired
        +	private static ApplicationContext contexto;
        +
        +	/**
        +	 * Sets the application context.
        +	 * @param applicationContext the new application context
        +	 * @throws BeansException the beans exception
        +	 */
        +	@Override
        +	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        +		contexto = applicationContext;
        +	}
        +
        +	/**
        +	 * Gets the contexto.
        +	 * @return the contexto
        +	 */
        +	public static ApplicationContext getContexto() {
        +		return contexto;
        +	}
        + 
        +}
        diff --git a/src/main/java/cl/zco/desafio3/dto/FormatoJsonDTO.java b/src/main/java/cl/zco/desafio3/dto/FormatoJsonDTO.java
        new file mode 100644
        index 0000000..bccfb33
        --- /dev/null
        +++ b/src/main/java/cl/zco/desafio3/dto/FormatoJsonDTO.java
        @@ -0,0 +1,81 @@
        +package cl.zco.desafio3.dto;
        +
        +import java.util.List;
        +
        +/**
        + * Clase FormatoJsonDTO.
        + * @author Patricio Angel
        + */
        +public class FormatoJsonDTO {
        +	
        +	/** The inicio. */
        +	private String inicio;
        +	
        +	/** The fin. */
        +	private String fin;
        +	
        +	/** The U fs. */
        +	private List<FormatoUfJsonDTO> UFs;
        +
        +	/**
        +	 * Instantiates a new formato json DTO.
        +	 */
        +	public FormatoJsonDTO() {
        +		super();
        +	}
        +
        +	/**
        +	 * Gets the inicio.
        +	 *
        +	 * @return the inicio
        +	 */
        +	public String getInicio() {
        +		return inicio;
        +	}
        +
        +	/**
        +	 * Sets the inicio.
        +	 *
        +	 * @param inicio the new inicio
        +	 */
        +	public void setInicio(String inicio) {
        +		this.inicio = inicio;
        +	}
        +
        +	/**
        +	 * Gets the fin.
        +	 *
        +	 * @return the fin
        +	 */
        +	public String getFin() {
        +		return fin;
        +	}
        +
        +	/**
        +	 * Sets the fin.
        +	 *
        +	 * @param fin the new fin
        +	 */
        +	public void setFin(String fin) {
        +		this.fin = fin;
        +	}
        +
        +	/**
        +	 * Gets the u fs.
        +	 *
        +	 * @return the u fs
        +	 */
        +	public List<FormatoUfJsonDTO> getUFs() {
        +		return UFs;
        +	}
        +
        +	/**
        +	 * Sets the u fs.
        +	 *
        +	 * @param uFs the new u fs
        +	 */
        +	public void setUFs(List<FormatoUfJsonDTO> uFs) {
        +		UFs = uFs;
        +	}
        +	
        +}
        diff --git a/src/main/java/cl/zco/desafio3/dto/FormatoUfJsonDTO.java b/src/main/java/cl/zco/desafio3/dto/FormatoUfJsonDTO.java
        new file mode 100644
        index 0000000..388f7d4
        --- /dev/null
        +++ b/src/main/java/cl/zco/desafio3/dto/FormatoUfJsonDTO.java
        @@ -0,0 +1,62 @@
        +package cl.zco.desafio3.dto;
        +
        +/**
        + * Clase FormatoUfJsonDTO.
        + * @author Patricio Angel
        + */
        +public class FormatoUfJsonDTO {
        +	
        +	/** The fecha. */
        +	private String fecha;
        +	
        +	/** The dato. */
        +	private String dato;
        +	
        +	/**
        +	 * Instantiates a new formato uf json DTO.
        +	 *
        +	 * @param fecha the fecha
        +	 * @param dato the dato
        +	 */
        +	public FormatoUfJsonDTO(String fecha, String dato) {
        +		this.fecha = fecha;
        +		this.dato = dato;
        +	}
        +	
        +	/**
        +	 * Gets the fecha.
        +	 *
        +	 * @return the fecha
        +	 */
        +	public String getFecha() {
        +		return fecha;
        +	}
        +	
        +	/**
        +	 * Sets the fecha.
        +	 *
        +	 * @param fecha the new fecha
        +	 */
        +	public void setFecha(String fecha) {
        +		this.fecha = fecha;
        +	}
        +	
        +	/**
        +	 * Gets the dato.
        +	 *
        +	 * @return the dato
        +	 */
        +	public String getDato() {
        +		return dato;
        +	}
        +	
        +	/**
        +	 * Sets the dato.
        +	 *
        +	 * @param dato the new dato
        +	 */
        +	public void setDato(String dato) {
        +		this.dato = dato;
        +	}
        +	
        +}
        diff --git a/src/main/java/cl/zco/desafio3/negocio/ConsumirJarPrevired.java b/src/main/java/cl/zco/desafio3/negocio/ConsumirJarPrevired.java
        new file mode 100644
        index 0000000..c61ed72
        --- /dev/null
        +++ b/src/main/java/cl/zco/desafio3/negocio/ConsumirJarPrevired.java
        @@ -0,0 +1,121 @@
        +package cl.zco.desafio3.negocio;
        +
        +import java.util.ArrayList;
        +import java.util.List;
        +
        +import org.apache.logging.log4j.LogManager;
        +import org.apache.logging.log4j.Logger;
        +
        +import com.previred.desafio.tres.uf.DatosUf;
        +import com.previred.desafio.tres.uf.Valores;
        +import com.previred.desafio.tres.uf.vo.Uf;
        +import com.previred.desafio.tres.uf.vo.Ufs;
        +
        +import cl.zco.desafio3.Configuracion;
        +import cl.zco.desafio3.Proveedor;
        +import cl.zco.desafio3.util.Constantes;
        +import cl.zco.desafio3.util.Util;
        +
        +/**
        + * The Class ConsumirJarPrevired.
        + * @author Patricio Angel
        + */
        +public class ConsumirJarPrevired {
        +	
        +	/** The log. */
        +	private static Logger log = LogManager.getLogger(ConsumirJarPrevired.class);
        +	
        +	/** The max elementos json. */
        +	private int maxElementosJson = 0;
        +	
        +	/**
        +	 * Iniciar.
        +	 * @return true, if successful
        +	 */
        +	public boolean iniciar() {
        +		cargarConfiguraciones();
        +		return obtenerValoresUF();
        +	}
        +	
        +	private void cargarConfiguraciones() {
        +		maxElementosJson = Proveedor.getContexto().getBean(Configuracion.class).getCantidadjson();
        +	}
        +	
        +	/**
        +	 * Metodo que obtiene los valores de las UF.
        +	 * 
        +	 * @return true, if successful
        +	 */
        +	public boolean obtenerValoresUF() {
        +		boolean resultado = false;
        +		
        +		// Punto 1: se obtienen los valores y se consume el jar.
        +		Valores valores = new Valores();
        +		Ufs ufs = valores.getRango();
        +		List<Uf> listUf = new ArrayList<>( ufs.getUfs());
        +		
        +		/**
        +		 *  Punto 2: el algoritmo que entiendo que hay que hacer es llenar las fechas faltantes
        +		 *  pero siento que es innesacio hacer un algoritmo para validar si está o no dado que 
        +		 *  el singleton que se llena al inicio ya tiene los valores, entonces con solo obtener
        +		 *  todo entre el rango deberia bastar.
        +		 */
        +		// Punto 3: aqui se utiliza el .getUfs() este trae todos los valores.
        +		List<Uf> listUfRango = DatosUf.getInstance().getUfs(ufs.getInicio(), ufs.getFin());
        +		boolean igualCantidad = Util.validacionElementosEnRango(listUf, listUfRango);
        +
        +		/**
        +		 *  Aqui podemos hacer de 2 maneras para agregar los que faltan entre el rango, una es con la lista 
        +		 *  tomar los extremos e ir consultando 1 a 1 y agreando si la fecha no esta, pero revisando es lo 
        +		 *  mismo traer la lista completa segun el rango y luego sobre esa lista ordenar.
        +		 *  > Validacion: de igual manera se validará que los que se encontraron dentro del rango estén todos en 
        +		 *  el ultimo listado.
        +		 */
        +		// Punto 4: se ordena de forma descendente
        +		Util.clasificarColeccion(listUfRango, false, Constantes.ATRIB_FECHA);
        +		
        +		if(igualCantidad) {
        +			log.trace("Todos los elementos de getRange() estan en el listado final.");
        +			resultado = true;
        +			resultado &= generarCSV(ufs);			    //FORMATO 1 //TODO: Pendiente para una nueva version
        +			resultado &= generarXML(ufs);			    //FORMATO 2 //TODO: Pendiente para una nueva version
        +			resultado &= generarJson(ufs, listUfRango); //FORMATO 3
        +		}
        +		
        +		return resultado;
        +	}
        +	
        +	/**
        +	 * Metodo para generar los CSV
        +	 * @param ufs parametro de entrada con data de ufs
        +	 * @return boolean generacion exitosa
        +	 */
        +	public boolean generarCSV(Ufs ufs) {
        +		log.trace("Se comienza con la generacion del csv");
        +		//TODO: solo era un formato de salida, asique queda pendiente.
        +		return true;
        +	}
        +	
        +	/**
        +	 * Metodo para generar los XML
        +	 * @param ufs parametro de entrada con data de ufs
        +	 * @return boolean generacion exitosa
        +	 */
        +	public boolean generarXML(Ufs ufs) {
        +		log.trace("Se comienza con la generacion del xml");
        +		//TODO: solo era un formato de salida, asique queda pendiente.
        +		return true;
        +	}
        +	
        +	/**
        +	 * Metodo que genera el json.
        +	 * @param ufs parametro de entrada con data de ufs
        +	 * @param listUfRango the list uf rango
        +	 * @return boolean generacion exitosa
        +	 */
        +	public boolean generarJson(Ufs ufs, List<Uf> listUfRango) {
        +		log.trace("Se comienza con la generacion del json");
        +		return ManejadorArchivos.crearFicheroJson(Util.convertiraJsonDTO(ufs,listUfRango,maxElementosJson), Constantes.RUTA_WKS_JSON);
        +	}
        +	
        +}
        diff --git a/src/main/java/cl/zco/desafio3/negocio/ManejadorArchivos.java b/src/main/java/cl/zco/desafio3/negocio/ManejadorArchivos.java
        new file mode 100644
        index 0000000..469469f
        --- /dev/null
        +++ b/src/main/java/cl/zco/desafio3/negocio/ManejadorArchivos.java
        @@ -0,0 +1,78 @@
        +package cl.zco.desafio3.negocio;
        +
        +import java.io.File;
        +import java.io.FileNotFoundException;
        +import java.io.PrintWriter;
        +
        +import org.apache.logging.log4j.LogManager;
        +import org.apache.logging.log4j.Logger;
        +import org.springframework.core.NestedExceptionUtils;
        +
        +import com.google.gson.Gson;
        +import com.google.gson.GsonBuilder;
        +
        +import cl.zco.desafio3.dto.FormatoJsonDTO;
        +import cl.zco.desafio3.util.Constantes;
        +
        +/**
        + * Clase que manejará los archivos.
        + * @author Patricio Angel
        + *
        + */
        +public class ManejadorArchivos {
        +	
        +	/** The log. */
        +	private static Logger log = LogManager.getLogger(ManejadorArchivos.class);
        +
        +	/**
        +	 * Instantiates a new manejador archivos.
        +	 */
        +	public ManejadorArchivos() {super();}
        +	
        +	/**
        +	 * Crear fichero json.
        +	 * @param jsonDTO the json DTO
        +	 * @param destino the destino
        +	 * @return true, if successful
        +	 */
        +	public static boolean crearFicheroJson(FormatoJsonDTO jsonDTO, String destino) {
        +		return crearFicheroJson(jsonDTO, destino, false);
        +	}
        +	
        +	/**
        +	 * Crear fichero json.
        +	 * Metodo que crea el fichero valores.json.
        +	 * @param jsonDTO the json DTO
        +	 * @param destino the destino
        +	 * @param ignorarValidacion the ignorar validacion
        +	 * @return true, if successful
        +	 */
        +	public static boolean crearFicheroJson(FormatoJsonDTO jsonDTO, String destino, boolean ignorarValidacion) {
        +		try {
        +			if (!ignorarValidacion && !existeCarpeta(destino)) {
        +				destino = Constantes.RUTA_JAR_JSON;
        +			}
        +		    PrintWriter out = new PrintWriter(destino);
        +		    Gson gson = new GsonBuilder().setPrettyPrinting().create();
        +		    String json = gson.toJson(jsonDTO);
        +		    json = json.replace(Constantes.SIMBOLO_NUEVA_LINEA, System.lineSeparator());
        +		    out.println(json);
        +		    out.close();
        +		    return true;
        +		} catch (FileNotFoundException e) {
        +			log.error(NestedExceptionUtils.getRootCause(e));
        +			return false;
        +		}
        +	}
        +	
        +	/**
        +	 * Existe carpeta.
        +	 * Metodo que valida que exista carpeta segun ruta
        +	 * @param ruta the ruta
        +	 * @return true, if successful
        +	 */
        +	public static boolean existeCarpeta(String ruta) {
        +		File file = new File(ruta);
        +		return file.exists();
        +	}
        +}
        diff --git a/src/main/java/cl/zco/desafio3/util/Constantes.java b/src/main/java/cl/zco/desafio3/util/Constantes.java
        new file mode 100644
        index 0000000..0aaf5eb
        --- /dev/null
        +++ b/src/main/java/cl/zco/desafio3/util/Constantes.java
        @@ -0,0 +1,64 @@
        +package cl.zco.desafio3.util;
        +
        +import java.util.HashMap;
        +
        +// TODO: Auto-generated Javadoc
        +/**
        + * Clase que contiene las constantes.
        + * @author Patricio Angel
        + */
        +public class Constantes {
        +	
        +	/** The Constant FORMATO_DD_MMM_YYYY. */
        +	public static final String FORMATO_DD_MMM_YYYY = "dd/MM/yyyy";
        +	
        +	/** The Constant FORMATO_YYYY_MM_DD. */
        +	public static final String FORMATO_YYYY_MM_DD = "yyyy-MM-dd";
        +	
        +	/** The Constant RUTA_WKS_JSON. */
        +	public static final String RUTA_WKS_JSON = "files/valores.json";
        +	
        +	/** The Constant RUTA_JAR_JSON. */
        +	public static final String RUTA_JAR_JSON =  "C:\\files\\valores.json";
        +	
        +	/** The Constant SIMBOLO_NUEVA_LINEA. */
        +	public static final String SIMBOLO_NUEVA_LINEA = "\\n";
        +	
        +	/** The Constant ATRIB_FECHA. */
        +	public static final String ATRIB_FECHA = "fecha";
        +	
        +	/** The Constant VACIO. */
        +	public static final String VACIO = "";
        +	
        +	/** The etiquetas. */
        +	private static HashMap<String,String> etiquetas = new HashMap<>();
        +	
        +	/**
        +	 * Bloque de codigo para inicializar las etiquetas.
        +	 */
        +	static {
        +		etiquetas.put("mensaj.portada.desa","Bienvenido al desafio número 3, el archivo json generado quedará en la ruta /files/valores.json");
        +		etiquetas.put("mensaj.portada.jar","Bienvenido al desafio número 3, no olvidar tener creada la carpeta en C:\\files\\ para poder ver el json resultante");
        +		etiquetas.put("mensaj.final.ok.desa","Se ha creado correctamente el archivo en /files/valores.json");
        +		etiquetas.put("mensaj.final.ok.jar","Se ha creado correctamente el archivo en C:\\files\\valores.json");
        +		etiquetas.put("mensaj.final.error","El proceso de creación a fallado, intente nuevamente");
        +		etiquetas.put("mensaj.final.ok.ini","Se ha creado correctamente el archivo en ");
        +	}
        +	
        +	/**
        +	 * Instantiates a new constantes.
        +	 */
        +	public Constantes() {super();}
        +	
        +	/**
        +	 * Metodo que obtiene la etiqueta mapeaa
        +	 * (alternativa rapida concentrar todas las etiquetas, la idea es luego pasar estos codigo
        +	 * de etiquetas a i18).
        +	 *
        +	 * @param codigo the codigo
        +	 * @return the string
        +	 */
        +	public static String obtenerEtiqueta(String codigo) {
        +		return etiquetas.get(codigo) == null ? VACIO : etiquetas.get(codigo);
        +	} 
        +}
        diff --git a/src/main/java/cl/zco/desafio3/util/Util.java b/src/main/java/cl/zco/desafio3/util/Util.java
        new file mode 100644
        index 0000000..e3db918
        --- /dev/null
        +++ b/src/main/java/cl/zco/desafio3/util/Util.java
        @@ -0,0 +1,142 @@
        +package cl.zco.desafio3.util;
        +
        +import java.text.SimpleDateFormat;
        +import java.util.ArrayList;
        +import java.util.Collection;
        +import java.util.Collections;
        +import java.util.Comparator;
        +import java.util.Date;
        +import java.util.List;
        +
        +import javax.swing.JOptionPane;
        +
        +import org.apache.commons.beanutils.BeanComparator;
        +import org.apache.commons.collections.ComparatorUtils;
        +import org.apache.commons.collections.comparators.NullComparator;
        +import org.apache.commons.collections.comparators.ReverseComparator;
        +
        +import com.previred.desafio.tres.uf.vo.Uf;
        +import com.previred.desafio.tres.uf.vo.Ufs;
        +
        +import cl.zco.desafio3.dto.FormatoJsonDTO;
        +import cl.zco.desafio3.dto.FormatoUfJsonDTO;
        +
        +// TODO: Auto-generated Javadoc
        +/**
        + * Clase que contiene las utilidades del aplicativo.
        + */
        +public class Util {
        +	
        +	/**
        +	 * Metodo que obtiene la fecha y le da el formato recibido.
        +	 *
        +	 * @param fecha parametro con la fecha
        +	 * @param formato the formato
        +	 * @return String con la fecha de salida
        +	 */
        +	public static String obtenerFechaFormato(Date fecha,String formato) {
        +		 SimpleDateFormat formatoFecha =  new SimpleDateFormat(formato);
        +		 return formatoFecha.format(fecha);
        +	}
        +	
        +	/**
        +	 * Metodo que ordena lo que reciba y en base al nombre del atributo. 
        +	 * @param <T> cualquier elemento
        +	 * @param list lista del elemento T
        +	 * @param esAscendente boolean que indica si la lista sera asc o desc
        +	 * @param bean este es el atributo de la clase por el cual se va a ordenar
        +	 */
        +	@SuppressWarnings("unchecked")
        +	public static <T> void clasificarColeccion(List<T> list, boolean esAscendente, String... bean) {
        +		Comparator<T> nullComparator = new NullComparator(esAscendente);
        +		Collection<Comparator<T>> beanComparatorCollection = new ArrayList<>( bean.length);
        +		for (int i = 0; i < bean.length; i++) {
        +			beanComparatorCollection.add(new BeanComparator(bean[i], nullComparator));
        +		}
        +		Comparator<T> finalComparator = ComparatorUtils.chainedComparator(beanComparatorCollection);
        +		if (!esAscendente) {
        +			finalComparator = new ReverseComparator(finalComparator);
        +		}
        +		Collections.sort(list, finalComparator);
        +	}
        +	
        +	/**
        +	 * Convertir a json DTO. 
        +	 * Metodo que convierte el ufs a formato json dto
        +	 *
        +	 * @param ufs the ufs
        +	 * @param listUfRango the list uf rango
        +	 * @param maxJson the max json
        +	 * @return the formato json DTO
        +	 */
        +	public static FormatoJsonDTO convertiraJsonDTO(Ufs ufs,List<Uf> listUfRango, int maxJson) {
        +		FormatoJsonDTO dto  = new FormatoJsonDTO();
        +		dto.setInicio(obtenerFechaFormato(ufs.getInicio(), Constantes.FORMATO_YYYY_MM_DD));
        +		dto.setFin(obtenerFechaFormato(ufs.getFin(), Constantes.FORMATO_YYYY_MM_DD));
        +		if(listUfRango == null){
        +			dto.setUFs(new ArrayList<>());
        +		}else {
        +			dto.setUFs(convertiraJsonUfDTO(listUfRango, maxJson));
        +		}
        +		return dto; 
        +	}
        +	
        +	/**
        +	 * Convertira json uf DTO.
        +	  *Metodo que convierte al DTO jsonUF en base al UF recibido.
        +	 * @param listUf the list uf
        +	 * @param maxJson the max json
        +	 * @return the list
        +	 */
        +	public static List<FormatoUfJsonDTO> convertiraJsonUfDTO( List<Uf> listUf,int maxJson) {
        +		List<FormatoUfJsonDTO> listUfDTO = new ArrayList<>();
        +		if(maxJson != 0 && listUf.size()>maxJson) {
        +			listUf = listUf.subList(0, maxJson);
        +		}
        +		listUf.forEach(uf -> 
        +			listUfDTO.add(new FormatoUfJsonDTO(obtenerFechaFormato(uf.getFecha(), Constantes.FORMATO_YYYY_MM_DD),
        +					uf.getValor().toString()))
        +		);
        +		return listUfDTO;
        +	}
        +	
        +	/**
        +	 * metodo que valida que los elementos retornados de getRange() esten en la lista.
        +	 *
        +	 * @param listUf the list uf
        +	 * @param listUfRango the list uf rango
        +	 * @return verdadero si todos los elementos de la lista a se encuetran en la lista b.
        +	 */
        +	public static boolean validacionElementosEnRango(List<Uf> listUf, List<Uf> listUfRango) {
        +		int cantidad = listUf.size();
        +		Long encontrado = listUfRango.stream().filter(uf -> listUf.contains(uf)).count();
        +		return cantidad == encontrado.intValue();
        +	}
        +	
        +	/**
        +	 * Metodo sobrecargado para controlar la excepcion.
        +	 *
        +	 * @param msg mensaje a mostrar por pantalla
        +	 * @throws Throwable the throwable
        +	 */
        +	public static void controlExcepcion(String msg) throws Throwable {
        +		controlExcepcion(msg, JOptionPane.INFORMATION_MESSAGE);
        +	}
        +	
        +	/**
        +	 * Control excepcion.
        +	 * Metodo creado para controlar la excepcion en caso de inconveniente
        +	 * @param msg the msg
        +	 * @param optionMsg the option msg
        +	 * @throws Throwable the throwable
        +	 */
        +	public static void controlExcepcion(String msg , Integer optionMsg) throws Throwable {
        +		try {
        +			JOptionPane.showMessageDialog(null, msg, 
        +					optionMsg.equals(JOptionPane.INFORMATION_MESSAGE) ? "Información" : "Error", optionMsg );
        +		} catch (Exception e) {
        +			throw new Throwable();
        +		}
        +	}
        +
        +}
        diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
        new file mode 100644
        index 0000000..e69de29
        diff --git a/src/main/resources/desafio3.properties b/src/main/resources/desafio3.properties
        new file mode 100644
        index 0000000..f832974
        --- /dev/null
        +++ b/src/main/resources/desafio3.properties
        @@ -0,0 +1,2 @@
        +## Propiedad configurable con limite de elementos de uf que sale en json, limite por ahora 100 si no se quiere limite se debe poner 0 (cero)
        +desafio3.cantidadjson=100
        diff --git a/src/test/java/cl/zco/desafio3/Desafio3ApplicationTests.java b/src/test/java/cl/zco/desafio3/Desafio3ApplicationTests.java
        new file mode 100644
        index 0000000..cb38ec6
        --- /dev/null
        +++ b/src/test/java/cl/zco/desafio3/Desafio3ApplicationTests.java
        @@ -0,0 +1,24 @@
        +package cl.zco.desafio3;
        +
        +import static org.junit.Assert.assertThrows;
        +
        +import org.junit.jupiter.api.Test;
        +import org.springframework.boot.test.context.SpringBootTest;
        +
        +/**
        + * The Class Desafio3ApplicationTests.
        + */
        +@SpringBootTest
        +class Desafio3ApplicationTests {
        +
        +	/**
        +	 * Context loads.
        +	 * @throws Throwable 
        +	 */
        +	@Test
        +	void contextLoads() throws Throwable {
        +		String[] str = {"str1","str2"};
        +		assertThrows(Throwable.class, () -> Desafio3Application.main(str) );
        +	}
        +
        +}
        diff --git a/src/test/java/cl/zco/desafio3/negocio/ConsumirJarPreviredTest.java b/src/test/java/cl/zco/desafio3/negocio/ConsumirJarPreviredTest.java
        new file mode 100644
        index 0000000..150f675
        --- /dev/null
        +++ b/src/test/java/cl/zco/desafio3/negocio/ConsumirJarPreviredTest.java
        @@ -0,0 +1,37 @@
        +package cl.zco.desafio3.negocio;
        +
        +import static org.assertj.core.api.Assertions.assertThatNoException;
        +
        +import org.junit.jupiter.api.BeforeEach;
        +import org.junit.jupiter.api.Test;
        +import org.mockito.MockitoAnnotations;
        +
        +// TODO: Auto-generated Javadoc
        +/**
        + * The Class ConsumirJarPreviredTest.
        + */
        +@SuppressWarnings("deprecation")
        +class ConsumirJarPreviredTest {
        +	
        +	/** The jar previred. */
        +	private ConsumirJarPrevired jarPrevired;
        +	
        +	/**
        +	 * Sets the up.
        +	 */
        +	@BeforeEach
        +	void setUp() {
        +		MockitoAnnotations.initMocks(this);
        +		jarPrevired = new ConsumirJarPrevired();
        +	}
        +	
        +	/**
        +	 * Obtener fecha formato.
        +	 */
        +	@Test
        +	void obtenerFechaFormato() {
        +		jarPrevired.iniciar();
        +		assertThatNoException();
        +	}
        +	
        +}
        diff --git a/src/test/java/cl/zco/desafio3/negocio/ManejadorArchivosTest.java b/src/test/java/cl/zco/desafio3/negocio/ManejadorArchivosTest.java
        new file mode 100644
        index 0000000..6632b21
        --- /dev/null
        +++ b/src/test/java/cl/zco/desafio3/negocio/ManejadorArchivosTest.java
        @@ -0,0 +1,80 @@
        +package cl.zco.desafio3.negocio;
        +
        +import static org.assertj.core.api.Assertions.assertThatNoException;
        +import static org.junit.jupiter.api.Assertions.assertThrows;
        +
        +import org.junit.jupiter.api.BeforeEach;
        +import org.junit.jupiter.api.Test;
        +import org.mockito.MockitoAnnotations;
        +
        +import cl.zco.desafio3.dto.FormatoJsonDTO;
        +import cl.zco.desafio3.util.Constantes;
        +
        +/**
        + * The Class ManejadorArchivosTest.
        + */
        +@SuppressWarnings({ "unused", "deprecation" })
        +class ManejadorArchivosTest {
        +	
        +	/** The json DTO. */
        +	private FormatoJsonDTO jsonDTO;
        +	
        +	/**
        +	 * Sets the up.
        +	 */
        +	
        +	@BeforeEach
        +	void setUp() {
        +		MockitoAnnotations.initMocks(this);
        +		ManejadorArchivos ma = new ManejadorArchivos();
        +		jsonDTO = new FormatoJsonDTO();
        +		jsonDTO.setInicio("");
        +		jsonDTO.setFin("");
        +		
        +	}
        +	
        +	/**
        +	 * Caso cuando se quiere crear un fichero pero con ruta nula.
        +	 */
        +	@Test
        +	void crearFicheroJsonRutaNula() {
        +		assertThrows(NullPointerException.class, () -> 	ManejadorArchivos.crearFicheroJson(jsonDTO, null));
        +	}
        +	
        +	/**
        +	 * Caso cuando se quiere crear un fichero pero con ruta inexistente.
        +	 */
        +	@Test
        +	void crearFicheroJsonRutaInexistenteNoValidacion() {
        +		ManejadorArchivos.crearFicheroJson(jsonDTO, "/nopath",true);
        +		assertThatNoException(); //Excepcion controlada
        +	}
        +	
        +	/**
        +	 * Crear fichero json ruta inexistente.
        +	 */
        +	@Test
        +	void crearFicheroJsonRutaInexistente() {
        +		ManejadorArchivos.crearFicheroJson(jsonDTO, "/nopath",false);
        +		assertThatNoException(); //Excepcion controlada
        +	}
        +	
        +	/**
        +	 * Caso cuando va sin el jsonDTO.
        +	 */
        +	@Test
        +	void crearFicheroJsonSinJsonDTO() {
        +		ManejadorArchivos.crearFicheroJson(null, Constantes.RUTA_WKS_JSON);
        +		assertThatNoException();
        +	}
        +	
        +	/**
        +	 * Caso con todos los parametros.
        +	 */
        +	@Test
        +	void crearFicheroJson() {
        +		ManejadorArchivos.crearFicheroJson(jsonDTO, Constantes.RUTA_WKS_JSON);
        +		assertThatNoException();
        +	}
        +	
        +}
        diff --git a/src/test/java/cl/zco/desafio3/util/DtoTest.java b/src/test/java/cl/zco/desafio3/util/DtoTest.java
        new file mode 100644
        index 0000000..b41693c
        --- /dev/null
        +++ b/src/test/java/cl/zco/desafio3/util/DtoTest.java
        @@ -0,0 +1,70 @@
        +package cl.zco.desafio3.util;
        +
        +import static org.junit.jupiter.api.Assertions.assertNotNull;
        +
        +import java.util.ArrayList;
        +import java.util.List;
        +
        +import org.junit.jupiter.api.BeforeEach;
        +import org.junit.jupiter.api.Test;
        +
        +import cl.zco.desafio3.dto.FormatoJsonDTO;
        +import cl.zco.desafio3.dto.FormatoUfJsonDTO;
        +
        +/**
        + * The Class UtilTest.
        + */
        +class DtoTest {
        +	
        +	/** The formato json DTO. */
        +	private FormatoJsonDTO formatoJsonDTO;
        +	
        +	/** The formato uf json DTO. */
        +	private FormatoUfJsonDTO formatoUfJsonDTO;
        +	
        +	/**
        +	 * Sets the up.
        +	 */
        +	@BeforeEach
        +	void setUp() {
        +		formatoJsonDTO = new FormatoJsonDTO();
        +		formatoUfJsonDTO = new FormatoUfJsonDTO(null, null);
        +	}
        +	
        +	/**
        +	 * Construye json.
        +	 */
        +	private void construyeJson() {
        +		formatoUfJsonDTO.setFecha("01/01/1990");
        +		formatoUfJsonDTO.setDato("22222.11");
        +		List<FormatoUfJsonDTO> listUf = new ArrayList<FormatoUfJsonDTO>();
        +		listUf.add(formatoUfJsonDTO);
        +		
        +		formatoJsonDTO.setInicio("01/01/1990");
        +		formatoJsonDTO.setFin("01/01/2000");
        +		formatoJsonDTO.setUFs(listUf);
        +	}
        +	
        +	/**
        +	 * Obtener fecha formato.
        +	 */
        +	@Test
        +	void construirJsonDto() {
        +		construyeJson();
        +		assertNotNull(formatoJsonDTO);
        +	}
        +	
        +	/**
        +	 * Obtener datos json dto.
        +	 */
        +	@Test
        +	void obtenerDatosJsonDto() {
        +		construyeJson();
        +		assertNotNull(formatoJsonDTO.getInicio());
        +		assertNotNull(formatoJsonDTO.getFin());
        +		assertNotNull(formatoJsonDTO.getUFs());
        +		assertNotNull(formatoUfJsonDTO.getDato());
        +		assertNotNull(formatoUfJsonDTO.getFecha());
        +	}
        +	
        +}
        diff --git a/src/test/java/cl/zco/desafio3/util/UtilTest.java b/src/test/java/cl/zco/desafio3/util/UtilTest.java
        new file mode 100644
        index 0000000..0f82c4e
        --- /dev/null
        +++ b/src/test/java/cl/zco/desafio3/util/UtilTest.java
        @@ -0,0 +1,140 @@
        +package cl.zco.desafio3.util;
        +
        +import static org.assertj.core.api.Assertions.assertThatNoException;
        +import static org.junit.jupiter.api.Assertions.assertEquals;
        +import static org.junit.jupiter.api.Assertions.assertFalse;
        +import static org.junit.jupiter.api.Assertions.assertNotNull;
        +import static org.junit.jupiter.api.Assertions.assertThrows;
        +import static org.junit.jupiter.api.Assertions.assertTrue;
        +
        +import java.util.ArrayList;
        +import java.util.Calendar;
        +import java.util.HashSet;
        +import java.util.List;
        +
        +import org.junit.jupiter.api.BeforeEach;
        +import org.junit.jupiter.api.Test;
        +import org.mockito.MockitoAnnotations;
        +
        +import com.previred.desafio.tres.uf.vo.Uf;
        +import com.previred.desafio.tres.uf.vo.Ufs;
        +
        +import cl.zco.desafio3.Configuracion;
        +
        +/**
        + * The Class UtilTest.
        + */
        +class UtilTest {
        +	
        +	/** The ufs. */
        +	private Ufs ufs; 
        +	
        +	/**
        +	 * Sets the up.
        +	 */
        +	@SuppressWarnings({ "deprecation", "unused" })
        +	@BeforeEach
        +	void setUp() {
        +		MockitoAnnotations.initMocks(this);
        +		ufs = new Ufs();
        +		ufs.setInicio(Calendar.getInstance().getTime());
        +		ufs.setFin(Calendar.getInstance().getTime());
        +		
        +		//Iniciar clases de utilidad
        +		Configuracion conf = new Configuracion();
        +		Constantes constante = new Constantes();
        +		Util util = new Util();
        +	}
        +	
        +	/**
        +	 * Obtener fecha formato.
        +	 */
        +	@Test
        +	void obtenerFechaFormato() {
        +		assertNotNull(Util.obtenerFechaFormato(Calendar.getInstance().getTime(), Constantes.FORMATO_DD_MMM_YYYY));
        +	}
        +	
        +	/**
        +	 * Clasificar coleccion.
        +	 */
        +	@Test
        +	void clasificarColeccion() {
        +		Util.clasificarColeccion(new ArrayList<Uf>(), true, Constantes.ATRIB_FECHA );
        +		Util.clasificarColeccion(new ArrayList<Uf>(), false, Constantes.ATRIB_FECHA );
        +		assertThatNoException();
        +	}
        +	
        +	/**
        +	 * Convertira json DTO.
        +	 */
        +	@Test
        +	void convertiraJsonDTO() {
        +		
        +		assertNotNull(Util.convertiraJsonDTO(ufs,null,1));
        +		Uf uf = new Uf();
        +		uf.setFecha(Calendar.getInstance().getTime());
        +		uf.setValor(0.1d);
        +		List<Uf> listuf = new ArrayList<Uf>();
        +		listuf.add(uf);
        +		ufs.setUfs(new HashSet<Uf>(listuf));
        +		assertNotNull(Util.convertiraJsonDTO(ufs,listuf,1));
        +	}
        +	
        +	/**
        +	 * Validacion elementos en rango.
        +	 */
        +	@Test
        +	void validacionElementosEnRango() {
        +		Uf uf = new Uf();
        +		uf.setFecha(Calendar.getInstance().getTime());
        +		uf.setValor(0.1d);
        +		List<Uf> listuf = new ArrayList<Uf>();
        +		listuf.add(uf);
        +		ufs.setUfs(new HashSet<Uf>(listuf));
        +		List<Uf> listuf2 = new ArrayList<Uf>();
        +		assertTrue(Util.validacionElementosEnRango(listuf, listuf)); 
        +		assertFalse(Util.validacionElementosEnRango(listuf, listuf2)); 
        +		assertThrows(NullPointerException.class, () -> assertTrue(Util.validacionElementosEnRango(listuf, null)));
        +	}
        +	
        +	/**
        +	 * Validacion elementos en rango elemento nulo.
        +	 */
        +	@Test
        +	void validacionElementosEnRangoElementoNulo() {
        +		Uf uf = new Uf();
        +		uf.setFecha(Calendar.getInstance().getTime());
        +		uf.setValor(0.1d);
        +		List<Uf> listuf = new ArrayList<Uf>();
        +		listuf.add(uf);
        +		ufs.setUfs(new HashSet<Uf>(listuf));
        +		assertThrows(NullPointerException.class, () -> assertTrue(Util.validacionElementosEnRango(listuf, null)));
        +	}
        +	
        +	/**
        +	 * Obtener etiqueta.
        +	 */
        +	@Test
        +	void obtenerEtiqueta() {
        +		assertEquals("Se ha creado correctamente el archivo en ", Constantes.obtenerEtiqueta("mensaj.final.ok.ini"));
        +	}
        +	
        +	/**
        +	 * Obtener etiqueta null.
        +	 */
        +	@Test
        +	void obtenerEtiquetaNull() {
        +		assertEquals(Constantes.VACIO, Constantes.obtenerEtiqueta("mensaj.code"));
        +	}
        +	
        +	/**
        +	 * Validar configuraciones.
        +	 */
        +	@Test
        +	void validarConfiguraciones() {
        +		Configuracion conf = new Configuracion(100);
        +		assertNotNull(conf.toString());
        +	}
        +	
        +	
        +}