diff --git a/.gitignore b/.gitignore index 55bcae1..1d9186d 100644 --- a/.gitignore +++ b/.gitignore @@ -49,7 +49,6 @@ drone-black-box/drone_black_box.db* *.pdf *.out -*.html drone_black_box.db* app diff --git a/docs/reports/LO3_Go_Coverage.html b/docs/reports/LO3_Go_Coverage.html new file mode 100644 index 0000000..b6aa095 --- /dev/null +++ b/docs/reports/LO3_Go_Coverage.html @@ -0,0 +1,325 @@ + + + + + + drone-black-box: Go Coverage Report + + + +
+ +
+ not tracked + + not covered + covered + +
+
+
+ + + +
+ + + diff --git a/docs/reports/LO3_Go_Performance.png b/docs/reports/LO3_Go_Performance.png new file mode 100644 index 0000000..3be3764 Binary files /dev/null and b/docs/reports/LO3_Go_Performance.png differ diff --git a/docs/reports/LO3_Java_Coverage.png b/docs/reports/LO3_Java_Coverage.png new file mode 100644 index 0000000..c64f8f2 Binary files /dev/null and b/docs/reports/LO3_Java_Coverage.png differ diff --git a/docs/reports/LO5_CI_Log.png b/docs/reports/LO5_CI_Log.png new file mode 100644 index 0000000..5eb4999 Binary files /dev/null and b/docs/reports/LO5_CI_Log.png differ diff --git a/docs/reports/jacoco/test/html/index.html b/docs/reports/jacoco/test/html/index.html new file mode 100644 index 0000000..169fbe5 --- /dev/null +++ b/docs/reports/jacoco/test/html/index.html @@ -0,0 +1 @@ +ilp-coursework

ilp-coursework

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total317 of 2,28586%97 of 25461%8820473501477010
io.github.js0ny.ilp_coursework.service3091,69084%9315362%841747342945106
io.github.js0ny.ilp_coursework.controller22796%4450%42405802003
io.github.js0ny.ilp_coursework.exception51100%n/a060140601
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.html new file mode 100644 index 0000000..9584a6d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.html @@ -0,0 +1 @@ +CorsConfig

CorsConfig

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 68100%0 of 0n/a030703
addCorsMappings(CorsRegistry)45100%n/a010501
static {...}20100%n/a010101
CorsConfig()3100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.java.html new file mode 100644 index 0000000..49f9243 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/CorsConfig.java.html @@ -0,0 +1,28 @@ +CorsConfig.java

CorsConfig.java

package io.github.js0ny.ilp_coursework.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * Global CORS configuration so the frontend running on a different port can call the REST API.
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+
+    private static final String[] ALLOWED_ORIGINS = new String[] {
+            "http://localhost:4173",
+            "http://127.0.0.1:4173",
+            "http://localhost:5173",
+            "http://127.0.0.1:5173"
+    };
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowedOrigins(ALLOWED_ORIGINS)
+                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS", "HEAD", "PATCH")
+                .allowedHeaders("*");
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.html new file mode 100644 index 0000000..ee51bcf --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.config

io.github.js0ny.ilp_coursework.config

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 68100%0 of 0n/a03070301
CorsConfig68100%n/a03070301
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.source.html new file mode 100644 index 0000000..dbeaa8a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.config/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.config

io.github.js0ny.ilp_coursework.config

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 68100%0 of 0n/a03070301
CorsConfig.java68100%n/a03070301
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.html new file mode 100644 index 0000000..c7adf67 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.html @@ -0,0 +1 @@ +ApiController

ApiController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 86100%0 of 0n/a0702207
getNextPosition(MovementRequest)20100%n/a010401
getDistance(DistanceRequest)17100%n/a010401
getIsCloseTo(DistanceRequest)17100%n/a010401
getIsInRegion(RegionCheckRequest)17100%n/a010401
ApiController(GpsCalculationService)6100%n/a010301
getUid()5100%n/a010201
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.java.html new file mode 100644 index 0000000..1713c63 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/ApiController.java.html @@ -0,0 +1,114 @@ +ApiController.java

ApiController.java

package io.github.js0ny.ilp_coursework.controller;
+
+import io.github.js0ny.ilp_coursework.data.common.Angle;
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+import io.github.js0ny.ilp_coursework.data.request.DistanceRequest;
+import io.github.js0ny.ilp_coursework.data.request.MovementRequest;
+import io.github.js0ny.ilp_coursework.data.request.RegionCheckRequest;
+import io.github.js0ny.ilp_coursework.service.GpsCalculationService;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Main REST Controller for the ILP Coursework 1 application.
+ *
+ * <p>This class handles incoming HTTP requests for the API under {@code /api/v1} path (defined in
+ * CW1) This is responsible for mapping requests to the appropriate service method and returning the
+ * results as responses. The business logic is delegated to {@link GpsCalculationService}
+ */
+@RestController
+@RequestMapping("/api/v1")
+public class ApiController {
+
+    private static final Logger log = LoggerFactory.getLogger(ApiController.class);
+
+    private final GpsCalculationService gpsService;
+
+    /**
+     * Constructor of the {@code ApiController} with the business logic dependency {@code
+     * GpsCalculationService}
+     *
+     * @param gpsService The service component that contains all business logic, injected by
+     *     Spring's DI.
+     */
+    public ApiController(GpsCalculationService gpsService) {
+        this.gpsService = gpsService;
+    }
+
+    /**
+     * Handles GET requests to retrieve the student's Unique ID
+     *
+     * @return A string representing the student ID starting with s
+     */
+    @GetMapping("/uid")
+    public String getUid() {
+        log.info("GET /api/v1/uid");
+        return "s2522255";
+    }
+
+    /**
+     * Handles POST requests to get the distance between two positions
+     *
+     * @param request A {@link DistanceRequest} containing the two coordinates
+     * @return A {@code double} representing the calculated distance
+     */
+    @PostMapping("/distanceTo")
+    public double getDistance(@RequestBody DistanceRequest request) {
+        LngLat position1 = request.position1();
+        LngLat position2 = request.position2();
+        log.info("POST /api/v1/distanceTo position1={} position2={}", position1, position2);
+        return gpsService.calculateDistance(position1, position2);
+    }
+
+    /**
+     * Handles POST requests to check if the two coordinates are close to each other
+     *
+     * @param request A {@link DistanceRequest} containing the two coordinates
+     * @return {@code true} if the distance is less than the predefined threshold, {@code false}
+     *     otherwise
+     */
+    @PostMapping("/isCloseTo")
+    public boolean getIsCloseTo(@RequestBody DistanceRequest request) {
+        LngLat position1 = request.position1();
+        LngLat position2 = request.position2();
+        log.info("POST /api/v1/isCloseTo position1={} position2={}", position1, position2);
+        return gpsService.isCloseTo(position1, position2);
+    }
+
+    /**
+     * Handles POST requests to get the next position after an angle of movement
+     *
+     * @param request A {@link MovementRequest} containing the start coordinate and angle of the
+     *     movement.
+     * @return A {@link LngLat} representing the destination
+     */
+    @PostMapping("/nextPosition")
+    public LngLat getNextPosition(@RequestBody MovementRequest request) {
+        LngLat start = request.start();
+        Angle angle = new Angle(request.angle());
+        log.info("POST /api/v1/nextPosition start={} angle={}", start, angle);
+        return gpsService.nextPosition(start, angle);
+    }
+
+    /**
+     * Handles POST requests to check if a point is inside a given region
+     *
+     * @param request A {@link RegionCheckRequest} containing the coordinate and the region
+     * @return {@code true} if the coordinate is inside the region, {@code false} otherwise
+     */
+    @PostMapping("/isInRegion")
+    public boolean getIsInRegion(@RequestBody RegionCheckRequest request) {
+        LngLat position = request.position();
+        Region region = request.region();
+        log.info("POST /api/v1/isInRegion position={} region={}", position, region);
+        return gpsService.checkIsInRegion(position, region);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.html new file mode 100644 index 0000000..042330f --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.html @@ -0,0 +1 @@ +DroneController

DroneController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total8 of 12593%4 of 850%41302809
getIdByAttrMapPost(AttrQueryRequest[])21588%1150%120301
queryAvailableDrones(MedDispatchRecRequest[])21588%1150%120301
calculateDeliveryPath(MedDispatchRecRequest[])21588%1150%120301
calculateDeliveryPathAsGeoJson(MedDispatchRecRequest[])21588%1150%120301
getDroneDetail(String)20100%n/a010601
DroneController(DroneInfoService, DroneAttrComparatorService, PathFinderService)12100%n/a010501
getIdByAttrMap(String, String)11100%n/a010201
getDronesWithCoolingCapability(boolean)10100%n/a010201
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.java.html new file mode 100644 index 0000000..6caf7ae --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/DroneController.java.html @@ -0,0 +1,128 @@ +DroneController.java

DroneController.java

package io.github.js0ny.ilp_coursework.controller;
+
+import io.github.js0ny.ilp_coursework.data.external.Drone;
+import io.github.js0ny.ilp_coursework.data.request.AttrQueryRequest;
+import io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse;
+import io.github.js0ny.ilp_coursework.service.DroneAttrComparatorService;
+import io.github.js0ny.ilp_coursework.service.DroneInfoService;
+import io.github.js0ny.ilp_coursework.service.PathFinderService;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Main Rest Controller for the ILP Coursework 2 application.
+ *
+ * <p>This class handles incoming HTTP requests for the API under {@code /api/v1} path (defined in
+ * CW2) The business logic is delegated to {@link DroneInfoService}
+ */
+@RestController
+@RequestMapping("/api/v1")
+public class DroneController {
+
+    private static final Logger log = LoggerFactory.getLogger(DroneController.class);
+
+    private final DroneInfoService droneInfoService;
+    private final DroneAttrComparatorService droneAttrComparatorService;
+    private final PathFinderService pathFinderService;
+
+    /**
+     * Constructor of the {@code DroneController} with the business logic dependency {@code
+     * DroneInfoService}
+     *
+     * <p>We handle the {@code baseUrl} here. Use a predefined URL if the environment variable
+     * {@code ILP_ENDPOINT} is not given.
+     *
+     * @param droneService The service component that contains all business logic
+     */
+    public DroneController(
+            DroneInfoService droneService,
+            DroneAttrComparatorService droneAttrComparatorService,
+            PathFinderService pathFinderService) {
+        this.droneInfoService = droneService;
+        this.droneAttrComparatorService = droneAttrComparatorService;
+        this.pathFinderService = pathFinderService;
+    }
+
+    /**
+     * Handles GET requests to retrieve an array of drones (identified by id) that has the
+     * capability of cooling
+     *
+     * @param state The path variable that indicates the return should have or not have the
+     *     capability
+     * @return An array of drone id with cooling capability.
+     */
+    @GetMapping("/dronesWithCooling/{state}")
+    public List<String> getDronesWithCoolingCapability(@PathVariable boolean state) {
+        log.info("GET /api/v1/dronesWithCooling/{}", state);
+        return droneInfoService.dronesWithCooling(state);
+    }
+
+    /**
+     * Handles GET requests to retrieve the drone detail identified by id
+     *
+     * @param id The id of the drone to be queried.
+     * @return 200 with {@link Drone}-style json if success, 404 if {@code id} not found, 400
+     *     otherwise
+     */
+    @GetMapping("/droneDetails/{id}")
+    public ResponseEntity<Drone> getDroneDetail(@PathVariable String id) {
+        try {
+            log.info("GET /api/v1/droneDetails/{}", id);
+            Drone drone = droneInfoService.droneDetail(id);
+            return ResponseEntity.ok(drone);
+        } catch (IllegalArgumentException ex) {
+            log.warn("GET /api/v1/droneDetails/{} not found", id);
+            return ResponseEntity.notFound().build();
+        }
+    }
+
+    /**
+     * Handles GET requests to retrieve an array of drone ids that {@code capability.attrName =
+     * attrVal}
+     *
+     * @param attrName The name of the attribute to be queried
+     * @param attrVal The value of the attribute to be queried
+     * @return An array of drone id that matches the attribute name and value
+     */
+    @GetMapping("/queryAsPath/{attrName}/{attrVal}")
+    public List<String> getIdByAttrMap(
+            @PathVariable String attrName, @PathVariable String attrVal) {
+        log.info("GET /api/v1/queryAsPath/{}/{}", attrName, attrVal);
+        return droneAttrComparatorService.dronesWithAttribute(attrName, attrVal);
+    }
+
+    @PostMapping("/query")
+    public List<String> getIdByAttrMapPost(@RequestBody AttrQueryRequest[] attrComparators) {
+        int count = attrComparators == null ? 0 : attrComparators.length;
+        log.info("POST /api/v1/query comparators={}", count);
+        return droneAttrComparatorService.dronesSatisfyingAttributes(attrComparators);
+    }
+
+    @PostMapping("/queryAvailableDrones")
+    public List<String> queryAvailableDrones(@RequestBody MedDispatchRecRequest[] records) {
+        int count = records == null ? 0 : records.length;
+        log.info("POST /api/v1/queryAvailableDrones records={}", count);
+        return droneInfoService.dronesMatchesRequirements(records);
+    }
+
+    @PostMapping("/calcDeliveryPath")
+    public DeliveryPathResponse calculateDeliveryPath(@RequestBody MedDispatchRecRequest[] record) {
+        int count = record == null ? 0 : record.length;
+        log.info("POST /api/v1/calcDeliveryPath records={}", count);
+        return pathFinderService.calculateDeliveryPath(record);
+    }
+
+    @PostMapping("/calcDeliveryPathAsGeoJson")
+    public String calculateDeliveryPathAsGeoJson(@RequestBody MedDispatchRecRequest[] record) {
+        int count = record == null ? 0 : record.length;
+        log.info("POST /api/v1/calcDeliveryPathAsGeoJson records={}", count);
+        return pathFinderService.calculateDeliveryPathAsGeoJson(record);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.html new file mode 100644 index 0000000..cde3d28 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.html @@ -0,0 +1 @@ +MapMetaController

MapMetaController

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 24100%0 of 0n/a040804
getRestrictedAreas()7100%n/a010201
getServicePoints()7100%n/a010201
MapMetaController(DroneInfoService)6100%n/a010301
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.java.html new file mode 100644 index 0000000..884eb16 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/MapMetaController.java.html @@ -0,0 +1,39 @@ +MapMetaController.java

MapMetaController.java

package io.github.js0ny.ilp_coursework.controller;
+
+import io.github.js0ny.ilp_coursework.data.external.RestrictedArea;
+import io.github.js0ny.ilp_coursework.data.external.ServicePoint;
+import io.github.js0ny.ilp_coursework.service.DroneInfoService;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/v1")
+public class MapMetaController {
+
+    private static final Logger log = LoggerFactory.getLogger(MapMetaController.class);
+
+    private final DroneInfoService droneInfoService;
+
+    public MapMetaController(DroneInfoService droneInfoService) {
+        this.droneInfoService = droneInfoService;
+    }
+
+    @GetMapping("/restrictedAreas")
+    public List<RestrictedArea> getRestrictedAreas() {
+        log.info("GET /api/v1/restrictedAreas");
+        return droneInfoService.fetchRestrictedAreas();
+    }
+
+    @GetMapping("/servicePoints")
+    public List<ServicePoint> getServicePoints() {
+        log.info("GET /api/v1/servicePoints");
+        return droneInfoService.fetchServicePoints();
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.html new file mode 100644 index 0000000..c903120 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.controller

io.github.js0ny.ilp_coursework.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 23596%4 of 850%42405802003
DroneController811793%4450%4130280901
ApiController86100%n/a070220701
MapMetaController24100%n/a04080401
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.source.html new file mode 100644 index 0000000..1a0d4a0 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.controller/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.controller

io.github.js0ny.ilp_coursework.controller

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 23596%4 of 850%42405802003
DroneController.java811793%4450%4130280901
ApiController.java86100%n/a070220701
MapMetaController.java24100%n/a04080401
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.html new file mode 100644 index 0000000..f4053eb --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.html @@ -0,0 +1 @@ +AltitudeRange

AltitudeRange

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
AltitudeRange(double, double)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.java.html new file mode 100644 index 0000000..43a5e94 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/AltitudeRange.java.html @@ -0,0 +1,13 @@ +AltitudeRange.java

AltitudeRange.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import io.github.js0ny.ilp_coursework.data.external.RestrictedArea;
+
+/**
+ * Represents a range of altitude values (that is a fly-zone in {@link RestrictedArea}).
+ *
+ * @param lower The lower bound of the altitude range.
+ * @param upper The upper bound of the altitude range. If {@code upper = -1}, then the region is not
+ *     a fly zone.
+ */
+public record AltitudeRange(double lower, double upper) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.html new file mode 100644 index 0000000..96f1046 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.html @@ -0,0 +1 @@ +Angle

Angle

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total34 of 11269%8 of 1442%71452127
fromIndex(int)180%40%333311
Angle(double)132969%4450%351701
toRadians(double)30%n/a111111
snap(double)17100%n/a010301
offset(int)14100%n/a010201
normalize(double)14100%2100%020401
toRadians()4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.java.html new file mode 100644 index 0000000..ecc1bb4 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Angle.java.html @@ -0,0 +1,65 @@ +Angle.java

Angle.java

package io.github.js0ny.ilp_coursework.data.common;
+
+/**
+ * Represents the data transfer object for angle
+ *
+ * @param val value of the angle in degrees
+ */
+public record Angle(double degrees) {
+    private static final double STEP = 22.5;
+    private static final double EPSILON = 1e-10;
+
+    public Angle {
+        if (degrees < 0 || degrees >= 360) {
+            throw new IllegalArgumentException("Angle must be in range [0, 360). Got: " + degrees);
+        }
+
+        // Should be a multiple of 22.5 (one of the 16 major directions)
+        double remainder = degrees % STEP;
+
+        // Floating point modulo may have tiny errors, e.g. 45.0 % 22.5 could be 0.0 or
+        // 1.0e-15
+        // So we need to check if the remainder is small enough, or close enough to STEP
+        // (handling negative errors)
+        if (Math.abs(remainder) > EPSILON && Math.abs(remainder - STEP) > EPSILON) {
+            throw new IllegalArgumentException(
+                    "Angle must be a multiple of 22.5 (one of the 16 major directions). Got: "
+                            + degrees);
+        }
+    }
+
+    public static Angle fromIndex(int index) {
+        if (index < 0 || index > 15) {
+            throw new IllegalArgumentException("Direction index must be between 0 and 15");
+        }
+        return new Angle(index * STEP);
+    }
+
+    public static Angle snap(double rawAngle) {
+        double normalized = normalize(rawAngle);
+        double snapped = Math.round(normalized / STEP) * STEP;
+        return new Angle(normalize(snapped));
+    }
+
+    public Angle offset(int increments) {
+        double rotated = degrees + increments * STEP;
+        return new Angle(normalize(rotated));
+    }
+
+    private static double normalize(double angle) {
+        double normalized = angle % 360;
+        if (normalized < 0) {
+            normalized += 360;
+        }
+        return normalized;
+    }
+
+    public static double toRadians(double degrees) {
+        return Math.toRadians(degrees);
+    }
+
+    public double toRadians() {
+        return Math.toRadians(degrees);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.html new file mode 100644 index 0000000..1d36e6c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.html @@ -0,0 +1 @@ +DroneAvailability

DroneAvailability

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 4591%4 of 850%461602
checkAvailability(DayOfWeek, LocalTime)43288%4450%451501
DroneAvailability(String, TimeWindow[])9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.java.html new file mode 100644 index 0000000..428590a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneAvailability.java.html @@ -0,0 +1,21 @@ +DroneAvailability.java

DroneAvailability.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import java.time.DayOfWeek;
+import java.time.LocalTime;
+
+public record DroneAvailability(String id, TimeWindow[] availability) {
+
+    public boolean checkAvailability(DayOfWeek day, LocalTime time) {
+
+        for (var a : availability) {
+            if (a.dayOfWeek().equals(day)) {
+                if (!time.isBefore(a.from()) && !time.isAfter(a.until())) {
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.html new file mode 100644 index 0000000..36eea0d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.html @@ -0,0 +1 @@ +DroneCapability

DroneCapability

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 24100%0 of 0n/a010101
DroneCapability(boolean, boolean, float, int, float, float, float)24100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.java.html new file mode 100644 index 0000000..534b6ba --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneCapability.java.html @@ -0,0 +1,11 @@ +DroneCapability.java

DroneCapability.java

package io.github.js0ny.ilp_coursework.data.common;
+
+public record DroneCapability(
+        boolean cooling,
+        boolean heating,
+        float capacity,
+        int maxMoves,
+        float costPerMove,
+        float costInitial,
+        float costFinal) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.html new file mode 100644 index 0000000..416b2f9 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.html @@ -0,0 +1 @@ +DroneEvent

DroneEvent

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total238 of 2380%20 of 200%1414434344
fromPathResponseWithTimestamps(DeliveryPathResponse, Map)870%80%55161611
fromPathResponseWithTimestamp(DeliveryPathResponse, LocalDateTime)700%60%44141411
fromPathResponse(DeliveryPathResponse)660%60%44121211
DroneEvent(String, double, double, String)150%n/a111111
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.java.html new file mode 100644 index 0000000..5e12da0 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/DroneEvent.java.html @@ -0,0 +1,93 @@ +DroneEvent.java

DroneEvent.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse;
+
+// Corresponding in Go
+//
+
+/*
+ * type DroneEvent struct {
+ * DroneID string `json:"drone_id"`
+ * Latitude float64 `json:"latitude"`
+ * Longitude float64 `json:"longitude"`
+ * Timestamp string `json:"timestamp"`
+ * }
+ */
+
+public record DroneEvent(
+        String droneId,
+        double latitude,
+        double longitude,
+        String timestamp) {
+
+    final static int STEP = 1; // seconds between events
+    // Helper method that converts from DeliveryPathResponse to List<DroneEvent>
+
+    public static List<DroneEvent> fromPathResponse(DeliveryPathResponse resp) {
+        List<DroneEvent> events = new java.util.ArrayList<>();
+        for (var p : resp.dronePaths()) {
+            String id = p.droneId() + "";
+            for (var d : p.deliveries()) {
+                for (var coord : d.flightPath()) {
+                    String timestamp = java.time.Instant.now().toString();
+                    events.add(new DroneEvent(
+                            id,
+                            coord.lat(),
+                            coord.lng(),
+                            timestamp));
+                }
+            }
+        }
+        return events;
+    }
+
+    // Helper method that converts from DeliveryPathResponse to List<DroneEvent>
+    // with base timestamp
+    public static List<DroneEvent> fromPathResponseWithTimestamp(DeliveryPathResponse resp,
+            LocalDateTime baseTimestamp) {
+        List<DroneEvent> events = new java.util.ArrayList<>();
+        java.time.LocalDateTime timestamp = baseTimestamp;
+        for (var p : resp.dronePaths()) {
+            String id = String.valueOf(p.droneId());
+            for (var d : p.deliveries()) {
+                for (var coord : d.flightPath()) {
+                    events.add(new DroneEvent(
+                            id,
+                            coord.lat(),
+                            coord.lng(),
+                            timestamp.toString()));
+                    timestamp = timestamp.plusSeconds(STEP); // Increment timestamp for each event
+                }
+            }
+        }
+        return events;
+    }
+
+    public static List<DroneEvent> fromPathResponseWithTimestamps(
+            DeliveryPathResponse resp, Map<Integer, LocalDateTime> deliveryTimestamps) {
+        List<DroneEvent> events = new java.util.ArrayList<>();
+        for (var p : resp.dronePaths()) {
+            String id = String.valueOf(p.droneId());
+            for (var d : p.deliveries()) {
+                LocalDateTime timestamp = deliveryTimestamps.get(d.deliveryId());
+                // Fallback to current time if the delivery does not carry a timestamp.
+                System.out.println("Generated event for drone " + id + " at " + timestamp.toString());
+                LocalDateTime current = timestamp != null ? timestamp : LocalDateTime.now();
+                for (var coord : d.flightPath()) {
+                    events.add(new DroneEvent(
+                            id,
+                            coord.lat(),
+                            coord.lng(),
+                            current.toString()));
+                    current = current.plusSeconds(STEP);
+                }
+            }
+        }
+        return events;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.html new file mode 100644 index 0000000..8efbf8c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.html @@ -0,0 +1 @@ +LngLat

LngLat

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total8 of 7088%5 of 1464%51021103
LngLat(double, double)63183%3562%351601
isSamePoint(LngLat)22492%2466%241301
LngLat(LngLatAlt)7100%n/a010201
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.java.html new file mode 100644 index 0000000..528127d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLat.java.html @@ -0,0 +1,36 @@ +LngLat.java

LngLat.java

package io.github.js0ny.ilp_coursework.data.common;
+
+/**
+ * Represents the data transfer object for a point or coordinate that defines by a longitude and
+ * latitude
+ *
+ * @param lng longitude of the coordinate/point
+ * @param lat latitude of the coordinate/point
+ */
+public record LngLat(double lng, double lat) {
+    private static final double EPSILON = 1e-9;
+
+    public LngLat {
+        if (lat < -90 || lat > 90) {
+            throw new IllegalArgumentException(
+                    "Latitude must be between -90 and +90 degrees. Got: " + lat);
+        }
+
+        if (lng < -180 || lng > 180) {
+            throw new IllegalArgumentException(
+                    "Longitude must be between -180 and +180 degrees. Got: " + lng);
+        }
+    }
+
+    public LngLat(LngLatAlt coord) {
+        this(coord.lng(), coord.lat());
+    }
+
+    public boolean isSamePoint(LngLat other) {
+        if (other == null) {
+            return false;
+        }
+        return (Math.abs(lng - other.lng()) < EPSILON && Math.abs(lat - other.lat()) < EPSILON);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.html new file mode 100644 index 0000000..2f6fb6a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.html @@ -0,0 +1 @@ +LngLatAlt

LngLatAlt

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
LngLatAlt(double, double, double)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.java.html new file mode 100644 index 0000000..e8df375 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/LngLatAlt.java.html @@ -0,0 +1,12 @@ +LngLatAlt.java

LngLatAlt.java

package io.github.js0ny.ilp_coursework.data.common;
+
+/**
+ * Represents the data transfer object for a point or coordinate that defines by a longitude and
+ * latitude
+ *
+ * @param lng longitude of the coordinate/point
+ * @param lat latitude of the coordinate/point
+ * @param alt altitude of the coordinate/point
+ */
+public record LngLatAlt(double lng, double lat, double alt) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.html new file mode 100644 index 0000000..931fe40 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.html @@ -0,0 +1 @@ +Region

Region

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total51 of 8439%1 of 475%47111735
toGeoJson()250%n/a116611
toGeoJsonString()180%n/a115511
lambda$toGeoJson$0(LngLat)80%n/a111111
isClosed()24100%1375%130501
Region(String, List)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.java.html new file mode 100644 index 0000000..6bd8d45 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/Region.java.html @@ -0,0 +1,76 @@ +Region.java

Region.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import io.github.js0ny.ilp_coursework.data.request.RegionCheckRequest;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Represents the data transfer object for a region definition
+ *
+ * <p>This record encapsulates the data for calculating if a coordinate is inside the region
+ *
+ * <p>A built-in method {@code isClosedTo} is defined to check this DTO is valid or not in the mean
+ * of closing polygon
+ *
+ * @param name The human-readable name for the region
+ * @param vertices list of coordinates that forms a polygon as a region.
+ *     <p>In order to define a valid region, the last element of the list should be the same as the
+ *     first, or known as closed
+ * @see RegionCheckRequest
+ * @see io.github.js0ny.ilp_coursework.service.GpsCalculationService#checkIsInRegion(LngLat, Region)
+ */
+public record Region(String name, List<LngLat> vertices) {
+    /**
+     * Magic number 4: For a polygon, 3 edges is required.
+     *
+     * <p>In this dto, edges + 1 vertices is required.
+     */
+    private static final int MINIMUM_VERTICES = 4;
+
+    /**
+     * Method to check if the region has a valid polygon by checking if the {@code vertices} forms a
+     * closed polygon
+     *
+     * @return {@code true} if the {@code vertices} are able to form a polygon and form a closed
+     *     polygon
+     */
+    public boolean isClosed() {
+        if (vertices == null || vertices.size() < MINIMUM_VERTICES) {
+            return false;
+        }
+        LngLat first = vertices.getFirst();
+        LngLat last = vertices.getLast();
+        return Objects.equals(last, first);
+    }
+
+    public Map<String, Object> toGeoJson() {
+        try {
+            ObjectMapper mapper = new ObjectMapper();
+
+            List<List<Double>> ring =
+                    vertices.stream().map(v -> List.of(v.lng(), v.lat())).toList();
+
+            return Map.of("type", "Polygon", "coordinates", List.of(ring));
+
+        } catch (Exception e) {
+            throw new RuntimeException("Failed to generate GeoJSON", e);
+        }
+    }
+
+    public String toGeoJsonString() {
+        try {
+            ObjectMapper mapper = new ObjectMapper();
+
+            var geoJson = toGeoJson();
+
+            return mapper.writeValueAsString(geoJson);
+        } catch (Exception e) {
+            throw new RuntimeException("Failed to generate GeoJSON", e);
+        }
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.html new file mode 100644 index 0000000..4ab08a8 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.html @@ -0,0 +1 @@ +TimeWindow

TimeWindow

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
TimeWindow(DayOfWeek, LocalTime, LocalTime)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.java.html new file mode 100644 index 0000000..e45992b --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/TimeWindow.java.html @@ -0,0 +1,7 @@ +TimeWindow.java

TimeWindow.java

package io.github.js0ny.ilp_coursework.data.common;
+
+import java.time.DayOfWeek;
+import java.time.LocalTime;
+
+public record TimeWindow(DayOfWeek dayOfWeek, LocalTime from, LocalTime until) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.html new file mode 100644 index 0000000..4dba206 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.common

io.github.js0ny.ilp_coursework.data.common

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total335 of 60644%38 of 6036%34556210292519
DroneEvent2380%200%141443434411
Region513339%1375%4711173501
Angle347869%8642%7145212701
LngLat86288%5964%5102110301
DroneAvailability44191%4450%46160201
DroneCapability24100%n/a01010101
TimeWindow12100%n/a01010101
LngLatAlt12100%n/a01010101
AltitudeRange9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.source.html new file mode 100644 index 0000000..dad0625 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.common/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.common

io.github.js0ny.ilp_coursework.data.common

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total335 of 60644%38 of 6036%34556210292519
DroneEvent.java2380%200%141443434411
Region.java513339%1375%4711173501
Angle.java347869%8642%7145212701
LngLat.java86288%5964%5102110301
DroneAvailability.java44191%4450%46160201
DroneCapability.java24100%n/a01010101
LngLatAlt.java12100%n/a01010101
TimeWindow.java12100%n/a01010101
AltitudeRange.java9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.html new file mode 100644 index 0000000..c8a20c2 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.html @@ -0,0 +1 @@ +Drone

Drone

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 2180%0 of 0n/a021402
parseId()4555%n/a011301
Drone(String, String, DroneCapability)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.java.html new file mode 100644 index 0000000..e91d4d3 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/Drone.java.html @@ -0,0 +1,16 @@ +Drone.java

Drone.java

package io.github.js0ny.ilp_coursework.data.external;
+
+import io.github.js0ny.ilp_coursework.data.common.DroneCapability;
+
+/** Represents the data transfer object for a drone, gained from the endpoints */
+public record Drone(String name, String id, DroneCapability capability) {
+
+    public int parseId() {
+        try {
+            return Integer.parseInt(id);
+        } catch (NumberFormatException e) {
+            return id.hashCode();
+        }
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.html new file mode 100644 index 0000000..450134d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.html @@ -0,0 +1 @@ +RestrictedArea

RestrictedArea

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 53100%0 of 2100%030502
toRegion()38100%2100%020401
RestrictedArea(String, int, AltitudeRange, LngLatAlt[])15100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.java.html new file mode 100644 index 0000000..0620dd6 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/RestrictedArea.java.html @@ -0,0 +1,20 @@ +RestrictedArea.java

RestrictedArea.java

package io.github.js0ny.ilp_coursework.data.external;
+
+import io.github.js0ny.ilp_coursework.data.common.AltitudeRange;
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.LngLatAlt;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public record RestrictedArea(String name, int id, AltitudeRange limits, LngLatAlt[] vertices) {
+    public Region toRegion() {
+        List<LngLat> vertices2D = new ArrayList<>();
+        for (var vertex : vertices) {
+            vertices2D.add(new LngLat(vertex.lng(), vertex.lat()));
+        }
+        return new Region(name, vertices2D);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.html new file mode 100644 index 0000000..85119f3 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.html @@ -0,0 +1 @@ +ServicePoint

ServicePoint

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
ServicePoint(String, int, LngLatAlt)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.java.html new file mode 100644 index 0000000..04585da --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePoint.java.html @@ -0,0 +1,6 @@ +ServicePoint.java

ServicePoint.java

package io.github.js0ny.ilp_coursework.data.external;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLatAlt;
+
+public record ServicePoint(String name, int id, LngLatAlt location) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.html new file mode 100644 index 0000000..da27104 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.html @@ -0,0 +1 @@ +ServicePointDrones

ServicePointDrones

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total4 of 3588%2 of 450%241502
locateDroneById(String)42284%2250%231401
ServicePointDrones(int, DroneAvailability[])9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.java.html new file mode 100644 index 0000000..85c43b3 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/ServicePointDrones.java.html @@ -0,0 +1,19 @@ +ServicePointDrones.java

ServicePointDrones.java

package io.github.js0ny.ilp_coursework.data.external;
+
+import io.github.js0ny.ilp_coursework.data.common.DroneAvailability;
+
+import org.springframework.lang.Nullable;
+
+public record ServicePointDrones(int servicePointId, DroneAvailability[] drones) {
+
+    @Nullable
+    public DroneAvailability locateDroneById(String droneId) {
+        for (var drone : drones) {
+            if (drone.id().equals(droneId)) {
+                return drone;
+            }
+        }
+        return null;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.html new file mode 100644 index 0000000..afe6240 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.external

io.github.js0ny.ilp_coursework.data.external

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 12193%2 of 666%2102150704
ServicePointDrones43188%2250%24150201
Drone41780%n/a02140201
RestrictedArea53100%2100%03050201
ServicePoint12100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.source.html new file mode 100644 index 0000000..b1a15a6 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.external/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.external

io.github.js0ny.ilp_coursework.data.external

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total8 of 12193%2 of 666%2102150704
ServicePointDrones.java43188%2250%24150201
Drone.java41780%n/a02140201
RestrictedArea.java53100%2100%03050201
ServicePoint.java12100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.html new file mode 100644 index 0000000..e4c0539 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.html @@ -0,0 +1 @@ +AttrQueryRequest

AttrQueryRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
AttrQueryRequest(String, String, String)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.java.html new file mode 100644 index 0000000..91373be --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/AttrQueryRequest.java.html @@ -0,0 +1,7 @@ +AttrQueryRequest.java

AttrQueryRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+// TODO: Convert operator to Enum
+// import io.github.js0ny.ilp_coursework.util.AttrOperator;
+
+public record AttrQueryRequest(String attribute, String operator, String value) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.html new file mode 100644 index 0000000..13f2d9c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.html @@ -0,0 +1 @@ +DistanceRequest

DistanceRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
DistanceRequest(LngLat, LngLat)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.java.html new file mode 100644 index 0000000..d91a5d2 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/DistanceRequest.java.html @@ -0,0 +1,15 @@ +DistanceRequest.java

DistanceRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+
+/**
+ * Represents the data transfer object for a distance operation request.
+ *
+ * <p>This record encapsulates the data for several endpoints that involves two {@code LngLatDto}
+ * and serves as the data contract for those API operation
+ *
+ * @param position1 Nested object of {@link LngLat}
+ * @param position2 Nested object of {@link LngLat}
+ */
+public record DistanceRequest(LngLat position1, LngLat position2) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest$MedRequirement.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest$MedRequirement.html new file mode 100644 index 0000000..e107076 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest$MedRequirement.html @@ -0,0 +1 @@ +MedDispatchRecRequest.MedRequirement

MedDispatchRecRequest.MedRequirement

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 15100%0 of 0n/a010101
MedDispatchRecRequest.MedRequirement(float, boolean, boolean, float)15100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.html new file mode 100644 index 0000000..a5f0555 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.html @@ -0,0 +1 @@ +MedDispatchRecRequest

MedDispatchRecRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 18100%0 of 0n/a010101
MedDispatchRecRequest(int, LocalDate, LocalTime, MedDispatchRecRequest.MedRequirement, LngLat)18100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.java.html new file mode 100644 index 0000000..47d26da --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MedDispatchRecRequest.java.html @@ -0,0 +1,16 @@ +MedDispatchRecRequest.java

MedDispatchRecRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+
+import java.time.LocalDate;
+import java.time.LocalTime;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record MedDispatchRecRequest(
+        int id, LocalDate date, LocalTime time, MedRequirement requirements, LngLat delivery) {
+    @JsonIgnoreProperties(ignoreUnknown = true)
+    public record MedRequirement(float capacity, boolean cooling, boolean heating, float maxCost) {}
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.html new file mode 100644 index 0000000..2189b6d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.html @@ -0,0 +1 @@ +MovementRequest

MovementRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
MovementRequest(LngLat, double)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.java.html new file mode 100644 index 0000000..ba0a54a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/MovementRequest.java.html @@ -0,0 +1,17 @@ +MovementRequest.java

MovementRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+
+/**
+ * Represents the data transfer object for a movement action request.
+ *
+ * <p>This record encapsulates the data for endpoint /api/v1/nextPosition and serves as the data
+ * contract for this API operation
+ *
+ * @param start The starting coordinate of the movement
+ * @param angle The angle to movement in degree. This corresponds to compass directions. For
+ *     example: 0 for East, 90 for North
+ * @see io.github.js0ny.ilp_coursework.controller.ApiController#getNextPosition(MovementRequest)
+ */
+public record MovementRequest(LngLat start, double angle) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.html new file mode 100644 index 0000000..f94bf44 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.html @@ -0,0 +1 @@ +RegionCheckRequest

RegionCheckRequest

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
RegionCheckRequest(LngLat, Region)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.java.html new file mode 100644 index 0000000..84d6587 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/RegionCheckRequest.java.html @@ -0,0 +1,19 @@ +RegionCheckRequest.java

RegionCheckRequest.java

package io.github.js0ny.ilp_coursework.data.request;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+
+/**
+ * Represents the data transfer object for a region check request.
+ *
+ * <p>This record encapsulates the data for endpoint /api/v1/isInRegion and serves as the data
+ * contract for this API operation
+ *
+ * <p>
+ *
+ * @param position The coordinate to be checked
+ * @param region The region for the check. This is a nested object represented by {@link Region}
+ * @see io.github.js0ny.ilp_coursework.controller.ApiController#getIsInRegion(RegionCheckRequest)
+ */
+public record RegionCheckRequest(LngLat position, Region region) {}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.html new file mode 100644 index 0000000..01aab12 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.request

io.github.js0ny.ilp_coursework.data.request

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 72100%0 of 0n/a06060606
MedDispatchRecRequest18100%n/a01010101
MedDispatchRecRequest.MedRequirement15100%n/a01010101
AttrQueryRequest12100%n/a01010101
DistanceRequest9100%n/a01010101
MovementRequest9100%n/a01010101
RegionCheckRequest9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.source.html new file mode 100644 index 0000000..37fecfc --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.request/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.request

io.github.js0ny.ilp_coursework.data.request

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 72100%0 of 0n/a06060606
MedDispatchRecRequest.java33100%n/a02020202
AttrQueryRequest.java12100%n/a01010101
RegionCheckRequest.java9100%n/a01010101
MovementRequest.java9100%n/a01010101
DistanceRequest.java9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath$Delivery.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath$Delivery.html new file mode 100644 index 0000000..22d6eef --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath$Delivery.html @@ -0,0 +1 @@ +DeliveryPathResponse.DronePath.Delivery

DeliveryPathResponse.DronePath.Delivery

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
DeliveryPathResponse.DronePath.Delivery(int, List)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath.html new file mode 100644 index 0000000..9896b43 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse$DronePath.html @@ -0,0 +1 @@ +DeliveryPathResponse.DronePath

DeliveryPathResponse.DronePath

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 9100%0 of 0n/a010101
DeliveryPathResponse.DronePath(int, List)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.html new file mode 100644 index 0000000..225bab9 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.html @@ -0,0 +1 @@ +DeliveryPathResponse

DeliveryPathResponse

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
DeliveryPathResponse(float, int, DeliveryPathResponse.DronePath[])12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.java.html new file mode 100644 index 0000000..909f21c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/DeliveryPathResponse.java.html @@ -0,0 +1,12 @@ +DeliveryPathResponse.java

DeliveryPathResponse.java

package io.github.js0ny.ilp_coursework.data.response;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+
+import java.util.List;
+
+public record DeliveryPathResponse(float totalCost, int totalMoves, DronePath[] dronePaths) {
+    public record DronePath(int droneId, List<Delivery> deliveries) {
+        public record Delivery(int deliveryId, List<LngLat> flightPath) {}
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.html new file mode 100644 index 0000000..9042fa1 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.response

io.github.js0ny.ilp_coursework.data.response

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 30100%0 of 0n/a03030303
DeliveryPathResponse12100%n/a01010101
DeliveryPathResponse.DronePath9100%n/a01010101
DeliveryPathResponse.DronePath.Delivery9100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.source.html new file mode 100644 index 0000000..516aad9 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.data.response/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.data.response

io.github.js0ny.ilp_coursework.data.response

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 30100%0 of 0n/a03030303
DeliveryPathResponse.java30100%n/a03030303
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.html new file mode 100644 index 0000000..1ae45e4 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.html @@ -0,0 +1 @@ +GlobalExceptionHandler

GlobalExceptionHandler

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 51100%0 of 0n/a0601406
handleIllegalArgument(IllegalArgumentException)14100%n/a010401
GlobalExceptionHandler()10100%n/a010301
handleHttpMessageNotReadable(HttpMessageNotReadableException)8100%n/a010201
handleGeneralException(Exception)8100%n/a010201
handleNullPointerException(Exception)7100%n/a010201
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.java.html new file mode 100644 index 0000000..a3b0e93 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.java.html @@ -0,0 +1,53 @@ +GlobalExceptionHandler.java

GlobalExceptionHandler.java

package io.github.js0ny.ilp_coursework.exception;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.converter.HttpMessageNotReadableException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+import java.util.Map;
+import java.util.Optional;
+
+/** Class that handles exception or failed request. Map all error requests to 400. */
+@RestControllerAdvice
+public class GlobalExceptionHandler {
+
+    /// Use a logger to save logs instead of passing them to user
+    private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+    private final Map<String, String> badRequestMap =
+            Map.of("status", "400", "error", "Bad Request");
+
+    @ExceptionHandler(HttpMessageNotReadableException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    public Map<String, String> handleHttpMessageNotReadable(HttpMessageNotReadableException ex) {
+        log.warn("Malformed JSON received: {}", ex.getMessage());
+        return badRequestMap;
+    }
+
+    @ExceptionHandler(IllegalArgumentException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    public Map<String, String> handleIllegalArgument(IllegalArgumentException ex) {
+        String errorMessage =
+                Optional.ofNullable(ex.getMessage()).orElse("Invalid argument provided.");
+        log.warn("Illegal argument in request: {}", errorMessage);
+        return badRequestMap;
+    }
+
+    @ExceptionHandler(NullPointerException.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    public Map<String, String> handleNullPointerException(Exception ex) {
+        log.error("NullPointerException occurred. Return 400 by default.", ex);
+        return badRequestMap;
+    }
+
+    @ExceptionHandler(Exception.class)
+    @ResponseStatus(HttpStatus.BAD_REQUEST)
+    public Map<String, String> handleGeneralException(Exception ex) {
+        log.error("Fallback exception received: {}", ex.getMessage());
+        return badRequestMap;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.html new file mode 100644 index 0000000..b00d425 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.exception

io.github.js0ny.ilp_coursework.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 51100%0 of 0n/a060140601
GlobalExceptionHandler51100%n/a060140601
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.source.html new file mode 100644 index 0000000..f61e5e3 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.exception/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.exception

io.github.js0ny.ilp_coursework.exception

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total0 of 51100%0 of 0n/a060140601
GlobalExceptionHandler.java51100%n/a060140601
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.html new file mode 100644 index 0000000..b536de8 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.html @@ -0,0 +1 @@ +DroneAttrComparatorService

DroneAttrComparatorService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total19 of 15187%7 of 1656%51353805
DroneAttrComparatorService()132060%5116%3431001
dronesWithAttributeCompared(String, String, AttrOperator)43389%1150%121901
lambda$dronesWithAttributeCompared$0(ObjectMapper, String, String, AttrOperator, Drone)21588%1150%121501
dronesSatisfyingAttributes(AttrQueryRequest[])58100%6100%0401301
dronesWithAttribute(String, String)6100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.java.html new file mode 100644 index 0000000..f877a38 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.java.html @@ -0,0 +1,130 @@ +DroneAttrComparatorService.java

DroneAttrComparatorService.java

package io.github.js0ny.ilp_coursework.service;
+
+import static io.github.js0ny.ilp_coursework.util.AttrComparator.isValueMatched;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import io.github.js0ny.ilp_coursework.data.external.Drone;
+import io.github.js0ny.ilp_coursework.data.request.AttrQueryRequest;
+import io.github.js0ny.ilp_coursework.util.AttrOperator;
+
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+@Service
+public class DroneAttrComparatorService {
+
+    private final String baseUrl;
+    private final String dronesEndpoint = "drones";
+    private final RestTemplate restTemplate = new RestTemplate();
+
+    /** Constructor, handles the base url here. */
+    public DroneAttrComparatorService() {
+        String baseUrl = System.getenv("ILP_ENDPOINT");
+        if (baseUrl == null || baseUrl.isBlank()) {
+            this.baseUrl = "https://ilp-rest-2025-bvh6e9hschfagrgy.ukwest-01.azurewebsites.net/";
+        } else {
+            // Defensive: Add '/' to the end of the URL
+            if (!baseUrl.endsWith("/")) {
+                baseUrl += "/";
+            }
+            this.baseUrl = baseUrl;
+        }
+    }
+
+    /**
+     * Return an array of ids of drones with a given attribute name and value.
+     *
+     * <p>Associated service method with {@code /queryAsPath/{attrName}/{attrVal}}
+     *
+     * @param attrName the attribute name to filter on
+     * @param attrVal the attribute value to filter on
+     * @return array of drone ids matching the attribute name and value
+     * @see #dronesWithAttributeCompared(String, String, AttrOperator)
+     * @see io.github.js0ny.ilp_coursework.controller.DroneController#getIdByAttrMap
+     */
+    public List<String> dronesWithAttribute(String attrName, String attrVal) {
+        // Call the helper with EQ operator
+        return dronesWithAttributeCompared(attrName, attrVal, AttrOperator.EQ);
+    }
+
+    /**
+     * Return an array of ids of drones which matches all given complex comparing rules
+     *
+     * @param attrComparators The filter rule with Name, Value and Operator
+     * @return array of drone ids that matches all rules
+     */
+    public List<String> dronesSatisfyingAttributes(AttrQueryRequest[] attrComparators) {
+        Set<String> matchingDroneIds = null;
+        for (var comparator : attrComparators) {
+            String attribute = comparator.attribute();
+            String operator = comparator.operator();
+            String value = comparator.value();
+            AttrOperator op = AttrOperator.fromString(operator);
+            List<String> ids = dronesWithAttributeCompared(attribute, value, op);
+            if (matchingDroneIds == null) {
+                matchingDroneIds = new HashSet<>(ids);
+            } else {
+                matchingDroneIds.retainAll(ids);
+            }
+        }
+        if (matchingDroneIds == null) {
+            return new ArrayList<>();
+        }
+        return matchingDroneIds.stream().toList();
+    }
+
+    /**
+     * Helper that wraps the dynamic querying with different comparison operators
+     *
+     * <p>This method act as a concatenation of {@link
+     * io.github.js0ny.ilp_coursework.util.AttrComparator#isValueMatched(JsonNode, String,
+     * AttrOperator)}
+     *
+     * @param attrName the attribute name to filter on
+     * @param attrVal the attribute value to filter on
+     * @param op the comparison operator
+     * @return array of drone ids matching the attribute name and value (filtered by {@code op})
+     * @see io.github.js0ny.ilp_coursework.util.AttrComparator#isValueMatched(JsonNode, String,
+     *     AttrOperator)
+     */
+    private List<String> dronesWithAttributeCompared(
+            String attrName, String attrVal, AttrOperator op) {
+        URI droneUrl = URI.create(baseUrl).resolve(dronesEndpoint);
+        // This is required to make sure the response is valid
+        Drone[] drones = restTemplate.getForObject(droneUrl, Drone[].class);
+
+        if (drones == null) {
+            return new ArrayList<>();
+        }
+
+        // Use Jackson's ObjectMapper to convert DroneDto to JsonNode for dynamic
+        // querying
+        ObjectMapper mapper = new ObjectMapper();
+
+        return Arrays.stream(drones)
+                .filter(
+                        drone -> {
+                            JsonNode node = mapper.valueToTree(drone);
+                            JsonNode attrNode = node.findValue(attrName);
+                            if (attrNode != null) {
+                                // Manually handle different types of JsonNode
+                                return isValueMatched(attrNode, attrVal, op);
+                            } else {
+                                return false;
+                            }
+                        })
+                .map(Drone::id)
+                .collect(Collectors.toList());
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.html new file mode 100644 index 0000000..462797c --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.html @@ -0,0 +1 @@ +DroneInfoService

DroneInfoService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total142 of 48570%37 of 7450%305622104219
queryServicePointLocationByDroneId(String)490%60%449911
queryServicePointLocation(int)480%60%448811
DroneInfoService(RestTemplate)131858%5116%3431001
checkAvailability(String, MedDispatchRecRequest)85086%3350%3411201
droneMatchesRequirement(Drone, MedDispatchRecRequest)66691%91359%81201401
fetchRestrictedAreas()41982%1150%120501
fetchServicePoints()41982%1150%120501
fetchDronesForServicePoints()41982%1150%120501
dronesWithCooling(boolean)41680%1150%121701
lambda$dronesMatchesRequirements$2(MedDispatchRecRequest)1888%2250%230101
lambda$dronesMatchesRequirements$1(Drone)1888%2250%230101
dronesMatchesRequirements(MedDispatchRecRequest[])32100%4100%0301101
fetchAllDrones()32100%2100%020601
droneDetail(String)26100%4100%030601
lambda$dronesMatchesRequirements$4(MedDispatchRecRequest[], Drone)9100%n/a010301
lambda$dronesWithCooling$0(boolean, Drone)9100%2100%020101
DroneInfoService()6100%n/a010201
lambda$dronesMatchesRequirements$3(Drone, MedDispatchRecRequest)5100%n/a010101
static {...}1100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.java.html new file mode 100644 index 0000000..38df0f0 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/DroneInfoService.java.html @@ -0,0 +1,271 @@ +DroneInfoService.java

DroneInfoService.java

package io.github.js0ny.ilp_coursework.service;
+
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.external.Drone;
+import io.github.js0ny.ilp_coursework.data.external.RestrictedArea;
+import io.github.js0ny.ilp_coursework.data.external.ServicePoint;
+import io.github.js0ny.ilp_coursework.data.external.ServicePointDrones;
+import io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest;
+
+import org.springframework.lang.Nullable;
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import java.net.URI;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalTime;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+public class DroneInfoService {
+
+    private final String baseUrl;
+    private final String dronesForServicePointsEndpoint = "drones-for-service-points";
+    public static final String servicePointsEndpoint = "service-points";
+    public static final String restrictedAreasEndpoint = "restricted-areas";
+
+    private final RestTemplate restTemplate;
+
+    /** Constructor, handles the base url here. */
+    public DroneInfoService() {
+        this(new RestTemplate());
+    }
+
+    public DroneInfoService(RestTemplate restTemplate) {
+        this.restTemplate = restTemplate;
+        String baseUrl = System.getenv("ILP_ENDPOINT");
+        if (baseUrl == null || baseUrl.isBlank()) {
+            this.baseUrl = "https://ilp-rest-2025-bvh6e9hschfagrgy.ukwest-01.azurewebsites.net/";
+        } else {
+            // Defensive: Add '/' to the end of the URL
+            if (!baseUrl.endsWith("/")) {
+                baseUrl += "/";
+            }
+            this.baseUrl = baseUrl;
+        }
+    }
+
+    /**
+     * Return an array of ids of drones with/without cooling capability
+     *
+     * <p>Associated service method with {@code /dronesWithCooling/{state}}
+     *
+     * @param state determines the capability filtering
+     * @return if {@code state} is true, return ids of drones with cooling capability, else without
+     *     cooling
+     * @see
+     *     io.github.js0ny.ilp_coursework.controller.DroneController#getDronesWithCoolingCapability(boolean)
+     */
+    public List<String> dronesWithCooling(boolean state) {
+        // URI droneUrl = URI.create(baseUrl).resolve(dronesEndpoint);
+        // Drone[] drones = restTemplate.getForObject(droneUrl, Drone[].class);
+        List<Drone> drones = fetchAllDrones();
+
+        if (drones == null) {
+            return new ArrayList<>();
+        }
+
+        return drones.stream()
+                .filter(drone -> drone.capability().cooling() == state)
+                .map(Drone::id)
+                .collect(Collectors.toList());
+    }
+
+    /**
+     * Return a {@link Drone}-style json data structure with the given {@code id}
+     *
+     * <p>Associated service method with {@code /droneDetails/{id}}
+     *
+     * @param id The id of the drone
+     * @return drone json body of given id
+     * @throws NullPointerException when cannot fetch available drones from remote
+     * @throws IllegalArgumentException when drone with given {@code id} cannot be found this should
+     *     lead to a 404
+     * @see io.github.js0ny.ilp_coursework.controller.DroneController#getDroneDetail(String)
+     */
+    public Drone droneDetail(String id) {
+        List<Drone> drones = fetchAllDrones();
+
+        for (var drone : drones) {
+            if (drone.id().equals(id)) {
+                return drone;
+            }
+        }
+
+        // This will result in 404
+        throw new IllegalArgumentException("drone with that ID cannot be found");
+    }
+
+    /**
+     * Return an array of ids of drones that match all the requirements in the medical dispatch
+     * records
+     *
+     * <p>Associated service method with
+     *
+     * @param rec array of medical dispatch records
+     * @return List of drone ids that match all the requirements
+     * @see io.github.js0ny.ilp_coursework.controller.DroneController#queryAvailableDrones
+     */
+    public List<String> dronesMatchesRequirements(MedDispatchRecRequest[] rec) {
+        List<Drone> drones = fetchAllDrones();
+
+        if (rec == null || rec.length == 0) {
+            return drones.stream()
+                    .filter(Objects::nonNull)
+                    .map(Drone::id)
+                    .collect(Collectors.toList());
+        }
+
+        /*
+         * Traverse and filter drones, pass every record's requirement to helper
+         */
+        return drones.stream()
+                .filter(d -> d != null && d.capability() != null)
+                .filter(
+                        d ->
+                                Arrays.stream(rec)
+                                        .filter(r -> r != null && r.requirements() != null)
+                                        .allMatch(r -> droneMatchesRequirement(d, r)))
+                .map(Drone::id)
+                .collect(Collectors.toList());
+    }
+
+    /**
+     * Helper to check if a drone meets the requirement of a medical dispatch.
+     *
+     * @param drone the drone to be checked
+     * @param record the medical dispatch record containing the requirement
+     * @return true if the drone meets the requirement, false otherwise
+     * @throws IllegalArgumentException when record requirements or drone capability is invalid
+     *     (capacity and id cannot be null in {@code MedDispathRecDto})
+     */
+    public boolean droneMatchesRequirement(Drone drone, MedDispatchRecRequest record) {
+        var requirements = record.requirements();
+        if (requirements == null) {
+            throw new IllegalArgumentException("requirements cannot be null");
+        }
+        var capability = drone.capability();
+        if (capability == null) {
+            throw new IllegalArgumentException("drone capability cannot be null");
+        }
+
+        float requiredCapacity = requirements.capacity();
+        if (requiredCapacity <= 0 || capability.capacity() < requiredCapacity) {
+            return false;
+        }
+
+        // Use boolean wrapper to allow null (not specified) values
+        boolean requiredCooling = requirements.cooling();
+        boolean requiredHeating = requirements.heating();
+
+        // Case 1: required is null: We don't care about it
+        // Case 2: required is false: We don't care about it (high capability adapts to
+        // low requirements)
+        // Case 3: capability is true: Then always matches
+        // See: https://piazza.com/class/me9vp64lfgf4sn/post/100
+        boolean matchesCooling = !requiredCooling || capability.cooling();
+        boolean matchesHeating = !requiredHeating || capability.heating();
+
+        // Conditions: All requirements matched + availability matched, use helper
+        // For minimal privilege, only pass drone id to check availability
+        return (matchesCooling && matchesHeating && checkAvailability(drone.id(), record)); // &&
+        // checkCost(drone, record) // checkCost is more expensive than
+        // checkAvailability
+    }
+
+    /**
+     * Helper to check if a drone is available at the required date and time
+     *
+     * @param droneId the id of the drone to be checked
+     * @param record the medical dispatch record containing the required date and time
+     * @return true if the drone is available, false otherwise
+     */
+    private boolean checkAvailability(String droneId, MedDispatchRecRequest record) {
+        URI droneUrl = URI.create(baseUrl).resolve(dronesForServicePointsEndpoint);
+        ServicePointDrones[] servicePoints =
+                restTemplate.getForObject(droneUrl, ServicePointDrones[].class);
+
+        LocalDate requiredDate = record.date();
+        DayOfWeek requiredDay = requiredDate.getDayOfWeek();
+        LocalTime requiredTime = record.time();
+
+        assert servicePoints != null;
+        for (var servicePoint : servicePoints) {
+            var drone = servicePoint.locateDroneById(droneId); // Nullable
+            if (drone != null) {
+                return drone.checkAvailability(requiredDay, requiredTime);
+            }
+        }
+
+        return false;
+    }
+
+    private LngLat queryServicePointLocationByDroneId(String droneId) {
+        URI droneUrl = URI.create(baseUrl).resolve(dronesForServicePointsEndpoint);
+        ServicePointDrones[] servicePoints =
+                restTemplate.getForObject(droneUrl, ServicePointDrones[].class);
+
+        assert servicePoints != null;
+        for (var sp : servicePoints) {
+            var drone = sp.locateDroneById(droneId); // Nullable
+            if (drone != null) {
+                return queryServicePointLocation(sp.servicePointId());
+            }
+        }
+
+        return null;
+    }
+
+    @Nullable
+    private LngLat queryServicePointLocation(int id) {
+        URI servicePointUrl = URI.create(baseUrl).resolve(servicePointsEndpoint);
+
+        ServicePoint[] servicePoints =
+                restTemplate.getForObject(servicePointUrl, ServicePoint[].class);
+
+        assert servicePoints != null;
+        for (var sp : servicePoints) {
+            if (sp.id() == id) {
+                // We dont consider altitude
+                return new LngLat(sp.location());
+            }
+        }
+        return null;
+    }
+
+    public List<Drone> fetchAllDrones() {
+        System.out.println("fetchAllDrones called");
+        String dronesEndpoint = "drones";
+        URI droneUrl = URI.create(baseUrl).resolve(dronesEndpoint);
+        System.out.println("Fetching from URL: " + droneUrl);
+        Drone[] drones = restTemplate.getForObject(droneUrl, Drone[].class);
+        return drones == null ? new ArrayList<>() : Arrays.asList(drones);
+    }
+
+    public List<RestrictedArea> fetchRestrictedAreas() {
+        URI restrictedUrl = URI.create(baseUrl).resolve(restrictedAreasEndpoint);
+        RestrictedArea[] restrictedAreas =
+                restTemplate.getForObject(restrictedUrl, RestrictedArea[].class);
+        assert restrictedAreas != null;
+        return Arrays.asList(restrictedAreas);
+    }
+
+    public List<ServicePoint> fetchServicePoints() {
+        URI servicePointUrl = URI.create(baseUrl).resolve(servicePointsEndpoint);
+        ServicePoint[] servicePoints =
+                restTemplate.getForObject(servicePointUrl, ServicePoint[].class);
+        assert servicePoints != null;
+        return Arrays.asList(servicePoints);
+    }
+
+    public List<ServicePointDrones> fetchDronesForServicePoints() {
+        URI servicePointDronesUrl = URI.create(baseUrl).resolve(dronesForServicePointsEndpoint);
+        ServicePointDrones[] servicePointDrones =
+                restTemplate.getForObject(servicePointDronesUrl, ServicePointDrones[].class);
+        assert servicePointDrones != null;
+        return Arrays.asList(servicePointDrones);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.html new file mode 100644 index 0000000..8156724 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.html @@ -0,0 +1 @@ +GpsCalculationService

GpsCalculationService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total10 of 27096%2 of 3494%32534518
calculateSteps(LngLat, LngLat)90%n/a112211
rayCasting(LngLat, List)110199%11593%1912001
isPointOnEdge(LngLat, LngLat, LngLat)83100%11392%1801001
nextPosition(LngLat, Angle)25100%n/a010401
calculateDistance(LngLat, LngLat)21100%n/a010301
checkIsInRegion(LngLat, Region)14100%2100%020301
isCloseTo(LngLat, LngLat)13100%2100%020201
GpsCalculationService()3100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.java.html new file mode 100644 index 0000000..3c47c3f --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/GpsCalculationService.java.html @@ -0,0 +1,190 @@ +GpsCalculationService.java

GpsCalculationService.java

package io.github.js0ny.ilp_coursework.service;
+
+import io.github.js0ny.ilp_coursework.data.common.Angle;
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+import io.github.js0ny.ilp_coursework.data.request.DistanceRequest;
+import io.github.js0ny.ilp_coursework.data.request.MovementRequest;
+import io.github.js0ny.ilp_coursework.data.request.RegionCheckRequest;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Class that handles calculations about Coordinates
+ *
+ * @see LngLat
+ * @see Region
+ */
+@Service
+public class GpsCalculationService {
+
+    /**
+     * Given step size
+     *
+     * @see #nextPosition(LngLat, double)
+     */
+    private static final double STEP = 0.00015;
+
+    /**
+     * Given threshold to judge if two points are close to each other
+     *
+     * @see #isCloseTo(LngLat, LngLat)
+     */
+    private static final double CLOSE_THRESHOLD = 0.00015;
+
+    /**
+     * Calculate the Euclidean distance between {@code position1} and {@code position2}, which are
+     * coordinates defined as {@link LngLat}
+     *
+     * @param position1 The coordinate of the first position
+     * @param position2 The coordinate of the second position
+     * @return The Euclidean distance between {@code position1} and {@code position2}
+     * @see io.github.js0ny.ilp_coursework.controller.ApiController#getDistance(DistanceRequest)
+     */
+    public double calculateDistance(LngLat position1, LngLat position2) {
+        double lngDistance = position2.lng() - position1.lng();
+        double latDistance = position2.lat() - position1.lat();
+        // Euclidean: \sqrt{a^2 + b^2}
+        return Math.sqrt(lngDistance * lngDistance + latDistance * latDistance);
+    }
+
+    public double calculateSteps(LngLat position1, LngLat position2) {
+        double distance = calculateDistance(position1, position2);
+        return distance / STEP;
+    }
+
+    /**
+     * Check if {@code position1} and {@code position2} are close to each other, the threshold is <
+     * 0.00015
+     *
+     * <p>Note that = 0.00015 will be counted as not close to and will return {@code false}
+     *
+     * @param position1 The coordinate of the first position
+     * @param position2 The coordinate of the second position
+     * @return {@code true} if {@code position1} and {@code position2} are close to each other
+     * @see #CLOSE_THRESHOLD
+     * @see io.github.js0ny.ilp_coursework.controller.ApiController#getIsCloseTo(DistanceRequest)
+     */
+    public boolean isCloseTo(LngLat position1, LngLat position2) {
+        double distance = calculateDistance(position1, position2);
+        return distance < CLOSE_THRESHOLD;
+    }
+
+    /**
+     * Returns the next position moved from {@code start} in the direction with {@code angle}, with
+     * step size 0.00015
+     *
+     * @param start The coordinate of the original start point.
+     * @param angle The direction to be moved in angle.
+     * @return The next position moved from {@code start}
+     * @see #STEP
+     * @see io.github.js0ny.ilp_coursework.controller.ApiController#getNextPosition(MovementRequest)
+     */
+    public LngLat nextPosition(LngLat start, Angle angle) {
+        double rad = angle.toRadians();
+        double newLng = Math.cos(rad) * STEP + start.lng();
+        double newLat = Math.sin(rad) * STEP + start.lat();
+        return new LngLat(newLng, newLat);
+    }
+
+    /**
+     * Used to check if the given {@code position} is inside the {@code region}, on edge and vertex
+     * is considered as inside.
+     *
+     * @param position The coordinate of the position.
+     * @param region A {@link Region} that contains name and a list of {@code LngLatDto}
+     * @return {@code true} if {@code position} is inside the {@code region}.
+     * @throws IllegalArgumentException If {@code region} is not closed
+     * @see
+     *     io.github.js0ny.ilp_coursework.controller.ApiController#getIsInRegion(RegionCheckRequest)
+     * @see Region#isClosed()
+     */
+    public boolean checkIsInRegion(LngLat position, Region region) throws IllegalArgumentException {
+        if (!region.isClosed()) {
+            // call method from RegionDto to check if not closed
+            throw new IllegalArgumentException("Region is not closed.");
+        }
+        return rayCasting(position, region.vertices());
+    }
+
+    /**
+     * Helper function to {@code checkIsInRegion}, use of ray-casting algorithm to check if inside
+     * the polygon
+     *
+     * @param point The point to check
+     * @param polygon The region that forms a polygon to check if {@code point} sits inside.
+     * @return If the {@code point} sits inside the {@code polygon} then return {@code true}
+     * @see #isPointOnEdge(LngLat, LngLat, LngLat)
+     * @see #checkIsInRegion(LngLat, Region)
+     */
+    private boolean rayCasting(LngLat point, List<LngLat> polygon) {
+        int intersections = 0;
+        int n = polygon.size();
+        for (int i = 0; i < n; ++i) {
+            LngLat a = polygon.get(i);
+            LngLat b = polygon.get((i + 1) % n); // Next vertex
+
+            if (isPointOnEdge(point, a, b)) {
+                return true;
+            }
+
+            // Ensure that `a` is norther than `b`, in order to easy classification
+            if (a.lat() > b.lat()) {
+                LngLat temp = a;
+                a = b;
+                b = temp;
+            }
+
+            // The point is not between a and b in latitude mean, skip this loop
+            if (point.lat() < a.lat() || point.lat() >= b.lat()) {
+                continue;
+            }
+
+            // Skip the case of horizontal edge, already handled in `isPointOnEdge`:w
+            if (a.lat() == b.lat()) {
+                continue;
+            }
+
+            double xIntersection =
+                    a.lng() + ((point.lat() - a.lat()) * (b.lng() - a.lng())) / (b.lat() - a.lat());
+
+            if (xIntersection > point.lng()) {
+                ++intersections;
+            }
+        }
+        // If intersections are odd, ray-casting returns true, which the point sits
+        // inside the polygon;
+        // If intersections are even, the point does not sit inside the polygon.
+        return intersections % 2 == 1;
+    }
+
+    /**
+     * Helper function from {@code rayCasting} that used to simply calculation <br>
+     * Used to check if point {@code p} is on the edge formed by {@code a} and {@code b}
+     *
+     * @param p point to be checked on the edge
+     * @param a point that forms the edge
+     * @param b point that forms the edge
+     * @return {@code true} if {@code p} is on {@code ab}
+     * @see #rayCasting(LngLat, List)
+     */
+    private boolean isPointOnEdge(LngLat p, LngLat a, LngLat b) {
+        // Cross product: (p - a) × (b - a)
+        double crossProduct =
+                (p.lng() - a.lng()) * (b.lat() - a.lat())
+                        - (p.lat() - a.lat()) * (b.lng() - a.lng());
+        if (Math.abs(crossProduct) > 1e-9) {
+            return false;
+        }
+
+        boolean isWithinLng =
+                p.lng() >= Math.min(a.lng(), b.lng()) && p.lng() <= Math.max(a.lng(), b.lng());
+        boolean isWithinLat =
+                p.lat() >= Math.min(a.lat(), b.lat()) && p.lat() <= Math.max(a.lat(), b.lat());
+
+        return isWithinLng && isWithinLat;
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$PathSegment.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$PathSegment.html new file mode 100644 index 0000000..e32e797 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$PathSegment.html @@ -0,0 +1 @@ +PathFinderService.PathSegment

PathFinderService.PathSegment

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 27100%0 of 2100%030402
appendSkippingStart(List)18100%2100%020301
PathFinderService.PathSegment(List, int)9100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$TripResult.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$TripResult.html new file mode 100644 index 0000000..22f68f0 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService$TripResult.html @@ -0,0 +1 @@ +PathFinderService.TripResult

PathFinderService.TripResult

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 12100%0 of 0n/a010101
PathFinderService.TripResult(DeliveryPathResponse.DronePath, int, float)12100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.html new file mode 100644 index 0000000..c8644ef --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.html @@ -0,0 +1 @@ +PathFinderService

PathFinderService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total138 of 1,05486%47 of 12060%467643237116
splitTrips(List, Drone, LngLat)395558%5550%46102201
calculateDeliveryPath(MedDispatchRecRequest[])2316687%101661%101474301
buildTrip(Drone, LngLat, List)1912686%5758%5753201
isRestricted(LngLat)13940%3125%233501
computePath(LngLat, LngLat)116385%5758%5731701
findBestDrone(MedDispatchRecRequest)106085%5758%5742201
calculateDeliveryPathAsGeoJson(MedDispatchRecRequest[])815094%51168%5933001
lambda$calculateDeliveryPath$2(LngLat, MedDispatchRecRequest)70%n/a112211
nextPosition(LngLat, LngLat)33992%2250%2321001
PathFinderService(GpsCalculationService, DroneInfoService)212298%4866%4722801
estimateTripMoves(LngLat, List)24295%1375%1311101
assignDeliveries(MedDispatchRecRequest[])3997%2466%241701
buildAngleCandidates(double)33100%2100%020701
lambda$new$1(ServicePoint)6100%n/a010101
lambda$assignDeliveries$3(String)4100%n/a010101
lambda$new$0(Drone)2100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.java.html new file mode 100644 index 0000000..f8c2f97 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/PathFinderService.java.html @@ -0,0 +1,550 @@ +PathFinderService.java

PathFinderService.java

package io.github.js0ny.ilp_coursework.service;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+
+import io.github.js0ny.ilp_coursework.controller.DroneController;
+import io.github.js0ny.ilp_coursework.data.common.Angle;
+import io.github.js0ny.ilp_coursework.data.common.DroneAvailability;
+import io.github.js0ny.ilp_coursework.data.common.LngLat;
+import io.github.js0ny.ilp_coursework.data.common.Region;
+import io.github.js0ny.ilp_coursework.data.external.Drone;
+import io.github.js0ny.ilp_coursework.data.external.RestrictedArea;
+import io.github.js0ny.ilp_coursework.data.external.ServicePoint;
+import io.github.js0ny.ilp_coursework.data.external.ServicePointDrones;
+import io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse.DronePath;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse.DronePath.Delivery;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * Class that handles calculations about deliverypath
+ *
+ * @see DroneInfoService
+ * @see DroneController
+ * @see DeliveryPathResponse
+ */
+@Service
+public class PathFinderService {
+
+    /**
+     * Hard stop on how many pathfinding iterations we attempt for a single segment before bailing,
+     * useful for preventing infinite loops caused by precision quirks or unexpected map data.
+     *
+     * @see #computePath(LngLat, LngLat)
+     */
+    private static final int MAX_SEGMENT_ITERATIONS = 8_000;
+
+    // Services
+    private final GpsCalculationService gpsCalculationService;
+    private final DroneInfoService droneInfoService;
+    private final ObjectMapper objectMapper;
+    private final List<Drone> drones;
+    private final Map<String, Drone> droneById;
+    private final Map<String, Integer> droneServicePointMap;
+    private final Map<Integer, LngLat> servicePointLocations;
+    private final List<Region> restrictedRegions;
+
+    @Autowired(required = false)
+    private TelemetryService telemetryService;
+
+    /**
+     * Constructor for PathFinderService. The dependencies are injected by Spring and the
+     * constructor pre-computes reference maps used throughout the request lifecycle.
+     *
+     * @param gpsCalculationService Service handling geometric operations.
+     * @param droneInfoService Service that exposes drone metadata and capability information.
+     */
+    public PathFinderService(
+            GpsCalculationService gpsCalculationService, DroneInfoService droneInfoService) {
+        this.gpsCalculationService = gpsCalculationService;
+        this.droneInfoService = droneInfoService;
+        this.objectMapper = new ObjectMapper();
+        objectMapper.registerModule(new JavaTimeModule());
+        objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+        objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+
+        this.drones = droneInfoService.fetchAllDrones();
+        List<ServicePoint> servicePoints = droneInfoService.fetchServicePoints();
+        List<ServicePointDrones> servicePointAssignments =
+                droneInfoService.fetchDronesForServicePoints();
+        List<RestrictedArea> restrictedAreas = droneInfoService.fetchRestrictedAreas();
+
+        this.droneById = this.drones.stream().collect(Collectors.toMap(Drone::id, drone -> drone));
+
+        this.droneServicePointMap = new HashMap<>();
+        for (ServicePointDrones assignment : servicePointAssignments) {
+            if (assignment == null || assignment.drones() == null) {
+                continue;
+            }
+            for (DroneAvailability availability : assignment.drones()) {
+                if (availability == null || availability.id() == null) {
+                    continue;
+                }
+                droneServicePointMap.put(availability.id(), assignment.servicePointId());
+            }
+        }
+
+        this.servicePointLocations =
+                servicePoints.stream()
+                        .collect(
+                                Collectors.toMap(
+                                        ServicePoint::id, sp -> new LngLat(sp.location())));
+
+        this.restrictedRegions = restrictedAreas.stream().map(RestrictedArea::toRegion).toList();
+    }
+
+    /**
+     * Produce a delivery plan for the provided dispatch records. Deliveries are grouped per
+     * compatible drone and per trip to satisfy each drone move limit.
+     *
+     * @param records Dispatch records to be fulfilled.
+     * @return Aggregated path response with cost and move totals.
+     * @see #calculateDeliveryPathAsGeoJson(MedDispatchRecRequest[])
+     */
+    public DeliveryPathResponse calculateDeliveryPath(MedDispatchRecRequest[] records) {
+        if (records == null || records.length == 0) {
+            return new DeliveryPathResponse(0f, 0, new DronePath[0]);
+        }
+
+        Map<Integer, LocalDateTime> deliveryTimestamps = new HashMap<>();
+        for (var r : records) {
+            if (isRestricted(r.delivery())) {
+                throw new IllegalStateException(
+                        "Delivery "
+                                + r.id()
+                                + " is located within a restricted area and cannot be fulfilled");
+            }
+            if (r.date() != null && r.time() != null) {
+                deliveryTimestamps.put(r.id(), LocalDateTime.of(r.date(), r.time()));
+            }
+        }
+
+        Map<String, List<MedDispatchRecRequest>> assigned = assignDeliveries(records);
+
+        List<DronePath> paths = new ArrayList<>();
+        float totalCost = 0f;
+        int totalMoves = 0;
+
+        for (Map.Entry<String, List<MedDispatchRecRequest>> entry : assigned.entrySet()) {
+            String droneId = entry.getKey();
+            Drone drone = droneById.get(droneId);
+            if (drone == null) {
+                continue;
+            }
+            Integer spId = droneServicePointMap.get(droneId);
+            if (spId == null) {
+                continue;
+            }
+            LngLat servicePointLocation = servicePointLocations.get(spId);
+            if (servicePointLocation == null) {
+                continue;
+            }
+
+            List<MedDispatchRecRequest> sortedDeliveries =
+                    entry.getValue().stream()
+                            .sorted(
+                                    Comparator.comparingDouble(
+                                            rec ->
+                                                    gpsCalculationService.calculateDistance(
+                                                            servicePointLocation, rec.delivery())))
+                            .toList();
+
+            List<List<MedDispatchRecRequest>> trips =
+                    splitTrips(sortedDeliveries, drone, servicePointLocation);
+
+            for (List<MedDispatchRecRequest> trip : trips) {
+                TripResult result = buildTrip(drone, servicePointLocation, trip);
+                if (result != null) {
+                    totalCost += result.cost();
+                    totalMoves += result.moves();
+                    paths.add(result.path());
+                }
+            }
+        }
+
+        var resp = new DeliveryPathResponse(totalCost, totalMoves, paths.toArray(new DronePath[0]));
+
+        if (telemetryService != null) {
+            telemetryService.sendEventAsyncByPathResponse(resp, deliveryTimestamps);
+        }
+
+        return resp;
+    }
+
+    /*
+     * Convenience wrapper around {@link #calculateDeliveryPath} that serializes the
+     * result into a
+     * GeoJSON FeatureCollection suitable for mapping visualization.
+     *
+     * @param records Dispatch records to be fulfilled.
+     *
+     * @return GeoJSON payload representing every delivery flight path.
+     *
+     * @throws IllegalStateException When the payload cannot be serialized.
+     */
+    public String calculateDeliveryPathAsGeoJson(MedDispatchRecRequest[] records) {
+        DeliveryPathResponse response = calculateDeliveryPath(records);
+        Map<String, Object> featureCollection = new LinkedHashMap<>();
+        featureCollection.put("type", "FeatureCollection");
+        List<Map<String, Object>> features = new ArrayList<>();
+
+        if (response != null && response.dronePaths() != null) {
+            for (DronePath dronePath : response.dronePaths()) {
+                if (dronePath == null || dronePath.deliveries() == null) {
+                    continue;
+                }
+                for (Delivery delivery : dronePath.deliveries()) {
+                    Map<String, Object> feature = new LinkedHashMap<>();
+                    feature.put("type", "Feature");
+
+                    Map<String, Object> properties = new LinkedHashMap<>();
+                    properties.put("droneId", dronePath.droneId());
+                    properties.put("deliveryId", delivery.deliveryId());
+                    feature.put("properties", properties);
+
+                    Map<String, Object> geometry = new LinkedHashMap<>();
+                    geometry.put("type", "LineString");
+
+                    List<List<Double>> coordinates = new ArrayList<>();
+                    if (delivery.flightPath() != null) {
+                        for (LngLat point : delivery.flightPath()) {
+                            coordinates.add(List.of(point.lng(), point.lat()));
+                        }
+                    }
+                    geometry.put("coordinates", coordinates);
+                    feature.put("geometry", geometry);
+                    features.add(feature);
+                }
+            }
+        }
+
+        featureCollection.put("features", features);
+
+        try {
+            return objectMapper.writeValueAsString(featureCollection);
+        } catch (JsonProcessingException e) {
+            throw new IllegalStateException("Failed to generate GeoJSON payload", e);
+        }
+    }
+
+    /**
+     * Group dispatch records by their assigned drone, ensuring every record is routed through
+     * {@link #findBestDrone(MedDispatchRecRequest)} exactly once and discarding invalid entries.
+     *
+     * @param records Dispatch records to be grouped.
+     * @return Map keyed by drone ID with the deliveries it should service.
+     */
+    private Map<String, List<MedDispatchRecRequest>> assignDeliveries(
+            MedDispatchRecRequest[] records) {
+        Map<String, List<MedDispatchRecRequest>> assignments = new LinkedHashMap<>();
+        for (MedDispatchRecRequest record : records) {
+            if (record == null || record.delivery() == null) {
+                continue;
+            }
+            String droneId = findBestDrone(record);
+            assignments.computeIfAbsent(droneId, id -> new ArrayList<>()).add(record);
+        }
+        return assignments;
+    }
+
+    /**
+     * Choose the best drone for the provided record. Currently that equates to picking the closest
+     * compatible drone to the delivery location.
+     *
+     * @param record Dispatch record that needs fulfillment.
+     * @return Identifier of the drone that should fly the mission.
+     * @throws IllegalStateException If no available drone can serve the request.
+     */
+    private String findBestDrone(MedDispatchRecRequest record) {
+        double bestScore = Double.MAX_VALUE;
+        String bestDrone = null;
+
+        for (Drone drone : drones) {
+            if (!droneInfoService.droneMatchesRequirement(drone, record)) {
+                continue;
+            }
+            String droneId = drone.id();
+            Integer servicePointId = droneServicePointMap.get(droneId);
+            if (servicePointId == null) {
+                continue;
+            }
+            LngLat servicePointLocation = servicePointLocations.get(servicePointId);
+            if (servicePointLocation == null) {
+                continue;
+            }
+
+            double distance =
+                    gpsCalculationService.calculateDistance(
+                            servicePointLocation, record.delivery());
+
+            if (distance < bestScore) {
+                bestScore = distance;
+                bestDrone = droneId;
+            }
+        }
+        if (bestDrone == null) {
+            throw new IllegalStateException("No available drone for delivery " + record.id());
+        }
+        return bestDrone;
+    }
+
+    /**
+     * Break a sequence of deliveries into several trips that each respect the drone move limit. The
+     * deliveries should already be ordered by proximity for sensible grouping.
+     *
+     * @param deliveries Deliveries assigned to a drone.
+     * @param drone Drone that will service the deliveries.
+     * @param servicePoint Starting and ending point of every trip.
+     * @return Partitioned trips with at least one delivery each.
+     * @throws IllegalStateException If a single delivery exceeds the drone's move limit.
+     */
+    private List<List<MedDispatchRecRequest>> splitTrips(
+            List<MedDispatchRecRequest> deliveries, Drone drone, LngLat servicePoint) {
+        List<List<MedDispatchRecRequest>> trips = new ArrayList<>();
+        List<MedDispatchRecRequest> currentTrip = new ArrayList<>();
+        for (MedDispatchRecRequest delivery : deliveries) {
+            currentTrip.add(delivery);
+            int requiredMoves = estimateTripMoves(servicePoint, currentTrip);
+            if (requiredMoves > drone.capability().maxMoves()) {
+                currentTrip.remove(currentTrip.size() - 1);
+                if (currentTrip.isEmpty()) {
+                    throw new IllegalStateException(
+                            "Delivery "
+                                    + delivery.id()
+                                    + " exceeds drone "
+                                    + drone.id()
+                                    + " move limit");
+                }
+                trips.add(new ArrayList<>(currentTrip));
+                currentTrip.clear();
+                currentTrip.add(delivery);
+            }
+        }
+        if (!currentTrip.isEmpty()) {
+            int requiredMoves = estimateTripMoves(servicePoint, currentTrip);
+            if (requiredMoves > drone.capability().maxMoves()) {
+                throw new IllegalStateException(
+                        "Delivery plan exceeds move limit for drone " + drone.id());
+            }
+            trips.add(new ArrayList<>(currentTrip));
+        }
+        return trips;
+    }
+
+    /**
+     * Build a single trip for the provided drone, including the entire flight path to every
+     * delivery and back home. The resulting structure contains the {@link DronePath} representation
+     * as well as cost and moves consumed.
+     *
+     * @param drone Drone executing the trip.
+     * @param servicePoint Starting/ending location of the trip.
+     * @param deliveries Deliveries to include in the trip in execution order.
+     * @return Trip information or {@code null} if no deliveries are provided.
+     * @see DeliveryPathResponse.DronePath
+     */
+    private TripResult buildTrip(
+            Drone drone, LngLat servicePoint, List<MedDispatchRecRequest> deliveries) {
+        if (deliveries == null || deliveries.isEmpty()) {
+            return null;
+        }
+        List<Delivery> flightPlans = new ArrayList<>();
+        LngLat current = servicePoint;
+        int moves = 0;
+
+        for (int i = 0; i < deliveries.size(); i++) {
+            MedDispatchRecRequest delivery = deliveries.get(i);
+            PathSegment toDelivery = computePath(current, delivery.delivery());
+            List<LngLat> flightPath = new ArrayList<>(toDelivery.positions());
+            if (!flightPath.isEmpty()) {
+                LngLat last = flightPath.get(flightPath.size() - 1);
+                if (!last.isSamePoint(delivery.delivery())) {
+                    flightPath.add(delivery.delivery());
+                }
+            } else {
+                flightPath.add(current);
+                flightPath.add(delivery.delivery());
+            }
+            flightPath.add(delivery.delivery());
+            moves += toDelivery.moves();
+
+            if (i == deliveries.size() - 1) {
+                PathSegment backHome = computePath(delivery.delivery(), servicePoint);
+                backHome.appendSkippingStart(flightPath);
+                moves += backHome.moves();
+                current = servicePoint;
+            } else {
+                current = delivery.delivery();
+            }
+            flightPlans.add(new Delivery(delivery.id(), flightPath));
+        }
+
+        float cost =
+                drone.capability().costInitial()
+                        + drone.capability().costFinal()
+                        + (float) (drone.capability().costPerMove() * moves);
+
+        DronePath path = new DronePath(drone.parseId(), flightPlans);
+
+        return new TripResult(path, moves, cost);
+    }
+
+    /**
+     * Estimate the number of moves a prospective trip would need by replaying the path calculation
+     * without mutating any persistent state.
+     *
+     * @param servicePoint Trip origin.
+     * @param deliveries Deliveries that would compose the trip.
+     * @return Total moves required to fly the proposed itinerary.
+     */
+    private int estimateTripMoves(LngLat servicePoint, List<MedDispatchRecRequest> deliveries) {
+        if (deliveries.isEmpty()) {
+            return 0;
+        }
+        int moves = 0;
+        LngLat current = servicePoint;
+        for (MedDispatchRecRequest delivery : deliveries) {
+            PathSegment segment = computePath(current, delivery.delivery());
+            moves += segment.moves();
+            current = delivery.delivery();
+        }
+        moves += computePath(current, servicePoint).moves();
+        return moves;
+    }
+
+    /**
+     * Build a path between {@code start} and {@code target} by repeatedly moving in snapped
+     * increments while avoiding restricted zones.
+     *
+     * @param start Start coordinate.
+     * @param target Destination coordinate.
+     * @return Sequence of visited coordinates and move count.
+     * @see #nextPosition(LngLat, LngLat)
+     */
+    private PathSegment computePath(LngLat start, LngLat target) {
+        List<LngLat> positions = new ArrayList<>();
+        if (start == null || target == null) {
+            return new PathSegment(positions, 0);
+        }
+        positions.add(start);
+        LngLat current = start;
+        int iterations = 0;
+        while (!gpsCalculationService.isCloseTo(current, target)
+                && iterations < MAX_SEGMENT_ITERATIONS) {
+            LngLat next = nextPosition(current, target);
+            if (next.isSamePoint(current)) {
+                break;
+            }
+            positions.add(next);
+            current = next;
+            iterations++;
+        }
+        if (!positions.get(positions.size() - 1).isSamePoint(target)) {
+            positions.add(target);
+        }
+        return new PathSegment(positions, Math.max(0, positions.size() - 1));
+    }
+
+    /**
+     * Determine the next position on the path from {@code current} toward {@code target},
+     * preferring the snapped angle closest to the desired heading that does not infiltrate a
+     * restricted region.
+     *
+     * @param current Current coordinate.
+     * @param target Destination coordinate.
+     * @return Next admissible coordinate or the original point if none can be found.
+     */
+    private LngLat nextPosition(LngLat current, LngLat target) {
+        double desiredAngle =
+                Math.toDegrees(
+                        Math.atan2(target.lat() - current.lat(), target.lng() - current.lng()));
+        List<Angle> candidateAngles = buildAngleCandidates(desiredAngle);
+        for (Angle angle : candidateAngles) {
+            LngLat next = gpsCalculationService.nextPosition(current, angle);
+            if (!isRestricted(next)) {
+                return next;
+            }
+        }
+        return current;
+    }
+
+    /**
+     * Build a sequence of candidate angles centered on the desired heading, expanding symmetrically
+     * clockwise and counter-clockwise to explore alternative headings if the primary path is
+     * blocked.
+     *
+     * @param desiredAngle Bearing in degrees between current and target positions.
+     * @return Ordered list of candidate snapped angles.
+     * @see Angle#snap(double)
+     */
+    private List<Angle> buildAngleCandidates(double desiredAngle) {
+        List<Angle> angles = new LinkedList<>();
+        Angle snapped = Angle.snap(desiredAngle);
+        angles.add(snapped);
+        for (int offset = 1; offset <= 8; offset++) {
+            angles.add(snapped.offset(offset));
+            angles.add(snapped.offset(-offset));
+        }
+        return angles;
+    }
+
+    /**
+     * Check whether the provided coordinate falls inside any restricted region.
+     *
+     * @param position Coordinate to inspect.
+     * @return {@code true} if the position intersects a restricted area.
+     * @see #restrictedRegions
+     */
+    private boolean isRestricted(LngLat position) {
+        for (Region region : restrictedRegions) {
+            if (gpsCalculationService.checkIsInRegion(position, region)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Representation of a computed path segment wrapping the visited positions and the number of
+     * moves taken to traverse them.
+     *
+     * @param positions Ordered coordinates that describe the path.
+     * @param moves Number of moves consumed by the path.
+     */
+    private record PathSegment(List<LngLat> positions, int moves) {
+        /**
+         * Append the positions from this segment to {@code target}, skipping the first coordinate
+         * as it is already represented by the last coordinate in the consumer path.
+         *
+         * @param target Mutable list to append to.
+         */
+        private void appendSkippingStart(List<LngLat> target) {
+            for (int i = 1; i < positions.size(); i++) {
+                target.add(positions.get(i));
+            }
+        }
+    }
+
+    /**
+     * Bundle containing the calculated {@link DronePath}, total moves and financial cost for a
+     * single trip.
+     */
+    private record TripResult(DronePath path, int moves, float cost) {}
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.html new file mode 100644 index 0000000..61e8b7a --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.html @@ -0,0 +1 @@ +TelemetryService

TelemetryService

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total99 of 12520%6 of 60%810303757
lambda$sendEventAsync$0(DroneEvent)370%n/a11131311
sendEventAsyncByPathResponse(DeliveryPathResponse, LocalDateTime)190%20%225511
sendEventAsyncByPathResponse(DeliveryPathResponse, Map)190%20%225511
sendEventAsyncByPathResponse(DeliveryPathResponse)180%20%225511
sendEventAsync(DroneEvent)60%n/a112211
TelemetryService()22100%n/a010601
static {...}4100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.java.html new file mode 100644 index 0000000..c00865f --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/TelemetryService.java.html @@ -0,0 +1,80 @@ +TelemetryService.java

TelemetryService.java

package io.github.js0ny.ilp_coursework.service;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import io.github.js0ny.ilp_coursework.data.common.DroneEvent;
+import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import java.net.http.HttpClient;
+import java.time.Duration;
+import java.time.LocalDateTime;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+@Service
+public class TelemetryService {
+    private static final Logger log = LoggerFactory.getLogger(TelemetryService.class);
+
+    private final HttpClient client;
+    private final ObjectMapper mapper;
+
+    private final String BLACKBOX_URL;
+
+    public TelemetryService() {
+        this.client = HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(2)).build();
+
+        this.mapper = new ObjectMapper();
+        this.BLACKBOX_URL =
+                System.getenv().getOrDefault("BLACKBOX_ENDPOINT", "http://localhost:3000");
+    }
+
+    public void sendEventAsyncByPathResponse(DeliveryPathResponse resp) {
+        var events = DroneEvent.fromPathResponse(resp);
+        for (var event : events) {
+            sendEventAsync(event);
+        }
+    }
+
+    public void sendEventAsyncByPathResponse(
+            DeliveryPathResponse resp, LocalDateTime baseTimestamp) {
+        var events = DroneEvent.fromPathResponseWithTimestamp(resp, baseTimestamp);
+        for (var event : events) {
+            sendEventAsync(event);
+        }
+    }
+
+    public void sendEventAsyncByPathResponse(
+            DeliveryPathResponse resp, Map<Integer, LocalDateTime> deliveryTimestamps) {
+        var events = DroneEvent.fromPathResponseWithTimestamps(resp, deliveryTimestamps);
+        for (var event : events) {
+            sendEventAsync(event);
+        }
+    }
+
+    public void sendEventAsync(DroneEvent event) {
+        CompletableFuture.runAsync(
+                () -> {
+                    try {
+                        String json = mapper.writeValueAsString(event);
+                        log.debug("Sending telemetry event: {}", json);
+                        var request =
+                                java.net.http.HttpRequest.newBuilder()
+                                        .uri(java.net.URI.create(BLACKBOX_URL + "/ingest"))
+                                        .header("Content-Type", "application/json")
+                                        .POST(
+                                                java.net.http.HttpRequest.BodyPublishers.ofString(
+                                                        json))
+                                        .build();
+
+                        client.send(request, java.net.http.HttpResponse.BodyHandlers.ofString());
+                    } catch (Exception e) {
+                        log.error("Failed to send telemetry event: {}", e.getMessage());
+                    }
+                });
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.html new file mode 100644 index 0000000..8292c5b --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.service

io.github.js0ny.ilp_coursework.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total309 of 1,99984%93 of 24662%841747342945106
DroneInfoService14234370%373750%30562210421901
PathFinderService13891686%477360%46764323711601
DroneAttrComparatorService1913287%7956%5135380501
GpsCalculationService1026096%23294%3253451801
PathFinderService.PathSegment27100%2100%03040201
PathFinderService.TripResult12100%n/a01010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.source.html new file mode 100644 index 0000000..47cf431 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.service/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.service

io.github.js0ny.ilp_coursework.service

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total309 of 1,99984%93 of 24662%841747342945106
DroneInfoService.java14234370%373750%30562210421901
PathFinderService.java13895587%477561%46804324211903
DroneAttrComparatorService.java1913287%7956%5135380501
GpsCalculationService.java1026096%23294%3253451801
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.html new file mode 100644 index 0000000..57b10b4 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.html @@ -0,0 +1 @@ +AttrComparator

AttrComparator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total105 of 1050%28 of 280%2020202055
isValueMatched(JsonNode, String, AttrOperator)330%60%447711
compareNumbers(BigDecimal, BigDecimal, AttrOperator)330%120%886611
compareBooleans(boolean, boolean, AttrOperator)190%60%443311
compareStrings(String, String, AttrOperator)170%40%333311
AttrComparator()30%n/a111111
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.java.html new file mode 100644 index 0000000..2ab72ba --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrComparator.java.html @@ -0,0 +1,64 @@ +AttrComparator.java

AttrComparator.java

package io.github.js0ny.ilp_coursework.util;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+import java.math.BigDecimal;
+
+/**
+ * Comparator for attribute values in {@code JsonNode}.
+ *
+ * <p>This is a helper for dynamic querying.
+ */
+public class AttrComparator {
+    /**
+     * Helper for dynamic querying, to compare the json value with given value in {@code String}.
+     *
+     * @param node The {@code JsonNode} to be compared
+     * @param attrVal The Value passed, in {@code String}
+     * @param op The comparison operator
+     * @return {@code true} if given values are equal, otherwise false.
+     */
+    public static boolean isValueMatched(JsonNode node, String attrVal, AttrOperator op) {
+        if (node.isTextual()) {
+            return compareStrings(node.asText(), attrVal, op);
+        } else if (node.isNumber()) {
+            // return Double.compare(node.asDouble(), Double.parseDouble(attrVal)) == 0;
+            return compareNumbers(node.decimalValue(), new BigDecimal(attrVal), op);
+        } else if (node.isBoolean()) {
+            return compareBooleans(node.asBoolean(), Boolean.parseBoolean(attrVal), op);
+        } else {
+            return false;
+        }
+    }
+
+    private static boolean compareNumbers(BigDecimal nodeVal, BigDecimal attrVal, AttrOperator op) {
+        int comparison = nodeVal.compareTo(attrVal);
+        return switch (op) {
+            case EQ -> comparison == 0;
+            case GT -> comparison > 0;
+            case LT -> comparison < 0;
+            case NE -> comparison != 0;
+        };
+    }
+
+    private static boolean compareStrings(String nodeVal, String attrVal, AttrOperator op) {
+        return switch (op) {
+            case EQ -> nodeVal.equals(attrVal);
+            default -> !nodeVal.equals(attrVal);
+                // case NE -> !nodeVal.equals(attrVal);
+                // case GT -> !nodeVal.equals(attrVal);// > 0;
+                // case LT -> !nodeVal.equals(attrVal);// < 0;
+        };
+    }
+
+    private static boolean compareBooleans(boolean nodeVal, boolean attrVal, AttrOperator op) {
+        return switch (op) {
+            case EQ -> nodeVal == attrVal;
+            default -> nodeVal != attrVal;
+                // case NE -> nodeVal != attrVal;
+                // case GT -> !nodeVal && attrVal; // false < true
+                // case LT -> nodeVal && !attrVal; // true > false
+        };
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.html new file mode 100644 index 0000000..7981259 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.html @@ -0,0 +1 @@ +AttrOperator

AttrOperator

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total68 of 680%4 of 40%55121233
static {...}310%n/a115511
fromString(String)290%40%334411
AttrOperator(String, int, String)80%n/a113311
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.java.html new file mode 100644 index 0000000..3927cca --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/AttrOperator.java.html @@ -0,0 +1,24 @@ +AttrOperator.java

AttrOperator.java

package io.github.js0ny.ilp_coursework.util;
+
+public enum AttrOperator {
+    EQ("="),
+    NE("!="),
+    GT(">"),
+    LT("<");
+
+    private final String symbol;
+
+    AttrOperator(String symbol) {
+        this.symbol = symbol;
+    }
+
+    public static AttrOperator fromString(String symbol) {
+        for (AttrOperator op : AttrOperator.values()) {
+            if (op.symbol.equals(symbol)) {
+                return op;
+            }
+        }
+        throw new IllegalArgumentException("Unknown operator: " + symbol);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.html new file mode 100644 index 0000000..419fdab --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.util

io.github.js0ny.ilp_coursework.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total173 of 1730%32 of 320%252532328822
AttrComparator1050%280%202020205511
AttrOperator680%40%5512123311
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.source.html new file mode 100644 index 0000000..eb58565 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework.util/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework.util

io.github.js0ny.ilp_coursework.util

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total173 of 1730%32 of 320%252532328822
AttrComparator.java1050%280%202020205511
AttrOperator.java680%40%5512123311
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.html new file mode 100644 index 0000000..970275d --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.html @@ -0,0 +1 @@ +IlpCourseworkApplication

IlpCourseworkApplication

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total5 of 837%0 of 0n/a122312
main(String[])50%n/a112211
IlpCourseworkApplication()3100%n/a010101
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.java.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.java.html new file mode 100644 index 0000000..1469779 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/IlpCourseworkApplication.java.html @@ -0,0 +1,13 @@ +IlpCourseworkApplication.java

IlpCourseworkApplication.java

package io.github.js0ny.ilp_coursework;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class IlpCourseworkApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(IlpCourseworkApplication.class, args);
+    }
+}
+
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.html new file mode 100644 index 0000000..9b13bd4 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework

io.github.js0ny.ilp_coursework

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total5 of 837%0 of 0n/a12231201
IlpCourseworkApplication5337%n/a12231201
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.source.html b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.source.html new file mode 100644 index 0000000..ff17d40 --- /dev/null +++ b/docs/reports/jacoco/test/html/io.github.js0ny.ilp_coursework/index.source.html @@ -0,0 +1 @@ +io.github.js0ny.ilp_coursework

io.github.js0ny.ilp_coursework

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethodsMissedClasses
Total5 of 837%0 of 0n/a12231201
IlpCourseworkApplication.java5337%n/a12231201
\ No newline at end of file diff --git a/docs/reports/jacoco/test/html/jacoco-resources/branchfc.gif b/docs/reports/jacoco/test/html/jacoco-resources/branchfc.gif new file mode 100644 index 0000000..989b46d Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/branchfc.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/branchnc.gif b/docs/reports/jacoco/test/html/jacoco-resources/branchnc.gif new file mode 100644 index 0000000..1933e07 Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/branchnc.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/branchpc.gif b/docs/reports/jacoco/test/html/jacoco-resources/branchpc.gif new file mode 100644 index 0000000..cbf711b Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/branchpc.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/bundle.gif b/docs/reports/jacoco/test/html/jacoco-resources/bundle.gif new file mode 100644 index 0000000..fca9c53 Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/bundle.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/class.gif b/docs/reports/jacoco/test/html/jacoco-resources/class.gif new file mode 100644 index 0000000..eb348fb Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/class.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/down.gif b/docs/reports/jacoco/test/html/jacoco-resources/down.gif new file mode 100644 index 0000000..440a14d Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/down.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/greenbar.gif b/docs/reports/jacoco/test/html/jacoco-resources/greenbar.gif new file mode 100644 index 0000000..0ba6567 Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/greenbar.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/group.gif b/docs/reports/jacoco/test/html/jacoco-resources/group.gif new file mode 100644 index 0000000..a4ea580 Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/group.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/method.gif b/docs/reports/jacoco/test/html/jacoco-resources/method.gif new file mode 100644 index 0000000..7d24707 Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/method.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/package.gif b/docs/reports/jacoco/test/html/jacoco-resources/package.gif new file mode 100644 index 0000000..131c28d Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/package.gif differ diff --git a/docs/reports/jacoco/test/html/jacoco-resources/prettify.css b/docs/reports/jacoco/test/html/jacoco-resources/prettify.css new file mode 100644 index 0000000..be5166e --- /dev/null +++ b/docs/reports/jacoco/test/html/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/docs/reports/jacoco/test/html/jacoco-resources/prettify.js b/docs/reports/jacoco/test/html/jacoco-resources/prettify.js new file mode 100644 index 0000000..b2766fe --- /dev/null +++ b/docs/reports/jacoco/test/html/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/docs/reports/jacoco/test/html/jacoco-resources/redbar.gif b/docs/reports/jacoco/test/html/jacoco-resources/redbar.gif
    new file mode 100644
    index 0000000..c2f7146
    Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/redbar.gif differ
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/report.css b/docs/reports/jacoco/test/html/jacoco-resources/report.css
    new file mode 100644
    index 0000000..dd936bc
    --- /dev/null
    +++ b/docs/reports/jacoco/test/html/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/docs/reports/jacoco/test/html/jacoco-resources/report.gif b/docs/reports/jacoco/test/html/jacoco-resources/report.gif
    new file mode 100644
    index 0000000..8547be5
    Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/report.gif differ
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/session.gif b/docs/reports/jacoco/test/html/jacoco-resources/session.gif
    new file mode 100644
    index 0000000..0151bad
    Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/session.gif differ
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/sort.gif b/docs/reports/jacoco/test/html/jacoco-resources/sort.gif
    new file mode 100644
    index 0000000..6757c2c
    Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/sort.gif differ
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/sort.js b/docs/reports/jacoco/test/html/jacoco-resources/sort.js
    new file mode 100644
    index 0000000..9dcb0e8
    --- /dev/null
    +++ b/docs/reports/jacoco/test/html/jacoco-resources/sort.js
    @@ -0,0 +1,148 @@
    +/*******************************************************************************
    + * Copyright (c) 2009, 2024 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/docs/reports/jacoco/test/html/jacoco-resources/source.gif b/docs/reports/jacoco/test/html/jacoco-resources/source.gif
    new file mode 100644
    index 0000000..b226e41
    Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/source.gif differ
    diff --git a/docs/reports/jacoco/test/html/jacoco-resources/up.gif b/docs/reports/jacoco/test/html/jacoco-resources/up.gif
    new file mode 100644
    index 0000000..58ed216
    Binary files /dev/null and b/docs/reports/jacoco/test/html/jacoco-resources/up.gif differ
    diff --git a/docs/reports/jacoco/test/html/jacoco-sessions.html b/docs/reports/jacoco/test/html/jacoco-sessions.html
    new file mode 100644
    index 0000000..5578a5f
    --- /dev/null
    +++ b/docs/reports/jacoco/test/html/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="en"><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">ilp-coursework</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">zephyrus-b3d5005c</span></td><td>22 Jan 2026, 09:11:12</td><td>22 Jan 2026, 09:11:18</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>e9cbd1f978e04c35</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.Level</span></td><td><code>9303df9e2a08f242</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.Logger</span></td><td><code>be6c3e45911cf8e2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.LoggerContext</span></td><td><code>4512c2eff6c03c68</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.PatternLayout</span></td><td><code>5fe891de226cd5ba</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.encoder.PatternLayoutEncoder</span></td><td><code>adbb8c6e69fd1aeb</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.filter.ThresholdFilter</span></td><td><code>b8c16b02eb3f4a54</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.joran.SerializedModelConfigurator</span></td><td><code>0370b98bcd206265</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.jul.JULHelper</span></td><td><code>6bcebd787d928826</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.jul.LevelChangePropagator</span></td><td><code>fcbc2bfed3de6b6f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.layout.TTLLLayout</span></td><td><code>7cfb10fccc1ac9ec</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ClassicConverter</span></td><td><code>ca6784b1cdac73e4</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.DateConverter</span></td><td><code>1122e9d1094bb161</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.EnsureExceptionHandling</span></td><td><code>c7ef7ced01cf2b40</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter</span></td><td><code>115c3183cea2d042</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.LevelConverter</span></td><td><code>0ec63ea841fac8fa</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.LineSeparatorConverter</span></td><td><code>6bb3f1fbdd6806b9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.LoggerConverter</span></td><td><code>300f443c765acc98</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.MessageConverter</span></td><td><code>0688e46c25208e81</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.NamedConverter</span></td><td><code>800a7094fa870df9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.NamedConverter.CacheMissCalculator</span></td><td><code>cc0ea37245a48bd6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.NamedConverter.NameCache</span></td><td><code>1175227c83b68cb9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.TargetLengthBasedClassNameAbbreviator</span></td><td><code>31fe90da1602830b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ThreadConverter</span></td><td><code>b1a4a34d0dda551a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ThrowableHandlingConverter</span></td><td><code>86f11ee7d86c38e3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.pattern.ThrowableProxyConverter</span></td><td><code>e95e6657903e5c93</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.ClassPackagingData</span></td><td><code>546737f59c269cc2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.Configurator.ExecutionStatus</span></td><td><code>cc40a5f533270748</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.EventArgUtil</span></td><td><code>e0c9d11998766d79</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.LogbackServiceProvider</span></td><td><code>6e02f42758dd8a54</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.LoggerContextVO</span></td><td><code>fb6173d248f826d3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.LoggingEvent</span></td><td><code>8b7f71687e5d0c67</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.PackagingDataCalculator</span></td><td><code>d5367e27f562eb71</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.STEUtil</span></td><td><code>16977aaf5a163e03</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.StackTraceElementProxy</span></td><td><code>86d35088dba69712</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.ThrowableProxy</span></td><td><code>9b48d0591443303a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.ThrowableProxyUtil</span></td><td><code>ab42894505439404</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.spi.TurboFilterList</span></td><td><code>42403a7d01f96dd1</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.turbo.TurboFilter</span></td><td><code>0403568c15198036</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.ClassicEnvUtil</span></td><td><code>3e03f8adc0461ef2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.ContextInitializer</span></td><td><code>7cfcfba69f8265bf</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.ContextInitializer.1</span></td><td><code>58fa6fb0dba0581d</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.DefaultJoranConfigurator</span></td><td><code>3da6a729c24e1784</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.LogbackMDCAdapter</span></td><td><code>f8e26313a025b32b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.classic.util.LoggerNameUtil</span></td><td><code>27bf8263ce12866e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.BasicStatusManager</span></td><td><code>d548b30535cbdd5b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.ConsoleAppender</span></td><td><code>a9d9302917577d23</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.ContextBase</span></td><td><code>a03a0249a0251838</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.CoreConstants</span></td><td><code>db8ef5527059aa3e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.LayoutBase</span></td><td><code>36f6696d545dcad8</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.LifeCycleManager</span></td><td><code>3896f40727131664</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.OutputStreamAppender</span></td><td><code>c33b4b3071b1682f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.UnsynchronizedAppenderBase</span></td><td><code>895a29dbb896efbe</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.encoder.EncoderBase</span></td><td><code>c5b3872b99654c9b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.encoder.LayoutWrappingEncoder</span></td><td><code>c12e3595dcc95ae2</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.filter.Filter</span></td><td><code>5a84fe4d069c6b13</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.helpers.CyclicBuffer</span></td><td><code>aa4ceae09d045909</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.joran.spi.ConsoleTarget</span></td><td><code>2bfe78660d9c2361</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.joran.spi.ConsoleTarget.1</span></td><td><code>aed57c95030f1590</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.joran.spi.ConsoleTarget.2</span></td><td><code>3a02ebcd7664923a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.CompositeConverter</span></td><td><code>14342f54d04f3c99</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.Converter</span></td><td><code>88fcb82d7ac22a16</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.ConverterUtil</span></td><td><code>20cf5be80690a434</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.DynamicConverter</span></td><td><code>fa0976090d3ec55e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.FormatInfo</span></td><td><code>c1091af50bf93789</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.FormattingConverter</span></td><td><code>c42fa317c19a9b78</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.LiteralConverter</span></td><td><code>6a26092f76c6ac93</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.PatternLayoutBase</span></td><td><code>d9c4f2841778cdc9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.PatternLayoutEncoderBase</span></td><td><code>c9dd29745e8a8c63</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.SpacePadder</span></td><td><code>c04e2e435b76b034</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Compiler</span></td><td><code>69ac8e86a4de20e8</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.CompositeNode</span></td><td><code>012da26e6be0d6b7</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.FormattingNode</span></td><td><code>5afdd38e3a828c01</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Node</span></td><td><code>e9cbd0c1f07aa7d5</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.OptionTokenizer</span></td><td><code>0c054bdf6a570ef8</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Parser</span></td><td><code>9b72c397f872fab3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.SimpleKeywordNode</span></td><td><code>25a3f9e71b83475b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.Token</span></td><td><code>3ee8f94c73eb7f12</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.TokenStream</span></td><td><code>691b50c2d9f9756e</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.parser.TokenStream.TokenizerState</span></td><td><code>00faf271c0eab6b9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.util.AsIsEscapeUtil</span></td><td><code>21a1cd41b6693952</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.util.RegularEscapeUtil</span></td><td><code>cb4169a6187c572f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.pattern.util.RestrictedEscapeUtil</span></td><td><code>8b21adafecce019f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.AppenderAttachableImpl</span></td><td><code>1ef122585612a073</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.ContextAwareBase</span></td><td><code>78802b30b92ff289</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.ContextAwareImpl</span></td><td><code>7c5f0060805cf148</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.FilterAttachableImpl</span></td><td><code>1bdda09341cf5fb8</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.FilterReply</span></td><td><code>0dabfae171683945</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.spi.LogbackLock</span></td><td><code>00146cd3b144dc92</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.InfoStatus</span></td><td><code>3ea5a04c41688d26</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.OnConsoleStatusListener</span></td><td><code>9df6c0a53df83af4</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.OnPrintStreamStatusListenerBase</span></td><td><code>8329200151f3e954</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.StatusBase</span></td><td><code>d2de3f7ff0e79b48</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.status.StatusUtil</span></td><td><code>bb63f76033b4fb59</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Node</span></td><td><code>f4528f0aaf450327</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Node.Type</span></td><td><code>5ada13b3bdafc4e1</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.NodeToStringTransformer</span></td><td><code>728598d08a340f09</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.NodeToStringTransformer.1</span></td><td><code>24b03a1fae54909b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Parser</span></td><td><code>371a9da81929a41b</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Parser.1</span></td><td><code>ba5e2fe90977f204</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Token</span></td><td><code>55429237cf121891</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Token.Type</span></td><td><code>e596c92ff232595f</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Tokenizer</span></td><td><code>e11eb06eb91626b6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.subst.Tokenizer.TokenizerState</span></td><td><code>593d1de9c186ae02</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.COWArrayList</span></td><td><code>5a1d0e670e55acd7</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.CachingDateFormatter</span></td><td><code>46ecbe497fb84c58</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.CachingDateFormatter.CacheTuple</span></td><td><code>4940f2769bff3196</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.EnvUtil</span></td><td><code>eb2e1b9f3f7c24f6</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.ExecutorServiceUtil</span></td><td><code>ca5f4cff521821b3</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.ExecutorServiceUtil.1</span></td><td><code>87de54c43adf1179</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.Loader</span></td><td><code>da8ad7ce98f18557</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.OptionHelper</span></td><td><code>dc0fc1311dc9604a</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StatusListenerConfigHelper</span></td><td><code>64584525acceb0ff</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StatusPrinter</span></td><td><code>e1558319dba01961</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StatusPrinter2</span></td><td><code>7ae81d2484f45fe9</code></td></tr><tr><td><span class="el_class">ch.qos.logback.core.util.StringUtil</span></td><td><code>29f38996e768ba8d</code></td></tr><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Input</span></td><td><code>82caa4ac8d2c9ad6</code></td></tr><tr><td><span class="el_class">com.esotericsoftware.kryo.io.Output</span></td><td><code>2e152e7951e62ecf</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonAutoDetect.1</span></td><td><code>c9c29925e8147dd5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility</span></td><td><code>e56bcd385626eead</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonCreator.Mode</span></td><td><code>5093503037839760</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Feature</span></td><td><code>0c628a86f37b42e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Features</span></td><td><code>52a6d007a22b1f71</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Shape</span></td><td><code>003dda8e6f0a6de2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonFormat.Value</span></td><td><code>b81de0e36e7445db</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonIgnoreProperties.Value</span></td><td><code>4f0da3cf85f6ca76</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonInclude.Include</span></td><td><code>85638490ab4ef209</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonInclude.Value</span></td><td><code>10324a92ddb09f04</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonIncludeProperties.Value</span></td><td><code>7ed084480a07ee84</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonProperty.Access</span></td><td><code>d1f5b78205032d03</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.JsonSetter.Value</span></td><td><code>6ee26ce006658a00</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.Nulls</span></td><td><code>724f990ec72b618f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.OptBoolean</span></td><td><code>19b18410e5837c9e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.annotation.PropertyAccessor</span></td><td><code>f7f4cbc68ef228c0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Base64Variant</span></td><td><code>264889f461ec8487</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Base64Variant.PaddingReadBehaviour</span></td><td><code>dd0e63a614fe004b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Base64Variants</span></td><td><code>e646bbe091ae79c0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.ErrorReportConfiguration</span></td><td><code>6ae7b9c14364f861</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JacksonException</span></td><td><code>0b2f626f370d5d03</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonEncoding</span></td><td><code>cb4ae57cec60e79d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonFactory</span></td><td><code>ec4c1b9d9ce90bd9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonFactory.Feature</span></td><td><code>f8c6da37120a1403</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonGenerator</span></td><td><code>cc799b0f31b8966e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonGenerator.Feature</span></td><td><code>e70424c10ce385a3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonLocation</span></td><td><code>13be924b79dbda42</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParseException</span></td><td><code>0200ee6f4f7e4a5e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser</span></td><td><code>c5e69fb357621cdb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser.Feature</span></td><td><code>4e33f89a5601a18a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser.NumberType</span></td><td><code>88e7ccc17e76b9de</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonParser.NumberTypeFP</span></td><td><code>19d84f53af1e4220</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonProcessingException</span></td><td><code>95b93b8105f2756d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonStreamContext</span></td><td><code>329fa38167c8714d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.JsonToken</span></td><td><code>e6705776f91c04a1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.ObjectCodec</span></td><td><code>4de1a295d9dc31ca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.PrettyPrinter</span></td><td><code>f27d5528a26794c9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamReadCapability</span></td><td><code>a4c561ff4de25114</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamReadConstraints</span></td><td><code>4b49ac84f4439fcd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamReadFeature</span></td><td><code>9a2e8953e3d6037c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamWriteCapability</span></td><td><code>20b236b266d25323</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.StreamWriteConstraints</span></td><td><code>f2bb5b3756dacf82</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.TokenStreamFactory</span></td><td><code>41de330f27eca392</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.TreeCodec</span></td><td><code>18594f8a8dcec6a2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.Version</span></td><td><code>4e5b012657b4244e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.base.GeneratorBase</span></td><td><code>4a3bbfce5b5dae31</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.base.ParserBase</span></td><td><code>8f4310a098b79bc9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.base.ParserMinimalBase</span></td><td><code>24976c285bf6cce1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.exc.StreamReadException</span></td><td><code>59bc951e21defdd3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.CharTypes</span></td><td><code>aac38304f48d92dc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.ContentReference</span></td><td><code>a933a3549b4784c0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.IOContext</span></td><td><code>090fcb0d7d3d729b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.JsonEOFException</span></td><td><code>ba0e15bda5adccbc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.JsonStringEncoder</span></td><td><code>d133cbd8dbd05fae</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.NumberInput</span></td><td><code>e690314c2b6b7565</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.NumberOutput</span></td><td><code>15e12f636d297c73</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.SegmentedStringWriter</span></td><td><code>c15ac7a87994dffb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.io.SerializedString</span></td><td><code>d4e3fa20d893c769</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.ByteSourceJsonBootstrapper</span></td><td><code>0ba003a54273d8f7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonGeneratorImpl</span></td><td><code>1ebca1cf4478160e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonParserBase</span></td><td><code>16514eba003d716c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonReadContext</span></td><td><code>e4ccee58993ace39</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonWriteContext</span></td><td><code>80adf9bb4918112e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.JsonWriteFeature</span></td><td><code>0ed38593c8307547</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.ReaderBasedJsonParser</span></td><td><code>a1e156e2f7350ba5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.UTF8JsonGenerator</span></td><td><code>8cc04b8d81dffff3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.UTF8StreamJsonParser</span></td><td><code>3830ea8dfad320d4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.json.WriterBasedJsonGenerator</span></td><td><code>0fd350a9933f124f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer</span></td><td><code>7580ab9b187a58fe</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer.TableInfo</span></td><td><code>4daa04bf011847b5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer</span></td><td><code>a8651d214f1feca8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.sym.CharsToNameCanonicalizer.TableInfo</span></td><td><code>9a686c3ec604966f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.type.ResolvedType</span></td><td><code>8a4589ad9960ed59</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.BufferRecycler</span></td><td><code>fde0ba4b79279ec2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.BufferRecyclers</span></td><td><code>4e7bee8eece90b3a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultIndenter</span></td><td><code>18913563e8366f39</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultPrettyPrinter</span></td><td><code>f3a7d34d43ac8ab5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultPrettyPrinter.FixedSpaceIndenter</span></td><td><code>fb7efc66fac1a159</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.DefaultPrettyPrinter.NopIndenter</span></td><td><code>09050690ae456c5e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.InternCache</span></td><td><code>cefb749acf449d74</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.InternalJacksonUtil</span></td><td><code>a4cfaa403c478479</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.JacksonFeatureSet</span></td><td><code>69b6b3d8af7f13b3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.JsonRecyclerPools</span></td><td><code>581a7a77872e2481</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.JsonRecyclerPools.ThreadLocalPool</span></td><td><code>12fe8784cd664945</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.MinimalPrettyPrinter</span></td><td><code>4f783f17769fbb24</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.ReadConstrainedTextBuffer</span></td><td><code>23fc9ce24061d845</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.RecyclerPool.ThreadLocalPoolBase</span></td><td><code>2bdc11e4f9544853</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.Separators</span></td><td><code>c2cdd691b663aa37</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.Separators.Spacing</span></td><td><code>ce6ec0bcfdbddcbe</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.TextBuffer</span></td><td><code>47f4fab5985ac002</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.core.util.VersionUtil</span></td><td><code>12aba5bda07c1bc6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.AnnotationIntrospector</span></td><td><code>fa17f8e48003bd83</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.AnnotationIntrospector.ReferenceProperty</span></td><td><code>14213be28ef1c091</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.AnnotationIntrospector.ReferenceProperty.Type</span></td><td><code>d90a083248c5b3dc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.BeanDescription</span></td><td><code>786d2ce20d4ec4c1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.BeanProperty.Std</span></td><td><code>1dc3c0a141338eba</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DatabindContext</span></td><td><code>76bc176d5dc342b4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DatabindException</span></td><td><code>5a69466f1ad0601f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DeserializationConfig</span></td><td><code>e5c88e9d53d9e8bc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DeserializationContext</span></td><td><code>558adba9d85614d3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.DeserializationFeature</span></td><td><code>ccb5e8baee7cb40f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JavaType</span></td><td><code>4b4e8dfd897d7a79</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonDeserializer</span></td><td><code>b793d305bbcc7ea4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonMappingException</span></td><td><code>87eb617a4dc8827a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonMappingException.Reference</span></td><td><code>ca80b1a53995755d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonNode</span></td><td><code>d51b9f1252c54174</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonSerializable.Base</span></td><td><code>c3cedf73e9aa2de3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.JsonSerializer</span></td><td><code>3b9be94557847bc7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.KeyDeserializer</span></td><td><code>57c3ce9990767641</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.MapperFeature</span></td><td><code>cbc9260bc04f173c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.MappingJsonFactory</span></td><td><code>65cdd9294dfaf29a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.Module</span></td><td><code>d5a524fc9db54ebf</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectMapper</span></td><td><code>feac7b5f2e060af7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectMapper.1</span></td><td><code>d869d07375485f3a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectReader</span></td><td><code>fae824e8240acbcb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectWriter</span></td><td><code>5569f9f91b6fde1c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectWriter.GeneratorSettings</span></td><td><code>74e1b8ab6f98e514</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ObjectWriter.Prefetch</span></td><td><code>d0f2b11b73af618d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.PropertyMetadata</span></td><td><code>3642a4c891741fdb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.PropertyName</span></td><td><code>2e46c488b398de98</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.SerializationConfig</span></td><td><code>f64e52743e6e23ba</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.SerializationFeature</span></td><td><code>6c3d50364dea3315</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.SerializerProvider</span></td><td><code>add373c9befc17f3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.BaseSettings</span></td><td><code>6e307b8cfc85cf90</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionAction</span></td><td><code>9e15561f16680f97</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionConfig</span></td><td><code>ffad61191adeb87e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionConfigs</span></td><td><code>8937a55c926c734f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionConfigs.1</span></td><td><code>931244b15cf2e1f1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.CoercionInputShape</span></td><td><code>90aad4e377b3dccd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConfigOverride</span></td><td><code>f1771a0d408303c8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConfigOverride.Empty</span></td><td><code>3372ed519d9bafb4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConfigOverrides</span></td><td><code>22d24ffa6c186bf5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConstructorDetector</span></td><td><code>9af1c9a41cb4b83d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ConstructorDetector.SingleArgConstructor</span></td><td><code>b0c67222cebc30be</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ContextAttributes</span></td><td><code>216e6db5a97ae48a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.ContextAttributes.Impl</span></td><td><code>ede427cff276c0b8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.DatatypeFeatures</span></td><td><code>f4893ef156575441</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.DatatypeFeatures.DefaultHolder</span></td><td><code>81838084595fa0c8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.DefaultCacheProvider</span></td><td><code>6bbb2aa855b50726</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.DeserializerFactoryConfig</span></td><td><code>7861ff22cec5640b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.EnumFeature</span></td><td><code>16e95ce7a3f1f1ee</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.HandlerInstantiator</span></td><td><code>2eeab815fa9478a5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.JsonNodeFeature</span></td><td><code>7330d2d1d47044f4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.MapperConfig</span></td><td><code>1d8b5e33071c81b8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.MapperConfigBase</span></td><td><code>4e89f63652bdefed</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.MutableCoercionConfig</span></td><td><code>262e6b36c9ca989e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.cfg.SerializerFactoryConfig</span></td><td><code>d93f22d3258ee4c0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BasicDeserializerFactory</span></td><td><code>fcc81a1e9e8ea5c7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BasicDeserializerFactory.ContainerDefaultMappings</span></td><td><code>009729ed3de46050</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializer</span></td><td><code>82e83ea18acf0af0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializerBase</span></td><td><code>666cffb13521c8ae</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder</span></td><td><code>3685cbb4778a0276</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializerFactory</span></td><td><code>6212f1f2e3ceb31a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.BeanDeserializerModifier</span></td><td><code>e02ffa263f40078f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.CreatorProperty</span></td><td><code>684a83aa37ca3bca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DefaultDeserializationContext</span></td><td><code>5756779a22fd7d68</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.Impl</span></td><td><code>8057860fe47eb5da</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DeserializerCache</span></td><td><code>573883aa494a0e06</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.DeserializerFactory</span></td><td><code>ff5d37b3d9ea8e9e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.Deserializers.Base</span></td><td><code>a3b8086adb6ca320</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.SettableBeanProperty</span></td><td><code>da907dfbf3e6f1b7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.ValueInstantiator</span></td><td><code>500a74eea26ebb5d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.ValueInstantiator.Base</span></td><td><code>56fce65bc9fdb762</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.ValueInstantiators.Base</span></td><td><code>409ddb33d4295a19</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.BeanPropertyMap</span></td><td><code>f7cb13cd880496c1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.CreatorCandidate</span></td><td><code>83d184c9ae1f5c28</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.CreatorCandidate.Param</span></td><td><code>8696d6511c82a1c3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.CreatorCollector</span></td><td><code>4c7bfe9176e89ec1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.FailingDeserializer</span></td><td><code>4904d8577f214eb3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.JDKValueInstantiators</span></td><td><code>6b88cdf4389f1154</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.JDKValueInstantiators.ArrayListInstantiator</span></td><td><code>8ca7fb8171c78613</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.JDKValueInstantiators.JDKValueInstantiator</span></td><td><code>09fdf69019c1bab3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.NullsConstantProvider</span></td><td><code>83cd716157aa0f9a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.PropertyBasedCreator</span></td><td><code>54b286de6fa5cb80</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.PropertyValueBuffer</span></td><td><code>e7b5514d711ce3b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.impl.SetterlessProperty</span></td><td><code>198fb4866e9d7c77</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer</span></td><td><code>aecb9451caa054b5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.BaseNodeDeserializer.ContainerStack</span></td><td><code>76140ad3485398fa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.CollectionDeserializer</span></td><td><code>a0c4a8193c8d1efa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.ContainerDeserializerBase</span></td><td><code>0f7cf99ff0b0c8a0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.EnumDeserializer</span></td><td><code>54883ec4c5a1535b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.FromStringDeserializer</span></td><td><code>6d767a00224f2932</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.JdkDeserializers</span></td><td><code>3f25ddde73f05bdc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.JsonNodeDeserializer</span></td><td><code>65903bcd6676c71b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers</span></td><td><code>af4aa96d306dfbb7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.BooleanDeserializer</span></td><td><code>30e8686ef1609fb9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.DoubleDeserializer</span></td><td><code>74dd620154d120e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.FloatDeserializer</span></td><td><code>30ba5a233bdda9cd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.IntegerDeserializer</span></td><td><code>cb695275ccadb732</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.NumberDeserializers.PrimitiveOrWrapperDeserializer</span></td><td><code>467caf19a87c057e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer</span></td><td><code>1e2a0ef210fc8ead</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StdDeserializer</span></td><td><code>ec112cef8e3e635f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StdKeyDeserializers</span></td><td><code>1862d008401cb8e6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer</span></td><td><code>25286f364997b846</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StdValueInstantiator</span></td><td><code>49a181a7a3137f85</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.deser.std.StringDeserializer</span></td><td><code>36ba9f92a53b7892</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.exc.ValueInstantiationException</span></td><td><code>c199a449cbdedbb5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.Java7Handlers</span></td><td><code>31410c423d95a2d0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.Java7HandlersImpl</span></td><td><code>423b0b9d126fb382</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.Java7Support</span></td><td><code>4b7557784caa415a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.Java7SupportImpl</span></td><td><code>94a94fc44678f7e9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ext.OptionalHandlerFactory</span></td><td><code>a873be98e8f52009</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AccessorNamingStrategy</span></td><td><code>3d3b7f563f5ca70a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AccessorNamingStrategy.Provider</span></td><td><code>6026222786456f26</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.Annotated</span></td><td><code>d8a50f577d0f97e3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedClass</span></td><td><code>208d1216b93f97d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedClass.Creators</span></td><td><code>ecbba5a1c87c995f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedClassResolver</span></td><td><code>dcd3643857e87392</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedConstructor</span></td><td><code>eaf946db37898a44</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedCreatorCollector</span></td><td><code>f1dbd789d7b2161e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedField</span></td><td><code>e6e45b21b9cdeda3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector</span></td><td><code>12776b633eff9c22</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedFieldCollector.FieldBuilder</span></td><td><code>571d9e7fb561d385</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMember</span></td><td><code>5879537c033bd580</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethod</span></td><td><code>ad2f0bf303d90ae0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethodCollector</span></td><td><code>e8e34bff5e47f125</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethodCollector.MethodBuilder</span></td><td><code>b522d96f88a7ade4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedMethodMap</span></td><td><code>d69be24a07cecf16</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedParameter</span></td><td><code>05eab262cf202b22</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotatedWithParams</span></td><td><code>54f7d4537c15cfdb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector</span></td><td><code>c389709d2ffbb364</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.EmptyCollector</span></td><td><code>a87b6b2439611ec7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.NCollector</span></td><td><code>9e3f6012728d8752</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.NoAnnotations</span></td><td><code>9173d7167a075d90</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.OneAnnotation</span></td><td><code>5d638a47b9878df4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationCollector.OneCollector</span></td><td><code>4d7ed4cd12d6011c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationIntrospectorPair</span></td><td><code>9d16f9ff1705e35c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.AnnotationMap</span></td><td><code>78aa63dcada1ee05</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.BasicBeanDescription</span></td><td><code>ee392418d8888462</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.BasicClassIntrospector</span></td><td><code>39b99876005fda1c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.BeanPropertyDefinition</span></td><td><code>2dd865e01c7821e3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.ClassIntrospector</span></td><td><code>80b5ce0a8f2ec97e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.CollectorBase</span></td><td><code>fec0f38373f479ba</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.ConcreteBeanPropertyBase</span></td><td><code>d84392ce3ebfddd1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.DefaultAccessorNamingStrategy</span></td><td><code>efc1568392fc0098</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.DefaultAccessorNamingStrategy.Provider</span></td><td><code>9679bb882d2d354f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.DefaultAccessorNamingStrategy.RecordNaming</span></td><td><code>578773c3cc25aa96</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.EnumNamingStrategyFactory</span></td><td><code>8c9e3cf7c9b3856a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector</span></td><td><code>58c8eae5252a6c31</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.MemberKey</span></td><td><code>9ca9521f92a44a1e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.MethodGenericTypeResolver</span></td><td><code>93fee28a49a66217</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector</span></td><td><code>2e9065cf89c823f0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector.1</span></td><td><code>6d114ef8b9ac9262</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector</span></td><td><code>1fb829d4fddd081d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.1</span></td><td><code>a93bc7b71d90b676</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder</span></td><td><code>87fdbc35dd7fe8d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.1</span></td><td><code>f8c184b56fb169c8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.2</span></td><td><code>19727b4ee6c7346b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.3</span></td><td><code>ed3aa2d5d8009709</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.5</span></td><td><code>4c0c69e309e0b7ff</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.6</span></td><td><code>ccd09ff0ec86f8de</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.Linked</span></td><td><code>975bce19625e2697</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.PotentialCreator</span></td><td><code>4afb0a27f3fb5b06</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.PotentialCreators</span></td><td><code>41788d498751d740</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.SimpleMixInResolver</span></td><td><code>6a0721d817cbf413</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.TypeResolutionContext.Basic</span></td><td><code>09190ef225acb240</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.introspect.VisibilityChecker.Std</span></td><td><code>fc5c252ca246e76d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jdk14.JDK14Util</span></td><td><code>2acdcc82ad4011a3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jdk14.JDK14Util.RawTypeName</span></td><td><code>450f9974d335e21f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jdk14.JDK14Util.RecordAccessor</span></td><td><code>96dd316a6e135b91</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator</span></td><td><code>ff1c7cc76de984ce</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator.Base</span></td><td><code>b175bf9510b258ca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.SubtypeResolver</span></td><td><code>b2ed8bc0e5fe669c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator</span></td><td><code>d02dab29b87ed521</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver</span></td><td><code>342823e6800eb76b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.jsontype.impl.SubTypeValidator</span></td><td><code>a7ad2f19c2210a88</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.module.SimpleDeserializers</span></td><td><code>53107227f2e2423e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.module.SimpleKeyDeserializers</span></td><td><code>2bf2353de1c43d9e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.module.SimpleModule</span></td><td><code>3f53ed00cec5a434</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.module.SimpleSerializers</span></td><td><code>e9d8a29b450ff8fa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.ArrayNode</span></td><td><code>b62d5b1a253c18b2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.BaseJsonNode</span></td><td><code>bfd90fff281f00ca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.BooleanNode</span></td><td><code>cebb2fcdf8e3b29f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.ContainerNode</span></td><td><code>2fa3dd74ea29c90a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.DoubleNode</span></td><td><code>4fd8dd62eb1664b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.FloatNode</span></td><td><code>f46048f3d7fb9f7a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.IntNode</span></td><td><code>980891d38da3f882</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.JsonNodeFactory</span></td><td><code>b407554ab061d84d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.JsonNodeType</span></td><td><code>a26f1eeaaa06bdd6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.NumericNode</span></td><td><code>5272679eb5ea0a69</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.ObjectNode</span></td><td><code>9381fbd1ff7bc116</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.TextNode</span></td><td><code>f2bcb339b9349615</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.node.ValueNode</span></td><td><code>836490b62c1c13d7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BasicSerializerFactory</span></td><td><code>06ddd3ea0362a46e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanPropertyWriter</span></td><td><code>adea74628d67a605</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializer</span></td><td><code>8bfdf46befe049ab</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializerBuilder</span></td><td><code>0107159d6b8f2643</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializerFactory</span></td><td><code>bd624d251342d5bd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.BeanSerializerModifier</span></td><td><code>24dbfece082070c4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.ContainerSerializer</span></td><td><code>67b35562bf415143</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.DefaultSerializerProvider</span></td><td><code>4a939462d4ee04e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.Impl</span></td><td><code>5404c75823dfd574</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.PropertyBuilder</span></td><td><code>4c62d16d11561c61</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.PropertyBuilder.1</span></td><td><code>f48c9fbafe2a4183</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.PropertyWriter</span></td><td><code>a75647305846e8db</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.SerializerCache</span></td><td><code>05a580ec11f5621f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.SerializerFactory</span></td><td><code>a96ec5a87f2a9dec</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.Serializers.Base</span></td><td><code>443d0df59bde7b26</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.FailingSerializer</span></td><td><code>fa5f1815a0731271</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer</span></td><td><code>cd4efc50b27864f0</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap</span></td><td><code>b896860192138c16</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Double</span></td><td><code>827fc9497fc28a95</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Empty</span></td><td><code>3dce91f99b61f9c6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Multi</span></td><td><code>c3b9cd10f6b775c6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.SerializerAndMapResult</span></td><td><code>7726b41f965932aa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.Single</span></td><td><code>e5e537120154be9c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap.TypeAndSerializer</span></td><td><code>370b3b65778d2b73</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.ReadOnlyClassToSerializerMap</span></td><td><code>f7673b78d4dbb21a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.ReadOnlyClassToSerializerMap.Bucket</span></td><td><code>f027017bdef27857</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.StringCollectionSerializer</span></td><td><code>d45a337763a1cc0f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.UnknownSerializer</span></td><td><code>57b36ae66444a354</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanPropertyWriter</span></td><td><code>801ec7ae4f0b3fd5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.impl.UnwrappingBeanSerializer</span></td><td><code>0a0c01880a099c9e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ArraySerializerBase</span></td><td><code>dc34ed0128aae0b4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase</span></td><td><code>f616360ffcb8c03d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.BeanSerializerBase</span></td><td><code>b97bf1b44f1eb074</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.BooleanSerializer</span></td><td><code>53274b73e9fccb8b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ByteArraySerializer</span></td><td><code>65e2202cadcb3f06</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.CalendarSerializer</span></td><td><code>da6df272674c3c19</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.CollectionSerializer</span></td><td><code>640c29e42fc11fad</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.DateSerializer</span></td><td><code>dcf355b20d60965d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.DateTimeSerializerBase</span></td><td><code>96599db15ea3dfb4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.MapSerializer</span></td><td><code>755fd32fafa9e6c7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NullSerializer</span></td><td><code>55885eb24739c250</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializer</span></td><td><code>2262ddb2410648e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers</span></td><td><code>dfe8936a5bca95d8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.1</span></td><td><code>749c16e3536adf29</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.Base</span></td><td><code>243c88192bb86ee4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.DoubleSerializer</span></td><td><code>5b65fb8c8ea04f02</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.FloatSerializer</span></td><td><code>0849cda863777be8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.IntLikeSerializer</span></td><td><code>37f949791419da14</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.IntegerSerializer</span></td><td><code>8572ad7f464034dd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.LongSerializer</span></td><td><code>1bcc67c140cfbe03</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.NumberSerializers.ShortSerializer</span></td><td><code>a678b068eca9e8b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer</span></td><td><code>6efbed5aa602a53a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StaticListSerializerBase</span></td><td><code>ab7e1015734c45ce</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers</span></td><td><code>5cecc00d070c5d4b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.BooleanArraySerializer</span></td><td><code>1690d17b488bb4fb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.CharArraySerializer</span></td><td><code>01cab5602882119e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.DoubleArraySerializer</span></td><td><code>b5a60e4942767bf7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.FloatArraySerializer</span></td><td><code>acb3b6422035b744</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.IntArraySerializer</span></td><td><code>6b00a1b878452036</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.LongArraySerializer</span></td><td><code>b05dd6055820a4a2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.ShortArraySerializer</span></td><td><code>3c615b464152f37d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdArraySerializers.TypedPrimitiveArraySerializer</span></td><td><code>8b2130fc93866291</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdJdkSerializers</span></td><td><code>b1d950d41858d3ba</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializer</span></td><td><code>57263a9bf2c56b28</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializers</span></td><td><code>bb4fe32f737c71dd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializers.Dynamic</span></td><td><code>99a8cc70f899d4e4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdKeySerializers.StringKeySerializer</span></td><td><code>4f8c5546749634aa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdScalarSerializer</span></td><td><code>294ce690d4fde5d1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StdSerializer</span></td><td><code>835c8daf4ce60eb4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.StringSerializer</span></td><td><code>60754410ce6ad434</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ToEmptyObjectSerializer</span></td><td><code>dc394eb35034fe73</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ToStringSerializer</span></td><td><code>b965af9d2adb22d7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase</span></td><td><code>4df4671bce83caa1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.ser.std.UUIDSerializer</span></td><td><code>86c2c3d2aa8e38aa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ArrayType</span></td><td><code>ada34943c659785c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ClassKey</span></td><td><code>c92de6eb0295e1ea</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ClassStack</span></td><td><code>b4e39752aaaff8ce</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.CollectionLikeType</span></td><td><code>fdca9c74891003b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.CollectionType</span></td><td><code>754ccfd8e93b2fdd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.IdentityEqualityType</span></td><td><code>fd3058d6950e2027</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.IterationType</span></td><td><code>7b065c3c52516631</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.LogicalType</span></td><td><code>e0e08cb4c4d717b1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.MapLikeType</span></td><td><code>84a6b76ead78268b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.MapType</span></td><td><code>e4c0bbd455f37026</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.PlaceholderForType</span></td><td><code>f31f14a2bd32fb51</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ReferenceType</span></td><td><code>460f1517d58eab7d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.ResolvedRecursiveType</span></td><td><code>6dc2c88dbe17a20b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.SimpleType</span></td><td><code>9bf726d4e15bb139</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBase</span></td><td><code>595557b119f1a886</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBindings</span></td><td><code>68edbaea56f84474</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBindings.AsKey</span></td><td><code>5dbe4f61d7b1bbc3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeBindings.TypeParamStash</span></td><td><code>d3e44935a745bdd9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeFactory</span></td><td><code>528d17324b50d910</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeModifier</span></td><td><code>3fde83f0d245be4f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.type.TypeParser</span></td><td><code>555ac466374b5334</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.AccessPattern</span></td><td><code>44bf82acd8a3fffc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ArrayBuilders</span></td><td><code>c14a06ce657aa67b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ArrayIterator</span></td><td><code>e4c9e4d38ac21c90</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.BeanUtil</span></td><td><code>47bbf10ba0aa1803</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ClassUtil</span></td><td><code>acbbf3084788ea1a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ClassUtil.Ctor</span></td><td><code>2c9b343a1f761176</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.CompactStringObjectMap</span></td><td><code>d64db9a69a0511bc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.EnumResolver</span></td><td><code>7d690e5e78dc143f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.IgnorePropertiesUtil</span></td><td><code>81001725c2203f99</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.LRUMap</span></td><td><code>c487e14750ddd25e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.LinkedNode</span></td><td><code>73ca05873e25cb2e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.NameTransformer</span></td><td><code>c43cdad198acca21</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.NameTransformer.NopTransformer</span></td><td><code>dc0c2a6c53c9bdfb</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ObjectBuffer</span></td><td><code>14fbae37b93a957b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.RootNameLookup</span></td><td><code>add4d1fb1a084862</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.StdDateFormat</span></td><td><code>c6d4539431425f11</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBuffer</span></td><td><code>d5dddd742f431ab8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBuffer.1</span></td><td><code>11dd2e5c9164805d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBuffer.Parser</span></td><td><code>4c4b85b4ef30973c</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBuffer.Segment</span></td><td><code>431e78936af92c7b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TokenBufferReadContext</span></td><td><code>702338bfd23a3af4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.TypeKey</span></td><td><code>32162ed128b7bbbd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.ViewMatcher</span></td><td><code>4ee947c1a3549fe5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.LinkedDeque</span></td><td><code>9bfc4fbb2b0b1196</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap</span></td><td><code>3f0ff22fe5779861</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.AddTask</span></td><td><code>866aec97a77c2650</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.Builder</span></td><td><code>dcc244062522bdc6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.DrainStatus</span></td><td><code>a1e26b7a083af651</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.DrainStatus.1</span></td><td><code>2de09d3a3bfcdca6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.DrainStatus.2</span></td><td><code>2928516020b2e91a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.DrainStatus.3</span></td><td><code>26e6a18539bc3d80</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.EntryIterator</span></td><td><code>86fc40b47b6d46b6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.EntrySet</span></td><td><code>69a473f3bfd1c6f1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.Node</span></td><td><code>2dc3669c077d2e56</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.WeightedValue</span></td><td><code>c5874d009c2eaa54</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.databind.util.internal.PrivateMaxEntriesMap.WriteThroughEntry</span></td><td><code>564e61c687d1b555</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.Jdk8Deserializers</span></td><td><code>285fb134c32370c5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.Jdk8Module</span></td><td><code>6e82097138dfd536</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.Jdk8Serializers</span></td><td><code>8e035f0805a72a0e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.Jdk8TypeModifier</span></td><td><code>e4d14414fff8e7f3</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jdk8.PackageVersion</span></td><td><code>b59ff77459e11bea</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature</span></td><td><code>ea7929f11ddba913</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.JavaTimeModule</span></td><td><code>4f39df5593fb9eaa</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.JavaTimeModule.1</span></td><td><code>d29fad8e5d7b9d2f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.JavaTimeModule.JavaTimeSerializers</span></td><td><code>480256903bb0dec8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.PackageVersion</span></td><td><code>2056dca5b900cce7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.DurationDeserializer</span></td><td><code>307d5ed06e9da0d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer</span></td><td><code>0b6116698ae31f35</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.JSR310DateTimeDeserializerBase</span></td><td><code>0366d6b796957250</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.JSR310DeserializerBase</span></td><td><code>a42a100eb3db5063</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.JSR310StringParsableDeserializer</span></td><td><code>ec40549afa8898ca</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.JavaTimeDeserializerModifier</span></td><td><code>9a67a5b81c60b411</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer</span></td><td><code>58c3f934d224bd6d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer</span></td><td><code>8f3554c3047a0fae</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer</span></td><td><code>1bffe9367f89358b</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.MonthDayDeserializer</span></td><td><code>295fd92b5b65742e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.OffsetTimeDeserializer</span></td><td><code>00fa8a1b15dfd0d9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.YearDeserializer</span></td><td><code>0679c75311d6e905</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.YearMonthDeserializer</span></td><td><code>af642fd7b5a7e4e8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.DurationKeyDeserializer</span></td><td><code>86dee43d5fd8de58</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.InstantKeyDeserializer</span></td><td><code>c323cc187e10bdcd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.Jsr310KeyDeserializer</span></td><td><code>64893f60684210d1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.LocalDateKeyDeserializer</span></td><td><code>3639e2ff55da7fa1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.LocalDateTimeKeyDeserializer</span></td><td><code>ed7e026ffd090c77</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.LocalTimeKeyDeserializer</span></td><td><code>c058ad0a221814f2</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.MonthDayKeyDeserializer</span></td><td><code>fe54a17b388e76da</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.OffsetDateTimeKeyDeserializer</span></td><td><code>1bfce89e8c6142a4</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.OffsetTimeKeyDeserializer</span></td><td><code>7e7c73d8f28d4c13</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.PeriodKeyDeserializer</span></td><td><code>1fb27ade4fa213e5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.YearKeyDeserializer</span></td><td><code>ded209cf80f75df6</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.YearMonthKeyDeserializer</span></td><td><code>bbb3a607d3512540</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.ZoneIdKeyDeserializer</span></td><td><code>010f3e4e2802434d</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.ZoneOffsetKeyDeserializer</span></td><td><code>b8b591cfa6cb7be9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.deser.key.ZonedDateTimeKeyDeserializer</span></td><td><code>92fa5e4a60f0ade5</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.DurationSerializer</span></td><td><code>a5c8d51f6d6d4ae7</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.InstantSerializer</span></td><td><code>dbba40957e9eaf5e</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.InstantSerializerBase</span></td><td><code>b350d73dca942b8f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.JSR310FormattedSerializerBase</span></td><td><code>29bff602a95b0ec8</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.JSR310SerializerBase</span></td><td><code>2ad341990e9021dc</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.JavaTimeSerializerModifier</span></td><td><code>2681cde6b7fbf170</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer</span></td><td><code>3fe3b848ac4c26de</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer</span></td><td><code>07117a9907d8d8af</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer</span></td><td><code>5bdffa12a22b8552</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.MonthDaySerializer</span></td><td><code>6e4b5e7046878466</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.OffsetDateTimeSerializer</span></td><td><code>9ad79a2ff3bec6bd</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.OffsetTimeSerializer</span></td><td><code>a48af694c5feb958</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.YearMonthSerializer</span></td><td><code>fcf1268df02f06e9</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.YearSerializer</span></td><td><code>35fd98ece03b0231</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.ZoneIdSerializer</span></td><td><code>04f155c4ebbe4db1</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.ZonedDateTimeSerializer</span></td><td><code>f31f18861207ab70</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.datatype.jsr310.ser.key.ZonedDateTimeKeySerializer</span></td><td><code>244ed33273b7bb0f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.module.paramnames.PackageVersion</span></td><td><code>ab8383c955826c4f</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.module.paramnames.ParameterExtractor</span></td><td><code>33c12848ae24c025</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.module.paramnames.ParameterNamesAnnotationIntrospector</span></td><td><code>26f4eb1794904d4a</code></td></tr><tr><td><span class="el_class">com.fasterxml.jackson.module.paramnames.ParameterNamesModule</span></td><td><code>5d5820ec8fffc7a8</code></td></tr><tr><td><span class="el_class">com.sun.security.sasl.gsskerb.JdkSASL</span></td><td><code>c579c5333dcee547</code></td></tr><tr><td><span class="el_class">com.sun.security.sasl.gsskerb.JdkSASL.1</span></td><td><code>61bf2b4a0ec4b4a2</code></td></tr><tr><td><span class="el_class">com.sun.security.sasl.gsskerb.JdkSASL.ProviderService</span></td><td><code>5b8ec4cca0c9bbac</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.ActuatorHealthTest</span></td><td><code>b951fda140a03d86</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.IlpCourseworkApplication</span></td><td><code>59e41b0d910eae84</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.IlpCourseworkApplicationTests</span></td><td><code>1474b8fc7c6e3c35</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.config.CorsConfig</span></td><td><code>da941f80c43e77eb</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.config.CorsConfig..SpringCGLIB..0</span></td><td><code>d81de5e4112cddf7</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.controller/ApiController.html" class="el_class">io.github.js0ny.ilp_coursework.controller.ApiController</a></td><td><code>ffce9288c9ccc206</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest</span></td><td><code>940676c89b15acd1</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.GetDistanceTests</span></td><td><code>66f9b6932bc11388</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.GetIsInRegionTests</span></td><td><code>1536646c4e128789</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.GetNextPositionTests</span></td><td><code>df134ce72cd18a1e</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.GetUidTests</span></td><td><code>68dd34795e454a64</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.ApiControllerTest.IsCloseToTests</span></td><td><code>e2b571bc2ef4e022</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.controller/DroneController.html" class="el_class">io.github.js0ny.ilp_coursework.controller.DroneController</a></td><td><code>5a9ac1a8380f2c35</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest</span></td><td><code>079a32eeab6f4089</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.DroneDetailsTest</span></td><td><code>d93ddbef04278324</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.GetDronesWithCoolingTest</span></td><td><code>e3197e9ec2c10d4f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.GetQueryAsPathTests</span></td><td><code>8a005b6398d2196f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.PostCalcDeliveryPathAsGeoJsonTests</span></td><td><code>ce235be8d4a6ade4</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.PostCalcDeliveryPathTests</span></td><td><code>1c7f18a25e820b97</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.PostQueryAvailableDronesTests</span></td><td><code>a6047546ca647a38</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.DroneControllerTest.PostQueryTests</span></td><td><code>c4cdc2dcbb42b4ac</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.controller/MapMetaController.html" class="el_class">io.github.js0ny.ilp_coursework.controller.MapMetaController</a></td><td><code>f3c744c6fc9d8373</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.MapMetaControllerTest</span></td><td><code>f8f3cb1a6038b7eb</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.MapMetaControllerTest.RestrictedAreasTests</span></td><td><code>bcc23906c2adcafd</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.controller.MapMetaControllerTest.ServicePointsTests</span></td><td><code>6ad82287e494c7d6</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.AltitudeRange</span></td><td><code>6fec04c672c5cb5a</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.Angle</span></td><td><code>c09389e583d7ec1e</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.DroneAvailability</span></td><td><code>b28118e4b0a47d8c</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.DroneCapability</span></td><td><code>9cdfc7a2d13150ab</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.LngLat</span></td><td><code>ddc15041bd8313d4</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.LngLatAlt</span></td><td><code>28936ac566596084</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.Region</span></td><td><code>fea47ab0bc7a5f38</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.common.TimeWindow</span></td><td><code>9a0df3bf7a51f3b1</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.external.Drone</span></td><td><code>825392957f41acdc</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.external.RestrictedArea</span></td><td><code>361268e63ce9dd3d</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.external.ServicePoint</span></td><td><code>2f530cc718e1264b</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.external.ServicePointDrones</span></td><td><code>227ed5303458c273</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.AttrQueryRequest</span></td><td><code>eabb3c5e2031793f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.DistanceRequest</span></td><td><code>8b6e3030c44f431f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest</span></td><td><code>dc36a8100f864d9c</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest.MedRequirement</span></td><td><code>60fefdce59825fc6</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.MovementRequest</span></td><td><code>7a8031c3927834c5</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.request.RegionCheckRequest</span></td><td><code>204b1069f166607e</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse</span></td><td><code>a0398abd20c1b6ad</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse.DronePath</span></td><td><code>62b0d0e1bbeddb85</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse.DronePath.Delivery</span></td><td><code>160ef98211089fe7</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.exception/GlobalExceptionHandler.html" class="el_class">io.github.js0ny.ilp_coursework.exception.GlobalExceptionHandler</a></td><td><code>dddbf7d66513b847</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/DroneAttrComparatorService.html" class="el_class">io.github.js0ny.ilp_coursework.service.DroneAttrComparatorService</a></td><td><code>87d434f5c35f96e3</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneAttrComparatorServiceTest</span></td><td><code>360d8f37987f3442</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneAttrComparatorServiceTest.DronesSatisfyingAttributesTests</span></td><td><code>7b43c5fc121110e6</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneAttrComparatorServiceTest.DronesWithAttributeTests</span></td><td><code>48163bd2b1ddddff</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/DroneInfoService.html" class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoService</a></td><td><code>647271bf8ee40a56</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest</span></td><td><code>52f06a14decd1848</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.DroneDetailTests</span></td><td><code>fdf6e092984ea6ee</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.DroneMatchesRequirementTests</span></td><td><code>c6f71778fb25986f</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.DronesMatchesRequirementsTests</span></td><td><code>072f1edbd84a56ab</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.DronesWithCoolingTests</span></td><td><code>4e2301306905b6c9</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.FetchAllDronesTests</span></td><td><code>18d3990e5cf91670</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.FetchDronesForServicePointsTests</span></td><td><code>c58c2ee5c59abe5d</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.FetchRestrictedAreasTests</span></td><td><code>acae4e94dc8302d7</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.DroneInfoServiceTest.FetchServicePointsTests</span></td><td><code>b9f76805ec4e5323</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/GpsCalculationService.html" class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationService</a></td><td><code>8adf6871907d0593</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest</span></td><td><code>9e2977d611b66dc8</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest.CalculateDistanceTests</span></td><td><code>2e6153905302c14c</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest.IsCloseToTests</span></td><td><code>e8535b751a3c2f88</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest.NextPositionTests</span></td><td><code>a7d9e39e3297aceb</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.GpsCalculationServiceTest.NextPositionTests.CheckIsInRegionTests</span></td><td><code>f5333bb175eaf522</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/PathFinderService.html" class="el_class">io.github.js0ny.ilp_coursework.service.PathFinderService</a></td><td><code>4f1439c2ee245bc8</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/PathFinderService$PathSegment.html" class="el_class">io.github.js0ny.ilp_coursework.service.PathFinderService.PathSegment</a></td><td><code>b8315df0fc393255</code></td></tr><tr><td><a href="io.github.js0ny.ilp_coursework.service/PathFinderService$TripResult.html" class="el_class">io.github.js0ny.ilp_coursework.service.PathFinderService.TripResult</a></td><td><code>145c7a62eb8574ff</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.PathFinderServiceTest</span></td><td><code>e599ad4f7d22d005</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.service.TelemetryService</span></td><td><code>99acbe0a26b2bea9</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.util.AttrComparator</span></td><td><code>67b3dd53df9df20d</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.util.AttrComparator.1</span></td><td><code>241a2005db6457ff</code></td></tr><tr><td><span class="el_class">io.github.js0ny.ilp_coursework.util.AttrOperator</span></td><td><code>705c7af29e18160f</code></td></tr><tr><td><span class="el_class">io.micrometer.common.ImmutableKeyValue</span></td><td><code>ce53ce3a42174424</code></td></tr><tr><td><span class="el_class">io.micrometer.common.KeyValue</span></td><td><code>70414e22bc7f19d9</code></td></tr><tr><td><span class="el_class">io.micrometer.common.KeyValues</span></td><td><code>65cbaf98f510050c</code></td></tr><tr><td><span class="el_class">io.micrometer.common.KeyValues.ArrayIterator</span></td><td><code>04b6cb7e0e3f66bc</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.StringUtils</span></td><td><code>b9f34447f0b7e191</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.AbstractInternalLogger</span></td><td><code>fc714fdf636f1cc4</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.InternalLoggerFactory</span></td><td><code>815f5729d30c984b</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.LocationAwareSlf4JLogger</span></td><td><code>1453409771b36687</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.Slf4JLoggerFactory</span></td><td><code>c480808dc2b16776</code></td></tr><tr><td><span class="el_class">io.micrometer.common.util.internal.logging.WarnThenDebugLogger</span></td><td><code>f73e248accabc1dc</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.AbstractMeter</span></td><td><code>749fdd79729d1a91</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.AbstractTimer</span></td><td><code>458537eec9ccbd7a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.AbstractTimerBuilder</span></td><td><code>c414c5df65078a27</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Clock</span></td><td><code>27403fed8a878c88</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Clock.1</span></td><td><code>85cf1843ec782f45</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Counter</span></td><td><code>c8a6f2796d36fe79</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Counter.Builder</span></td><td><code>68dda3d9b672a515</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.FunctionCounter</span></td><td><code>d4e4abfe2287f81c</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.FunctionCounter.Builder</span></td><td><code>ef4ef3443f74ba16</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Gauge</span></td><td><code>598831c19c5951ae</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Gauge.Builder</span></td><td><code>b8fd6038e80009d9</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.ImmutableTag</span></td><td><code>024bf4fd78172ef6</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.LongTaskTimer</span></td><td><code>35fc5f4f514a6bc2</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.LongTaskTimer.Builder</span></td><td><code>4f707851f9cbfb2a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.LongTaskTimer.Sample</span></td><td><code>c8fd79786890d398</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Meter</span></td><td><code>ca121d9c6b14b1ed</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Meter.Id</span></td><td><code>c279c4d88b11218b</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Meter.Type</span></td><td><code>319f1d0ae0d97cb6</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.MeterRegistry</span></td><td><code>7bbad016b20b720e</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.MeterRegistry.1</span></td><td><code>f4689917fec8e598</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.MeterRegistry.Config</span></td><td><code>98f594caa27079e7</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.MeterRegistry.More</span></td><td><code>27f2e5a2496b61bd</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Metrics</span></td><td><code>250c74b64c5436ff</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Metrics.More</span></td><td><code>07a6673cd5c4310b</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Statistic</span></td><td><code>0693aed6157ea671</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.StrongReferenceGaugeFunction</span></td><td><code>a5a280d3739cec42</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Tag</span></td><td><code>9de40eb5187eb4d5</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Tags</span></td><td><code>c764c1820de76958</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Tags.ArrayIterator</span></td><td><code>37840b062e80d321</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.TimeGauge</span></td><td><code>659e0e58305c9bf5</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.TimeGauge.Builder</span></td><td><code>75e31c57eb216fad</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Timer</span></td><td><code>7278fdd06d767506</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Timer.Builder</span></td><td><code>c432b7669fb8f654</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.Timer.Sample</span></td><td><code>9a307529674fb5a8</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.ClassLoaderMetrics</span></td><td><code>4c69e66ac804fd22</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.ExecutorServiceMetrics</span></td><td><code>7d5a1f63c8b02cbf</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmCompilationMetrics</span></td><td><code>b7dedcd1437e899f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmGcMetrics</span></td><td><code>d02a73acb550eca8</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmGcMetrics.GcGenerationAge</span></td><td><code>ab6d2146c5eb69cc</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmGcMetrics.GcMetricsNotificationListener</span></td><td><code>c262f1e4098898e2</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmHeapPressureMetrics</span></td><td><code>5a880950a5094d19</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmInfoMetrics</span></td><td><code>2799212c4057db8a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmMemory</span></td><td><code>de1a6e5523d26f24</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmMemoryMetrics</span></td><td><code>1574d81cb311ba26</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.jvm.JvmThreadMetrics</span></td><td><code>1110a025d632fdb0</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.logging.LogbackMetrics</span></td><td><code>a261aa1ef61e6274</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.logging.LogbackMetrics.1</span></td><td><code>96c2217f9d727f87</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.logging.MetricsTurboFilter</span></td><td><code>ec2a288389617aa6</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.system.DiskSpaceMetrics</span></td><td><code>7151f7a7027b367f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.system.FileDescriptorMetrics</span></td><td><code>87062ccafffabd9d</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.system.ProcessorMetrics</span></td><td><code>7e99b2da05b79088</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.system.UptimeMetrics</span></td><td><code>5dbbad3a9c36b7a2</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.tomcat.TomcatMetrics</span></td><td><code>b4797a76956fde0c</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.binder.tomcat.TomcatMetrics.1</span></td><td><code>e769c550a37a4f88</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.composite.CompositeMeterRegistry</span></td><td><code>adba4830a4247951</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterFilter</span></td><td><code>13cbd6c7510779bf</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterFilter.9</span></td><td><code>5373d694e0d02b32</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterFilterReply</span></td><td><code>075cabb591f4fc19</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterRegistryConfig</span></td><td><code>bbde32cbfc2a597c</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.MeterRegistryConfigValidator</span></td><td><code>750ea0fc3a016f32</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention</span></td><td><code>ac646c253daf5b62</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention.1</span></td><td><code>57b41695fe46ca79</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention.2</span></td><td><code>b8e9327450c011ae</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention.3</span></td><td><code>b0c428554a6fb8a7</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.NamingConvention.4</span></td><td><code>100d7825129bca77</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.validate.Validated</span></td><td><code>d3f3efa50ae104ed</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.validate.Validated.Either</span></td><td><code>f0586b2cc1c03e41</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.validate.Validated.None</span></td><td><code>71956f7a541ab616</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.config.validate.Validated.Valid</span></td><td><code>13d63e6c6520213a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.cumulative.CumulativeCounter</span></td><td><code>dcfecaedcfd2d98e</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.cumulative.CumulativeFunctionCounter</span></td><td><code>775ce7b161f5462b</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.cumulative.CumulativeTimer</span></td><td><code>c28eeff3cd0ded9e</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.DistributionStatisticConfig</span></td><td><code>e40f01dc45306c95</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.DistributionStatisticConfig.Builder</span></td><td><code>dca89444e34b6869</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.Histogram</span></td><td><code>4a0cd4a4dad91b5f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.HistogramGauges</span></td><td><code>f1051c3b0a31e02f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.HistogramSnapshot</span></td><td><code>f6f0a2c350060651</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.NoopHistogram</span></td><td><code>dccea607bc1a741f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.TimeWindowMax</span></td><td><code>5e4d369633a97056</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.TimeWindowSum</span></td><td><code>5f2f432fbbcdc373</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.distribution.pause.NoPauseDetector</span></td><td><code>9597f9517cac131a</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.internal.DefaultGauge</span></td><td><code>9ffba2b99e98221f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.internal.DefaultLongTaskTimer</span></td><td><code>e482f5d618b2b742</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.internal.DefaultLongTaskTimer.SampleImpl</span></td><td><code>53ebcc13b5a6590f</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.observation.DefaultMeterObservationHandler</span></td><td><code>b83c56d25d50cd6d</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.observation.MeterObservationHandler</span></td><td><code>b8db990170efcccc</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.simple.CountingMode</span></td><td><code>d8f115cbf2147505</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.simple.SimpleConfig</span></td><td><code>aa6503a5740ef627</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.simple.SimpleMeterRegistry</span></td><td><code>d685959c100f06a9</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.simple.SimpleMeterRegistry.1</span></td><td><code>39b5e854d8adf4e9</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.util.MeterEquivalence</span></td><td><code>09c6c5c511b643f5</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.util.TimeUtils</span></td><td><code>511e1f3915f3d0a5</code></td></tr><tr><td><span class="el_class">io.micrometer.core.instrument.util.TimeUtils.1</span></td><td><code>349dcbd54fbb5b9e</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.NoopObservation</span></td><td><code>d272f3d7a88f8a43</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.NoopObservation.NoopScope</span></td><td><code>506866503e3d83be</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.NoopObservationConfig</span></td><td><code>f06dc79d930dd2e1</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.NoopObservationRegistry</span></td><td><code>3cab6a654866c172</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.Observation</span></td><td><code>5747ea0b1cdf4c82</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.Observation.Context</span></td><td><code>a98c6fcff6b3558e</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.Observation.Scope</span></td><td><code>0371e582bfd0a9f9</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationConvention</span></td><td><code>c3d233701e2d8834</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationHandler</span></td><td><code>cb663853a1331fb7</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationHandler.FirstMatchingCompositeObservationHandler</span></td><td><code>5564d960e47a5602</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationRegistry</span></td><td><code>ad7c919ae08e6872</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.ObservationRegistry.ObservationConfig</span></td><td><code>f06dffc4374ad6aa</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.SimpleObservation</span></td><td><code>1b84981efaeef162</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.SimpleObservation.SimpleScope</span></td><td><code>00822ffb59ec552c</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.SimpleObservationRegistry</span></td><td><code>18b172c059a03a71</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.docs.ObservationDocumentation</span></td><td><code>9e589d49230c457d</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.Kind</span></td><td><code>241ca382fc413427</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.ReceiverContext</span></td><td><code>6ef5b349bed758d0</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.RequestReplyReceiverContext</span></td><td><code>50c992df0034b2ed</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.RequestReplySenderContext</span></td><td><code>bcba44904efb2e09</code></td></tr><tr><td><span class="el_class">io.micrometer.observation.transport.SenderContext</span></td><td><code>395a12cacbfc31d8</code></td></tr><tr><td><span class="el_class">jakarta.servlet.DispatcherType</span></td><td><code>aa8760f3e259c94e</code></td></tr><tr><td><span class="el_class">jakarta.servlet.GenericServlet</span></td><td><code>fd13457d9e4a001f</code></td></tr><tr><td><span class="el_class">jakarta.servlet.MultipartConfigElement</span></td><td><code>9c2586b206768daa</code></td></tr><tr><td><span class="el_class">jakarta.servlet.ServletInputStream</span></td><td><code>4e94768e3f58a02f</code></td></tr><tr><td><span class="el_class">jakarta.servlet.ServletOutputStream</span></td><td><code>b55f9bca80a0dee9</code></td></tr><tr><td><span class="el_class">jakarta.servlet.ServletResponseWrapper</span></td><td><code>3f4d163d92b35682</code></td></tr><tr><td><span class="el_class">jakarta.servlet.SessionTrackingMode</span></td><td><code>5f31acdfa89bbf8d</code></td></tr><tr><td><span class="el_class">jakarta.servlet.http.HttpServlet</span></td><td><code>5c143608d3a9c009</code></td></tr><tr><td><span class="el_class">jakarta.servlet.http.HttpServletResponseWrapper</span></td><td><code>d83507baf708d939</code></td></tr><tr><td><span class="el_class">jakarta.servlet.http.MappingMatch</span></td><td><code>05d13d57e3f025ce</code></td></tr><tr><td><span class="el_class">java.net.http.HttpClient</span></td><td><code>bb4f034683fae42f</code></td></tr><tr><td><span class="el_class">java.net.http.HttpClient.Builder</span></td><td><code>3e543b3d71f0b7c4</code></td></tr><tr><td><span class="el_class">java.net.http.HttpClient.Redirect</span></td><td><code>ff1f95fbeebcf206</code></td></tr><tr><td><span class="el_class">java.net.http.HttpClient.Version</span></td><td><code>6bc53a5ec820d8b7</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.ConnectionPool</span></td><td><code>faf0cf945a82fa20</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.ConnectionPool.ExpiryList</span></td><td><code>b7af515f9e88a372</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.FilterFactory</span></td><td><code>19d3e672a9de8e11</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.Http2ClientImpl</span></td><td><code>00e788b70286869e</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientBuilderImpl</span></td><td><code>23078421bba0c2a8</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientFacade</span></td><td><code>db9eb4c356321245</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl</span></td><td><code>9be4aae4f9ab86f2</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.DefaultThreadFactory</span></td><td><code>22d25546efbac04c</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.DelegatingExecutor</span></td><td><code>4de5dda373076170</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.SSLDirectBufferSupplier</span></td><td><code>e866ef8dadf1cd51</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.SelectorManager</span></td><td><code>12694a4de41bebb1</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpClientImpl.SingleFacadeFactory</span></td><td><code>489c7410c14cab0e</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.HttpConnection</span></td><td><code>3b1119dda22d700c</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.DebugLogger</span></td><td><code>18e7de51c0c619ff</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.DebugLogger.LoggerConfig</span></td><td><code>1b8e2d023f8cd186</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.HttpBodySubscriberWrapper</span></td><td><code>aed5fcb8238fabb6</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.HttpBodySubscriberWrapper.1</span></td><td><code>b16adeab8ec7337c</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.Log</span></td><td><code>e2fb55885272f49e</code></td></tr><tr><td><span class="el_class">jdk.internal.net.http.common.Utils</span></td><td><code>1eab49a2de29059c</code></td></tr><tr><td><span class="el_class">jdk.internal.org.jline.JdkConsoleProviderImpl</span></td><td><code>acb70be160a79e49</code></td></tr><tr><td><span class="el_class">jdk.jshell.execution.impl.ConsoleImpl.ConsoleProviderImpl</span></td><td><code>7a83bf0112781020</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ByteBuddy</span></td><td><code>8a25cfee68883757</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion</span></td><td><code>da7c006b44346640</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolved</span></td><td><code>a389024132c0cc61</code></td></tr><tr><td><span class="el_class">net.bytebuddy.ClassFileVersion.VersionLocator.Resolver</span></td><td><code>6f0a8d6c5c95d22c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.AbstractBase</span></td><td><code>47d6d27e15064a2b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing</span></td><td><code>83ffc7a50d03e29a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.Suffixing.BaseNameResolver.ForUnnamedType</span></td><td><code>dc4c226cbd0897a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.NamingStrategy.SuffixingRandom</span></td><td><code>c7e2e00a103cd13c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache</span></td><td><code>05243229e50ea1b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.LookupKey</span></td><td><code>599592f0f74bbe07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.SimpleKey</span></td><td><code>aab9b5395600f0fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort</span></td><td><code>2863b0d48a0f3008</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.1</span></td><td><code>ba4f2805581e1090</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.2</span></td><td><code>db80a28c74867927</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.Sort.3</span></td><td><code>65abff93a29d75a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.StorageKey</span></td><td><code>b7a810d4119627f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.TypeCache.WithInlineExpunction</span></td><td><code>131bdbf6b155e141</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent</span></td><td><code>4e6d31791b872ae1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AgentProvider.ForByteBuddyAgent</span></td><td><code>29112ecb8b8b4efa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider</span></td><td><code>684e5809245dffbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.ExternalAttachment</span></td><td><code>2eb5780a90fb308f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple</span></td><td><code>e174f5b7baf5e195</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Accessor.Simple.WithExternalAttachment</span></td><td><code>0209a0cc40bf38bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.Compound</span></td><td><code>d4787198429d2c2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForEmulatedAttachment</span></td><td><code>5c241df9146cc094</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForJ9Vm</span></td><td><code>1036a16e82570bc8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForModularizedVm</span></td><td><code>f396394804c5db4e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForStandardToolsJarVm</span></td><td><code>6a1ab63f76800028</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentProvider.ForUserDefinedToolsJar</span></td><td><code>d6cccb1e071c957e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.ForJava9CapableVm</span></td><td><code>afa4631e88eae5b9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.AttachmentTypeEvaluator.InstallationAction</span></td><td><code>de9aa7707e4d7d4e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm</span></td><td><code>fb46842d061b8907</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.ByteBuddyAgent.ProcessProvider.ForCurrentVm.ForJava9CapableVm</span></td><td><code>9cbf034f4a875aa9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.agent.Installer</span></td><td><code>8bf7b5c7d2be2c5c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice</span></td><td><code>70b624c9f019e2d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor</span></td><td><code>fabc880f6c0d5cd1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice</span></td><td><code>e5e4c6806aaeee24</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.AdviceVisitor.WithExitAdvice.WithoutExceptionHandling</span></td><td><code>ee7c0bbc4d058e48</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory</span></td><td><code>88f478d1b3b07ef4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.1</span></td><td><code>5b27bf7bbedbea54</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.Factory.2</span></td><td><code>57b0b2625db26866</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default</span></td><td><code>8f1d6e695fd7ed52</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodEnter</span></td><td><code>2298e62edd4a8f61</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForAdvice.Default.ForMethodExit</span></td><td><code>d03149f225f747e5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default</span></td><td><code>3ac42d24c686a98d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ArgumentHandler.ForInstrumentedMethod.Default.Copying</span></td><td><code>f3d840402494b1eb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Delegator.ForRegularInvocation.Factory</span></td><td><code>5378b1b8ea4a3362</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher</span></td><td><code>0e7fef258bff623e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inactive</span></td><td><code>17d1a367a7c4f802</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining</span></td><td><code>c3ce45049068fa1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.CodeTranslationVisitor</span></td><td><code>1504514b9b3dac05</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved</span></td><td><code>6de58a2c31e6f05a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner</span></td><td><code>35df575204406b21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableCollector</span></td><td><code>5c4bed9acb4fe33a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableExtractor</span></td><td><code>fb86d13a4d8b8eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.AdviceMethodInliner.ExceptionTableSubstitutor</span></td><td><code>dec4d3e69163577d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter</span></td><td><code>34cb9d6bc3c7cc9a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodEnter.WithRetainedEnterType</span></td><td><code>aed2977cf6532c53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit</span></td><td><code>57a7e629b3866515</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Inlining.Resolved.ForMethodExit.WithoutExceptionHandler</span></td><td><code>4677875bb641e3ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Disabled</span></td><td><code>85ecfbf093d6a3b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForType</span></td><td><code>fa2fbbc6481a65a5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue</span></td><td><code>5b7eff5293f1f424</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.1</span></td><td><code>d679d59d5fd6c1f6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.2</span></td><td><code>2e3770e70234e10e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.3</span></td><td><code>fe0c7bd84802ffd9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.4</span></td><td><code>1aabf94aeb884226</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.5</span></td><td><code>f45edbab1e0e9c5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.6</span></td><td><code>67ef92acb77ae368</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.7</span></td><td><code>b2a655f0f65d66c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.8</span></td><td><code>e7434f88906a9c24</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.9</span></td><td><code>b84a4f1e7e3ce186</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.Bound</span></td><td><code>243cdd25d86e4ab5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.ForValue.OfNonDefault</span></td><td><code>feaa862c952f8245</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.RelocationHandler.Relocation.ForLabel</span></td><td><code>2ca8b3bcf6049a33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.Resolved.AbstractBase</span></td><td><code>c11dfda520c9193f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.NoOp</span></td><td><code>c509d4e15ee51348</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.Dispatcher.SuppressionHandler.Suppressing</span></td><td><code>09e072bc1ca4ce4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default</span></td><td><code>5150bcf8b7ca4eb0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.1</span></td><td><code>b1848b8f9d54a2a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.2</span></td><td><code>ee9674baa95729a9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.ExceptionHandler.Default.3</span></td><td><code>2039586b2e878fb7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default</span></td><td><code>b7646d7a13f17583</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.ForAdvice</span></td><td><code>42c9c05091c4a149</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.MethodSizeHandler.Default.WithCopiedArguments</span></td><td><code>613e58a9d40f4543</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.NoExceptionHandler</span></td><td><code>85ae8e6a09ca4f81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.AdviceType</span></td><td><code>dd14d1576caa2ad4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Factory.Illegal</span></td><td><code>fa561d82583ef937</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments</span></td><td><code>872309721f07bc32</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForAllArguments.Factory</span></td><td><code>e34fac7274362266</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument</span></td><td><code>ff73ee4c55cc6164</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved</span></td><td><code>9551e89b98949a4c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForArgument.Unresolved.Factory</span></td><td><code>278dd3908309ea1a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForDynamicConstant.Factory</span></td><td><code>a14df00a10dbe7d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue</span></td><td><code>3ed67498436236ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForEnterValue.Factory</span></td><td><code>290ac0d704269bd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForExitValue.Factory</span></td><td><code>988128caa26d936c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForField.Unresolved.Factory</span></td><td><code>690f359d0e8a8eee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.ReaderFactory</span></td><td><code>4af22e2a757bf31a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForFieldHandle.Unresolved.WriterFactory</span></td><td><code>8fb88f057a84ce01</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForHandle.Factory</span></td><td><code>fc4d8ad5640502b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod</span></td><td><code>f9c766b7738a0693</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.1</span></td><td><code>7f8b1a3dde7a0c48</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.2</span></td><td><code>2440d1f955b26dbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.3</span></td><td><code>78e7d35d754c495a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.4</span></td><td><code>6795dcd6ec57c163</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedMethod.5</span></td><td><code>29f0de3fb8feaef4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForInstrumentedType</span></td><td><code>9cb199178b40c2e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForLocalValue.Factory</span></td><td><code>dee082d8fb8c9059</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForOrigin.Factory</span></td><td><code>cc27f773ada1ac11</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue</span></td><td><code>df9aeb25477abe21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForReturnValue.Factory</span></td><td><code>3f8ddbaca9c0ca46</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForSelfCallHandle.Factory</span></td><td><code>f4e803bdd3ec001f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation</span></td><td><code>42fae42b06e0ab7d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStackManipulation.Factory</span></td><td><code>2b1ef8ab130df062</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForStubValue</span></td><td><code>f6e4b7bed2d4994e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference</span></td><td><code>61bdbcb141a58594</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThisReference.Factory</span></td><td><code>e6438a2fa03556fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForThrowable.Factory</span></td><td><code>8258647049b8eb56</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.ForUnusedValue.Factory</span></td><td><code>bfd367cdaa8cf459</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort</span></td><td><code>fb270c614c10d4b0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.1</span></td><td><code>621f2e7f3b3b6565</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Sort.2</span></td><td><code>ace13bc50cb664fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray</span></td><td><code>f0f6d54d957fc045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForArray.ReadOnly</span></td><td><code>0f9962dd8bc7de98</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue</span></td><td><code>6d8821b5f8b246b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForDefaultValue.ReadWrite</span></td><td><code>6cb12c2494912a7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForStackManipulation</span></td><td><code>fccfc9f054f497ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable</span></td><td><code>24b0c4f2c614c48c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadOnly</span></td><td><code>b6c7fd082249ae77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.OffsetMapping.Target.ForVariable.ReadWrite</span></td><td><code>0c416afdff59072e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.PostProcessor.NoOp</span></td><td><code>1512979491b2467e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default</span></td><td><code>33caa14d82b5421e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.ForAdvice</span></td><td><code>d4b482c28c799b9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization</span></td><td><code>76b8e9fcb7058856</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.1</span></td><td><code>f1e81aecea736054</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.Initialization.2</span></td><td><code>5ee1fd4ae8179ac1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode</span></td><td><code>2f8f1e9d91c57542</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.1</span></td><td><code>c94ef73f34640c1b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.2</span></td><td><code>87cf86c20729f65e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.TranslationMode.3</span></td><td><code>e6194c7d74113b12</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments</span></td><td><code>3a5b748d9afc1836</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.StackMapFrameHandler.Default.WithPreservedArguments.WithArgumentCopy</span></td><td><code>894c7278034b34b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.Advice.WithCustomMapping</span></td><td><code>b39f1cffed199307</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.AbstractBase</span></td><td><code>1e9138fb1b0b4185</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.Compound</span></td><td><code>0648db34b4a99a08</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods</span></td><td><code>cf768d8f5b16d996</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.DispatchingVisitor</span></td><td><code>6468c29bcf0a7088</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.ForDeclaredMethods.Entry</span></td><td><code>ea3722f7f3e6a8e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.asm.AsmVisitorWrapper.NoOp</span></td><td><code>6782431026fffec0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ByteCodeElement.Token.TokenList</span></td><td><code>c378dffbca959a48</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.ModifierReviewable.AbstractBase</span></td><td><code>2ea5306ed3260bac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.NamedElement.WithDescriptor</span></td><td><code>79917fb7c151850b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.TypeVariableSource.AbstractBase</span></td><td><code>afa9cbe714a69ea6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription</span></td><td><code>7b5d7f348452a8fd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.AbstractBase</span></td><td><code>91fe2a0215db7a25</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationDescription.ForLoadedAnnotation</span></td><td><code>45b968ae6eb349e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.AbstractBase</span></td><td><code>b2574970a6108617</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Empty</span></td><td><code>85778debddc6a8e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.Explicit</span></td><td><code>45fb4e2b44a1ab64</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationList.ForLoadedAnnotations</span></td><td><code>309c064a5edad9f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationSource.Empty</span></td><td><code>3efda4f89915900c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue</span></td><td><code>d7f3d011bdffb51e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.AbstractBase</span></td><td><code>69e2bb699468284a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant</span></td><td><code>7427deef2563f6d0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType</span></td><td><code>42f42342648b8fa7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.1</span></td><td><code>de1b42a4850c814e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.2</span></td><td><code>2062c5f9436afbda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.3</span></td><td><code>9f54ef11aadacf72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.4</span></td><td><code>994767655151955f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.5</span></td><td><code>1745bb6a04e8993d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.6</span></td><td><code>e1f9c9a005abae22</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.7</span></td><td><code>6ed2f2d151367cbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.8</span></td><td><code>a27ee00384a36bef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForConstant.PropertyDelegate.ForNonArrayType.9</span></td><td><code>63c6c63b84353202</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForDescriptionArray</span></td><td><code>fcfee5f41864d050</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForEnumerationDescription</span></td><td><code>ae910611763d0f68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.ForTypeDescription</span></td><td><code>6ab0ae6789cbf5ef</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.Sort</span></td><td><code>0a66a94600ced3bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.annotation.AnnotationValue.State</span></td><td><code>ec800f741ddcd502</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.AbstractBase</span></td><td><code>99c01057a1777d0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.enumeration.EnumerationDescription.ForLoadedEnumeration</span></td><td><code>affebde010d964e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.AbstractBase</span></td><td><code>14186b080645f953</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.ForLoadedField</span></td><td><code>123156fd14617ba2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.InDefinedShape.AbstractBase</span></td><td><code>0d8b55a89d1f5d33</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Latent</span></td><td><code>3988698b9a06a78b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldDescription.Token</span></td><td><code>cb32bbcddd28b15f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.AbstractBase</span></td><td><code>eaf7adc9c2f91154</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.Explicit</span></td><td><code>8f12c029b0e18281</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForLoadedFields</span></td><td><code>8b99118397373efd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.field.FieldList.ForTokens</span></td><td><code>212571f44e74f5ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription</span></td><td><code>29fc82bada408f50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.AbstractBase</span></td><td><code>cd48701a16ec6aae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedConstructor</span></td><td><code>6b82fc21752f5919</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.ForLoadedMethod</span></td><td><code>1c3e6a782b133159</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase</span></td><td><code>a1150ad60ccc435a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.InDefinedShape.AbstractBase.ForLoadedExecutable</span></td><td><code>1009e43f35e34cbd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent</span></td><td><code>906c68aeeaaf7c2c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Latent.TypeInitializer</span></td><td><code>d2d992bea0797b42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.SignatureToken</span></td><td><code>5451f2ff109b0d00</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.Token</span></td><td><code>a2181b4586337ee7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeSubstituting</span></td><td><code>0993d75a33526eb0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodDescription.TypeToken</span></td><td><code>5e47ae2a4768bc1c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.AbstractBase</span></td><td><code>6e4bb8d5a09ca7f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.Explicit</span></td><td><code>9650ca53b2f6a6e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForLoadedMethods</span></td><td><code>7648140277a32974</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.ForTokens</span></td><td><code>42b106ad57e53b91</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.MethodList.TypeSubstituting</span></td><td><code>e3ff3658a2c85bc8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.AbstractBase</span></td><td><code>f0e631571e74e319</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter</span></td><td><code>1f8303d30bd71a08</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfConstructor</span></td><td><code>c6cfab06736c11d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.ForLoadedParameter.OfMethod</span></td><td><code>4bdfdb69b0fecfa2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.InDefinedShape.AbstractBase</span></td><td><code>607a2c5720c1d99a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Latent</span></td><td><code>be72fd24f033a8d0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.Token</span></td><td><code>8b04ac8d91e9a55d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterDescription.TypeSubstituting</span></td><td><code>0a2f4fe45f35ee10</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.AbstractBase</span></td><td><code>f7b000339c3e568b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.Empty</span></td><td><code>2463e6f28cf205b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable</span></td><td><code>d153e01de14acb07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfConstructor</span></td><td><code>42a22ddaced8086a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForLoadedExecutable.OfMethod</span></td><td><code>79fde0798956bcac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.ForTokens</span></td><td><code>203436ff676d33bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.method.ParameterList.TypeSubstituting</span></td><td><code>e79828a2536106b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.ModifierContributor.Resolver</span></td><td><code>0703516f4b7fd825</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.TypeManifestation</span></td><td><code>b090b1e7c7385c73</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility</span></td><td><code>98008a87e5e30e3e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.modifier.Visibility.1</span></td><td><code>b8d629c2c45ceb7b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.AbstractBase</span></td><td><code>0ec6f311394275e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.ForLoadedPackage</span></td><td><code>4c0675dabc7f0352</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.PackageDescription.Simple</span></td><td><code>f70620e1fa6685ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.AbstractBase</span></td><td><code>6ec7cebb7657a89e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.Empty</span></td><td><code>8a33bff3c9e86862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.RecordComponentList.ForTokens</span></td><td><code>fc914dd18d7a6558</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDefinition.Sort</span></td><td><code>6274c605f85caf0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription</span></td><td><code>c3eaeda62d963b8f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase</span></td><td><code>4c470694ace19ac8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.AbstractBase.OfSimpleType</span></td><td><code>5818a940b298c7ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ArrayProjection</span></td><td><code>db4200f41a9d25b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.ForLoadedType</span></td><td><code>445de55c15b3091b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic</span></td><td><code>52e171d973daa9cb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AbstractBase</span></td><td><code>70091e48533fe83a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator</span></td><td><code>ba33a37252d9901e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Chained</span></td><td><code>a18769b831f5d045</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableExceptionType</span></td><td><code>fc12460a1e315c5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedExecutableParameterType</span></td><td><code>820fde02a9920d37</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedField</span></td><td><code>c983cfe01d0d5edb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedInterface</span></td><td><code>a5b8cb5a2d7c21c3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedMethodReturnType</span></td><td><code>850a31c9319cfa02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedSuperClass</span></td><td><code>c2f372c822fca3e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.ForLoadedTypeVariable</span></td><td><code>3925b4cc15f4bd2f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.Delegator.Simple</span></td><td><code>242d40ab18115093</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForComponentType</span></td><td><code>4748d1b5aeab5236</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeArgument</span></td><td><code>b6147d2e51640023</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType</span></td><td><code>fdfe10d1fb135210</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForTypeVariableBoundType.OfFormalTypeVariable</span></td><td><code>bb1fab9736bbedf3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.ForWildcardUpperBoundType</span></td><td><code>98fbf4d7a37c0e61</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.AnnotationReader.NoOp</span></td><td><code>bfcd9d8dca3065f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection</span></td><td><code>07ac00385cc953c1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedFieldType</span></td><td><code>1b18d66c9610018d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedReturnType</span></td><td><code>2bf5be358b4dc655</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.ForLoadedSuperClass</span></td><td><code>b3ce70f79a11e22c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfConstructorParameter</span></td><td><code>dc5b41f427a54066</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.OfMethodParameter</span></td><td><code>fb1afa36f177f218</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation</span></td><td><code>2c30af0f6fa58f88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithEagerNavigation.OfAnnotatedElement</span></td><td><code>6806a9bf7ba25171</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation</span></td><td><code>80a39599d01968d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithLazyNavigation.OfAnnotatedElement</span></td><td><code>d2786c8c9ae86232</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProjection.WithResolvedErasure</span></td><td><code>306963d1fc7a671c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.LazyProxy</span></td><td><code>c5562144abf34544</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray</span></td><td><code>0660b19e071b04d9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfGenericArray.Latent</span></td><td><code>0980141661f7e1a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType</span></td><td><code>9f6b0bd613a646fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForErasure</span></td><td><code>8c4eacb30cea265e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.ForLoadedType</span></td><td><code>5274fb8c35225f5f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfNonGenericType.Latent</span></td><td><code>372c896f35267a96</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType</span></td><td><code>cf9990642c03405f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForGenerifiedErasure</span></td><td><code>7ed56b64be3ef06d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType</span></td><td><code>554831d385360a6d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.ForLoadedType.ParameterArgumentTypeList</span></td><td><code>4d7b4f0a54d64909</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfParameterizedType.Latent</span></td><td><code>65bad8524d24da78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable</span></td><td><code>86e4078bd5cd6a82</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType</span></td><td><code>ed5cd3cbbe779d8c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.ForLoadedType.TypeVariableBoundList</span></td><td><code>eb6620f5799fe8f5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.Symbolic</span></td><td><code>58cf78bca4d2bd51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfTypeVariable.WithAnnotationOverlay</span></td><td><code>ec478e7fa8287853</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType</span></td><td><code>9f36a440f0a04724</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType</span></td><td><code>2224f84636e0f952</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardLowerBoundTypeList</span></td><td><code>615a97949ca84b45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.ForLoadedType.WildcardUpperBoundTypeList</span></td><td><code>87a5af4372397dda</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.OfWildcardType.Latent</span></td><td><code>0f49202883abd15b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForRawType</span></td><td><code>2ab665659e488ee3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.ForSignatureVisitor</span></td><td><code>c0eebf71c2c20203</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying</span></td><td><code>1f23e61efd8c040e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.1</span></td><td><code>9992e854290cac45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Reifying.2</span></td><td><code>3880aef22a6c4930</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor</span></td><td><code>5bc3866175f926f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForAttachment</span></td><td><code>8cf9a45e6526538b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Substitutor.ForDetachment</span></td><td><code>c1c177d019118d9b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator</span></td><td><code>140b09b73b4b60c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.1</span></td><td><code>d799308b1611cd13</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.2</span></td><td><code>499de672436311ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.3</span></td><td><code>7923429fa88ea5cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.Generic.Visitor.Validator.ForTypeAnnotations</span></td><td><code>6025d4a2423e87ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeDescription.LazyProxy</span></td><td><code>edc5abaabf7281a4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList</span></td><td><code>ffa2fe3b5b233353</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.AbstractBase</span></td><td><code>03ace8fa7043bfce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Empty</span></td><td><code>d5bf5d4843d3b40b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Explicit</span></td><td><code>23780d287a231e41</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.ForLoadedTypes</span></td><td><code>826dc7ad585dcbcb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.AbstractBase</span></td><td><code>82e09b4ce109a939</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Empty</span></td><td><code>09b9aca5ee8c1475</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.Explicit</span></td><td><code>d184b9433829caba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes</span></td><td><code>7df55a5ca5fec13f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables</span></td><td><code>3a26e31857238724</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.OfTypeVariables.AttachedTypeVariable</span></td><td><code>75cc8314964e08b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForDetachedTypes.WithResolvedErasure</span></td><td><code>5dc3a74323127305</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes</span></td><td><code>6d36b199d5e88b53</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.ForLoadedTypes.OfTypeVariables</span></td><td><code>0ed9eb434cab9b70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfConstructorExceptionTypes</span></td><td><code>1eb0243fd9192b8a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes</span></td><td><code>1d9424dd0d7bc1c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfLoadedInterfaceTypes.TypeProjection</span></td><td><code>808c89479cd00a5d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes</span></td><td><code>f6b71c9483cf7675</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeList.Generic.OfMethodExceptionTypes.TypeProjection</span></td><td><code>30acd7d949c355bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.description.type.TypeVariableToken</span></td><td><code>ba16c063046983a1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader</span></td><td><code>27d77cb6b78fc547</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.ForClassLoader.BootLoaderProxyCreationAction</span></td><td><code>cd2788dbef627a42</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Resolution.Explicit</span></td><td><code>3b5906ac6a8ae97c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.ClassFileLocator.Simple</span></td><td><code>aa55299a7027b445</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.AbstractBase</span></td><td><code>690dc473a1fcc899</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase</span></td><td><code>aa1759a3194d7f14</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter</span></td><td><code>1052045033e158fb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter</span></td><td><code>7a8cf3bcd2d805c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter.AnnotationAdapter</span></td><td><code>1505339515cd1c19</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.Delegator</span></td><td><code>936b4705c2af1791</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.AbstractBase.UsingTypeWriter</span></td><td><code>fd88ea62d3bec9e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase</span></td><td><code>e1b17723ee466981</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.AbstractBase.Adapter</span></td><td><code>fa398faff0645c86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ImplementationDefinition.AbstractBase</span></td><td><code>72bbf9be43329300</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Builder.MethodDefinition.ReceiverTypeDefinition.AbstractBase</span></td><td><code>6abfb4279099921b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default</span></td><td><code>f56db2a964930d9f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Loaded</span></td><td><code>b3ca6c151890771d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.DynamicType.Default.Unloaded</span></td><td><code>60aab9827a2fe060</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TargetType</span></td><td><code>92d2ae273e27a92e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.Transformer.NoOp</span></td><td><code>8fa58b41007a0c6e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.TypeResolutionStrategy.Passive</span></td><td><code>560bec77a3a9e1cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default</span></td><td><code>92dd499e424995ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.1</span></td><td><code>88969522be51c47a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.2</span></td><td><code>e90257accee75dbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.VisibilityBridgeStrategy.Default.3</span></td><td><code>dba1eec57628b9b8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader</span></td><td><code>bc61ad56649f6a21</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.ClassDefinitionAction</span></td><td><code>7ddd05378a81b5ac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.CreationAction</span></td><td><code>579d717b5fb1777c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PackageLookupStrategy.ForJava9CapableVm</span></td><td><code>3116856af2d9e391</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler</span></td><td><code>e4d3975d11965972</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.1</span></td><td><code>c5b4f188a059f348</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.PersistenceHandler.2</span></td><td><code>d4d9d89c20c33c79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.CreationAction</span></td><td><code>85defb9db5b2b5cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm</span></td><td><code>fae027d8e16a32fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassFilePostProcessor.NoOp</span></td><td><code>6146ad1c41c815ee</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.ClassLoadingStrategy</span></td><td><code>eee19f05d61ced57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.InjectionClassLoader</span></td><td><code>41bc10f352e48896</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.InjectionClassLoader.Strategy</span></td><td><code>6ed217ae5fb57d05</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Definition.Trivial</span></td><td><code>968c1d05fe34e6ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.loading.PackageDefinitionStrategy.Trivial</span></td><td><code>1b8be35a135f3f27</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default</span></td><td><code>d252721578bc0fb5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.FieldRegistry.Default.Compiled</span></td><td><code>7dac3c03ab5df0af</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Default</span></td><td><code>f8044cbd9b3fe7e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default</span></td><td><code>c7f976e803f8d3a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.1</span></td><td><code>01e6e0df84609179</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.InstrumentedType.Factory.Default.2</span></td><td><code>41b308deac98792e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler</span></td><td><code>6b8d18710c99d74d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.AbstractBase</span></td><td><code>86739f96369d83b2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default</span></td><td><code>2800dfa5c3b8aca7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod</span></td><td><code>8ef28acf242eae2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Harmonizer.ForJavaMethod.Token</span></td><td><code>7bd97f7cecaf5018</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key</span></td><td><code>88f2458db8c741e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Detached</span></td><td><code>89750a8204bacfc3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Harmonized</span></td><td><code>a31e139e57804f56</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store</span></td><td><code>7716ed339d21e000</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Initial</span></td><td><code>a1eb87bc66f88929</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Entry.Resolved</span></td><td><code>9c0eb28c1120302a</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>7bbcb1eaea5064d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Key.Store.Graph</span></td><td><code>bf364158f6188e45</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.Default.Merger.Directional</span></td><td><code>afc0868aacc8dbb5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler.ForDeclaredMethods</span></td><td><code>6c4c0c83346af9e0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Empty</span></td><td><code>0f8190524ba952c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Linked.Delegation</span></td><td><code>47e48556a9cda077</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Simple</span></td><td><code>cf6e675432bc60ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Node.Sort</span></td><td><code>c997ba920aa81bb5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.NodeList</span></td><td><code>ddb63425295dab8e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodGraph.Simple</span></td><td><code>b231d730a2138443</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default</span></td><td><code>e823178c1c962613</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled</span></td><td><code>86804b8f21a02f7e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Compiled.Entry</span></td><td><code>b9727d766a3abd06</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Entry</span></td><td><code>0216bf1a4989ddd9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared</span></td><td><code>2fc66a86a52ec6f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Default.Prepared.Entry</span></td><td><code>6c98eecdcd8c8c68</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation</span></td><td><code>8db040195f76894f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.MethodRegistry.Handler.ForImplementation.Compiled</span></td><td><code>3ade648194f6daec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default</span></td><td><code>891a9cb069e1ffb3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.RecordComponentRegistry.Default.Compiled</span></td><td><code>faf0312e50511a4b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.Drain.Default</span></td><td><code>391ec96470191ff5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeInitializer.None</span></td><td><code>0aa5903ad3f1d635</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeValidation</span></td><td><code>50527b71bc87dd74</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default</span></td><td><code>f27ba1edbba53a3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ClassDumpAction.Dispatcher.Disabled</span></td><td><code>2cbe19f435bea571</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForCreation</span></td><td><code>03b740be560ec44d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining</span></td><td><code>ea80afd67a6759b1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.ContextRegistry</span></td><td><code>30f87ac3b6e91d07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing</span></td><td><code>cc2d500ff979fe0d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending</span></td><td><code>78681a98b1676574</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.FrameWriter.NoOp</span></td><td><code>4e676b84c2db9221</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithoutDrain</span></td><td><code>1c35fc86761df78a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Appending.WithoutDrain.WithoutActiveRecord</span></td><td><code>a9601fe4f1c04d81</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.InitializationHandler.Creating</span></td><td><code>1863bc3b7943bb2b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ForInlining.WithFullProcessing.RedefinitionClassVisitor</span></td><td><code>88eb70c1f7cb268c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.SignatureKey</span></td><td><code>30f02c677c168ffb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.UnresolvedType</span></td><td><code>9b9d5a9877b725fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor</span></td><td><code>fef9b21649f006c2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.Compound</span></td><td><code>7658cf279fcd7eba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClass</span></td><td><code>d6e8080c2ac49ca3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.Constraint.ForClassFileVersion</span></td><td><code>98d826d97325d335</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.Default.ValidatingClassVisitor.ValidatingMethodVisitor</span></td><td><code>0f3d60cd71ee55ec</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.FieldPool.Record.ForImplicitField</span></td><td><code>bd4c79016e6c7e59</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.AccessBridgeWrapper</span></td><td><code>51ec572f133baaf7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod</span></td><td><code>f6b5f34a9b4e8f93</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody</span></td><td><code>e26a3dcae9eda3d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.ForNonImplementedMethod</span></td><td><code>0ebfdc52a422a2d4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.TypeWriter.MethodPool.Record.Sort</span></td><td><code>9c1fc9a17d6e668e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.AbstractInliningDynamicTypeBuilder</span></td><td><code>cf872dafa4e005ce</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.InliningImplementationMatcher</span></td><td><code>cd56190fcf8cbef5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.MethodRebaseResolver.Disabled</span></td><td><code>7fc8122bae557f2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder</span></td><td><code>d35704c254c6bf65</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default</span></td><td><code>30f93c3d785de262</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.1</span></td><td><code>c55a41a20be13da8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.2</span></td><td><code>1b59827354f09dbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.3</span></td><td><code>03f49005d185f31e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.4</span></td><td><code>8abb20a81cdfe753</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.ConstructorStrategy.Default.5</span></td><td><code>03da9e9a4baa343b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder</span></td><td><code>ce4febf2d4e7172b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassDynamicTypeBuilder.InstrumentableMatcher</span></td><td><code>dd98202dcb516302</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget</span></td><td><code>5c39954e80bc68aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.Factory</span></td><td><code>9507db5376136dc4</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver</span></td><td><code>e3591b410f1beb48</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.1</span></td><td><code>307c2f6381acad86</code></td></tr><tr><td><span class="el_class">net.bytebuddy.dynamic.scaffold.subclass.SubclassImplementationTarget.OriginTypeResolver.2</span></td><td><code>d07ed98e74e119c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default</span></td><td><code>a4f77d0e8c30d8ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Default.Factory</span></td><td><code>7907cd1700b68712</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled</span></td><td><code>d226525d9b1661c1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.Disabled.Factory</span></td><td><code>fc5147fce792870c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.ExtractableView.AbstractBase</span></td><td><code>fc1194c64d81a8f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration</span></td><td><code>732fca6ba6d7f948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.1</span></td><td><code>e1cb50e88c828853</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.2</span></td><td><code>eced4d043d2746ae</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Context.FrameGeneration.3</span></td><td><code>896ff9ab8ad2a703</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.AbstractBase</span></td><td><code>c1e6064a9dc7eabe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.SpecialMethodInvocation.Simple</span></td><td><code>3b1d460fdb691665</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase</span></td><td><code>2bb25225337712f2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation</span></td><td><code>95cadf8bb1c40a5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.1</span></td><td><code>1522748b6ede90f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.Implementation.Target.AbstractBase.DefaultMethodInvocation.2</span></td><td><code>1a1e99939835b649</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.LoadedTypeInitializer.NoOp</span></td><td><code>079c0db350266bf1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall</span></td><td><code>803a80b61cf5154e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.Appender</span></td><td><code>2c97aa6a2fcc90d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter</span></td><td><code>d998babb2fab7f80</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.ArgumentLoader.ForMethodParameter.Factory</span></td><td><code>c6d5aecc90f60b77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation</span></td><td><code>c62220dd02fbbe5e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForContextualInvocation.Factory</span></td><td><code>8e991c8f6c61a26b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodInvoker.ForVirtualInvocation.WithImplicitType</span></td><td><code>4b9ee3e1372d7a3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.MethodLocator.ForExplicitMethod</span></td><td><code>3f52678e927adb2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall</span></td><td><code>168bccd0171653ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Factory</span></td><td><code>007987dfc0108802</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodCall.Resolved</span></td><td><code>98d454c731a52565</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter</span></td><td><code>e14f2f3fbceefcc9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForMethodParameter.Resolved</span></td><td><code>2905935a56e53005</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation</span></td><td><code>9ae78c658f9fa129</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Factory</span></td><td><code>f95bda15a3f3fc2d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TargetHandler.ForSelfOrStaticInvocation.Resolved</span></td><td><code>f56743558df08d26</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple</span></td><td><code>94548bcde51ac7c5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.1</span></td><td><code>51a0379b030a2561</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.2</span></td><td><code>0f85a678e3b7ce29</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.TerminationHandler.Simple.3</span></td><td><code>75c93aba20f438fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodCall.WithoutSpecifiedTarget</span></td><td><code>de94872b451b3f74</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation</span></td><td><code>a4a99e4dcf919d89</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.ImplementationDelegate.ForStaticMethod</span></td><td><code>dd54ea94cb4466d5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.MethodDelegation.WithCustomProperties</span></td><td><code>5f090acf995bc833</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall</span></td><td><code>611355edd9b41de2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender</span></td><td><code>bc8a17175afd42bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler</span></td><td><code>32d5e0e8182a3358</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.1</span></td><td><code>0262af83a3a8b2c1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.SuperMethodCall.Appender.TerminationHandler.2</span></td><td><code>ee7147093f933eea</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Default</span></td><td><code>5e5b5a601807bb0c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.ForTypeAnnotations</span></td><td><code>9c69d7ba808e83bf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationAppender.Target.OnType</span></td><td><code>6ab7dc033ee53862</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationRetention</span></td><td><code>da4f57f00f2339fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default</span></td><td><code>c3f974ecaffb54e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.1</span></td><td><code>16794e96c48a9eb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.AnnotationValueFilter.Default.2</span></td><td><code>e61de6f9507d0593</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.MethodAttributeAppender.NoOp</span></td><td><code>b52b89cf16c54ff9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType</span></td><td><code>174b3e561dfe2a50</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.attribute.TypeAttributeAppender.ForInstrumentedType.Differentiating</span></td><td><code>87928a430c8985ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.auxiliary.AuxiliaryType.NamingStrategy.SuffixingRandom</span></td><td><code>a173a333a763c063</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ArgumentTypeResolver</span></td><td><code>11f8505cde4d19ff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.DeclaringTypeResolver</span></td><td><code>dc04124901f1b333</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver</span></td><td><code>36f5bfa2a412ee72</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.AmbiguityResolver.Compound</span></td><td><code>4cf7d1fa48e6cd60</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.BindingResolver.Default</span></td><td><code>c33dc6b307529852</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default</span></td><td><code>c7d75b957a2f27ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.1</span></td><td><code>4ec0d44d8c3eceb0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodDelegationBinder.TerminationHandler.Default.2</span></td><td><code>1ad724fd05690ddc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.MethodNameEqualityResolver</span></td><td><code>0c639151a5005f3c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.ParameterLengthResolver</span></td><td><code>f4653916b8323a8e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Assignment</span></td><td><code>5ff910d53a6f2d0f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.AllArguments.Binder</span></td><td><code>758af7bb09f652cd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.Binder</span></td><td><code>dc92b4735795f877</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic</span></td><td><code>99796f5e37a26565</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.1</span></td><td><code>367024ef2f1388a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Argument.BindingMechanic.2</span></td><td><code>38ba3faff880e1c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.BindingPriority.Resolver</span></td><td><code>04a1eb2c2d2ecfac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Default.Binder</span></td><td><code>3d4b610c3e192abc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCall.Binder</span></td><td><code>d05b63f0a6321461</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultCallHandle.Binder</span></td><td><code>13bdeb27076fd371</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethod.Binder</span></td><td><code>e4e08f789ce159e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DefaultMethodHandle.Binder</span></td><td><code>190a13afd14a1a6d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.DynamicConstant.Binder</span></td><td><code>547b45ae9714e463</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Empty.Binder</span></td><td><code>d3025af78526455a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder</span></td><td><code>17342fbbde9d2477</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldGetterHandle.Binder.Delegate</span></td><td><code>92ca8f7c9f3a40e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder</span></td><td><code>e2bdded87bfab797</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldSetterHandle.Binder.Delegate</span></td><td><code>2e2db5fe8cbd8444</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder</span></td><td><code>4f15d3f13eccee26</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.FieldValue.Binder.Delegate</span></td><td><code>b9cd319375aeba70</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Handle.Binder</span></td><td><code>390591101c305db1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.IgnoreForBinding.Verifier</span></td><td><code>b6bbe4a67f2ce769</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Origin.Binder</span></td><td><code>63d345bc80320364</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.RuntimeType.Verifier</span></td><td><code>0eda7ebdfbc4de97</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.StubValue.Binder</span></td><td><code>0fcc840e92bf2eff</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.Super.Binder</span></td><td><code>f816bc17a41fc240</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCall.Binder</span></td><td><code>e75122d32ab041df</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperCallHandle.Binder</span></td><td><code>be3a9057258fb61c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethod.Binder</span></td><td><code>acdd28af315c12f1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.SuperMethodHandle.Binder</span></td><td><code>7db979dc52744f1f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder</span></td><td><code>007d937d2ad8614a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor</span></td><td><code>98ee5d9e2d9a299b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Bound</span></td><td><code>22d197c23907be1d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.DelegationProcessor.Handler.Unbound</span></td><td><code>9d58199e821ad9fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder</span></td><td><code>ef86cc915aa18bbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFieldBinding</span></td><td><code>f96ce20b4cd9ae5d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue</span></td><td><code>339866efba024bf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.ParameterBinder.ForFixedValue.OfConstant</span></td><td><code>2a9385611e3f5888</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.TargetMethodAnnotationDrivenBinder.Record</span></td><td><code>6ed32a75bea12174</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bind.annotation.This.Binder</span></td><td><code>eaf168e8e2de8dac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.ByteCodeAppender.Size</span></td><td><code>6c073455b0742efa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal</span></td><td><code>20e0c2619ab9e596</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.1</span></td><td><code>ec81593288755b57</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.Removal.2</span></td><td><code>7bafc790d8ad6b0a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.AbstractBase</span></td><td><code>31ada1cf9b3e1f09</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Compound</span></td><td><code>4d0ee6a3594d3abd</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Illegal</span></td><td><code>d208c868604ff6a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Size</span></td><td><code>9e6fc170da126fed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackManipulation.Trivial</span></td><td><code>704241e2b0e40c6e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize</span></td><td><code>4336788f1a965d2e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.StackSize.1</span></td><td><code>96b2506c3d21bf91</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner</span></td><td><code>a12889e04d303449</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.Assigner.Typing</span></td><td><code>5388b1bfde68c6c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.TypeCasting</span></td><td><code>94120c4c8cfd03f8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate</span></td><td><code>2247e86fa6ac6dbc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveBoxingDelegate.BoxingStackManipulation</span></td><td><code>b1150ae5e800b606</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveTypeAwareAssigner</span></td><td><code>cda788b56e855a02</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate</span></td><td><code>b288a1833178dbcf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveUnboxingDelegate.ImplicitlyTypedUnboxingResponsible</span></td><td><code>fe27de58ed78c6b7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate</span></td><td><code>15d4895de92b4326</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.PrimitiveWideningDelegate.WideningStackManipulation</span></td><td><code>b95f03864d242799</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.primitive.VoidAwareAssigner</span></td><td><code>eb758c0eaff4f960</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.GenericTypeAwareAssigner</span></td><td><code>b45b3ebe7424172e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.assign.reference.ReferenceTypeAwareAssigner</span></td><td><code>7928b92c7844ad95</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory</span></td><td><code>2a2250e0a308dabf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator</span></td><td><code>55f358a6fd1fba94</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayCreator.ForReferenceType</span></td><td><code>46c017724b6b47f9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.collection.ArrayFactory.ArrayStackManipulation</span></td><td><code>c7ca7f485aee94d7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant</span></td><td><code>84d3d231c511a9e2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.ClassConstant.ForReferenceType</span></td><td><code>9e6b7175c0b99ca6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DefaultValue</span></td><td><code>e6636f8b6803b575</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.DoubleConstant</span></td><td><code>4605c2533c4f5ada</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.FloatConstant</span></td><td><code>a56d418e26b00881</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.IntegerConstant</span></td><td><code>cc44c84f8b41799b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.LongConstant</span></td><td><code>472b65a54ff6a910</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant</span></td><td><code>2af3bf9709ff88bc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.MethodConstant.ForMethod</span></td><td><code>6487c36db906419f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.NullConstant</span></td><td><code>ce7ac6225f44f48a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.constant.TextConstant</span></td><td><code>6c2a6544c010c696</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation</span></td><td><code>f6ad313aeb1817d3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodInvocation.Invocation</span></td><td><code>fa4fc5234c9a7c93</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodReturn</span></td><td><code>031a5f07b7745997</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess</span></td><td><code>2442be9ad3856ab6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading</span></td><td><code>4c94266b0a306562</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.MethodLoading.TypeCastingHandler.NoOp</span></td><td><code>fce3bb47777272e1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetLoading</span></td><td><code>c68c431573d3f1a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.implementation.bytecode.member.MethodVariableAccess.OffsetWriting</span></td><td><code>428ad03e94bc1d66</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationVisitor</span></td><td><code>823759e238bb495b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.AnnotationWriter</span></td><td><code>59e14608f0f0fc16</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Attribute</span></td><td><code>e6480519ef45eaba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ByteVector</span></td><td><code>29f90958ccc2d657</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassReader</span></td><td><code>7c1a216e338347c8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassVisitor</span></td><td><code>1753f680b0943b55</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ClassWriter</span></td><td><code>9aacb0d7c169551b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.ConstantDynamic</span></td><td><code>ea32b72ebf5c88ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Context</span></td><td><code>a881f26b77892c9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldVisitor</span></td><td><code>2fefa241e92a2948</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.FieldWriter</span></td><td><code>7b8af1d3e89c08fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handle</span></td><td><code>f00028b1416f621c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Handler</span></td><td><code>357ee9a4f87e5091</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Label</span></td><td><code>c329ef00234aa4ba</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodVisitor</span></td><td><code>91abf2ef44da98a7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.MethodWriter</span></td><td><code>f98aa1935839115a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Opcodes</span></td><td><code>85defa2a27116c7f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Symbol</span></td><td><code>09ab9f266ba03e77</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable</span></td><td><code>a234d10951b906bb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.SymbolTable.Entry</span></td><td><code>f06a931baef45238</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.Type</span></td><td><code>76fc57d12696f74f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.TypeReference</span></td><td><code>0bfc56de38a7304f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureVisitor</span></td><td><code>2a359c79b449cd9d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.jar.asm.signature.SignatureWriter</span></td><td><code>628941f852b053ca</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.AnnotationTypeMatcher</span></td><td><code>6f4a3b90208f0ec3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.BooleanMatcher</span></td><td><code>9209f695fbdc9526</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionErasureMatcher</span></td><td><code>e3ac7764b945369a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionItemMatcher</span></td><td><code>1424fe72e0998e47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionOneToOneMatcher</span></td><td><code>121fe499dd94549c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.CollectionSizeMatcher</span></td><td><code>f8080735551b5869</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringAnnotationMatcher</span></td><td><code>de87dd7e2883e9aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DeclaringTypeMatcher</span></td><td><code>94491a21a3a6198c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.DescriptorMatcher</span></td><td><code>8ccbf89ae42c9c79</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.AbstractBase</span></td><td><code>6e29ac5d43cf6bf5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Conjunction</span></td><td><code>0c2d173352f518aa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.Disjunction</span></td><td><code>f2b0bfd4258f9323</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatcher.Junction.ForNonNullValues</span></td><td><code>b442c91a882c9145</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ElementMatchers</span></td><td><code>229439fc61b9d724</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.EqualityMatcher</span></td><td><code>65263674c3290275</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ErasureMatcher</span></td><td><code>5b951c67564a7bbf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FailSafeMatcher</span></td><td><code>16bb480ee9bc8e47</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.AbstractBase</span></td><td><code>cb407e29a62800ed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.FilterableList.Empty</span></td><td><code>008aecb1de0a03fe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.LatentMatcher.Resolved</span></td><td><code>1d0baa61e9c597f8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypeMatcher</span></td><td><code>ecc479943c35ad37</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParameterTypesMatcher</span></td><td><code>35a1fbf9e120aea8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodParametersMatcher</span></td><td><code>8ab3379e24c8d19e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodReturnTypeMatcher</span></td><td><code>7befd3ad928ab6cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher</span></td><td><code>600d8d63f4cc2251</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort</span></td><td><code>87af87837374271b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.1</span></td><td><code>04a56e4f4f82d5c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.2</span></td><td><code>a13399cf408b62c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.3</span></td><td><code>6a11f7e01098dfb5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.4</span></td><td><code>1e8c22b2e17c5f88</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.MethodSortMatcher.Sort.5</span></td><td><code>aae69164dd78b1e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher</span></td><td><code>1f940a6dd9fa9613</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.ModifierMatcher.Mode</span></td><td><code>b59c67438c4008d8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NameMatcher</span></td><td><code>c95f2d97c50d769e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.NegatingMatcher</span></td><td><code>e10261097b62acbb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.SignatureTokenMatcher</span></td><td><code>2b22b0f9e11d2a2b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher</span></td><td><code>398d01f869388e91</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode</span></td><td><code>6f8b4d3695faa058</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.1</span></td><td><code>015bef3b6828cdac</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.2</span></td><td><code>8eeeb4556b9485c0</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.3</span></td><td><code>f1c175ea33668dcb</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.4</span></td><td><code>84a59a498fb10fed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.5</span></td><td><code>4ca9c62936b66a24</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.6</span></td><td><code>f993707f30c5fce2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.7</span></td><td><code>e0ba3c2aa14bde78</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.8</span></td><td><code>4ff86085d0aa4ddf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.StringMatcher.Mode.9</span></td><td><code>1dcf4a6fe509c5b5</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.TypeSortMatcher</span></td><td><code>7fa32c06737e7231</code></td></tr><tr><td><span class="el_class">net.bytebuddy.matcher.VisibilityMatcher</span></td><td><code>e1f91ccfaffe7652</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase</span></td><td><code>ebf3f44b769f4faf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.AbstractBase.Hierarchical</span></td><td><code>8051a701eb4b0eed</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.NoOp</span></td><td><code>5fe0b4fee828d480</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.CacheProvider.Simple</span></td><td><code>5840a865f0dcfb51</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.ClassLoading</span></td><td><code>4ff35dae9556b998</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default</span></td><td><code>7aafc1f71b81e173</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Default.ReaderMode</span></td><td><code>a033f5a27d0fa2d6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Empty</span></td><td><code>256686863a3e855f</code></td></tr><tr><td><span class="el_class">net.bytebuddy.pool.TypePool.Explicit</span></td><td><code>58709ce964584fa6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader</span></td><td><code>8a59b649de2583f3</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default</span></td><td><code>fa0b1b24f69493ab</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.1</span></td><td><code>03c829950d692f4b</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.2</span></td><td><code>ff7ba2ccbe1277cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.3</span></td><td><code>d8e2a9d1378063fa</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.4</span></td><td><code>b200bb40f16587c9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.Factory.Default.5</span></td><td><code>f9eab20e73a925e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassReader.ForAsm</span></td><td><code>c3d16f9e1e03618e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default</span></td><td><code>df7a47693cf75e36</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.1</span></td><td><code>d17bf1b9989584cf</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.2</span></td><td><code>3ebcd096754fad75</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.3</span></td><td><code>6d6ee87b0257e85e</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.4</span></td><td><code>582d01970af50976</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.5</span></td><td><code>af553c430b6af86a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.Factory.Default.EmptyAsmClassReader</span></td><td><code>481bb30e4232c02d</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.ForAsm</span></td><td><code>94e2175d9a1aaf7a</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.AsmClassWriter.FrameComputingClassWriter</span></td><td><code>943f69745cdb7621</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.CompoundList</span></td><td><code>41fe1faec9b96005</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstantValue.Simple</span></td><td><code>5f7232051686a271</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.ConstructorComparator</span></td><td><code>3566d64bbe3006a2</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.FieldComparator</span></td><td><code>5dff49d0b60b3a07</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.GraalImageCode</span></td><td><code>20c183e97cdf38cc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.Invoker.Dispatcher</span></td><td><code>b9b5f67cf01bb049</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple</span></td><td><code>d18c769228ec6798</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue</span></td><td><code>870135d683945e69</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaConstant.Simple.OfTrivialValue.ForString</span></td><td><code>11ffe7957b103e25</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.JavaModule</span></td><td><code>fb89d312129d6105</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.MethodComparator</span></td><td><code>2a643ad1fb57d7e8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.OpenedClassReader</span></td><td><code>3495a559539ff5e7</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.RandomString</span></td><td><code>a0583349bb66a97c</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.StreamDrainer</span></td><td><code>e95aa53cbcb417c6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher</span></td><td><code>619d3930cae44455</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForContainerCreation</span></td><td><code>9f5631d45e9601e9</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForInstanceCheck</span></td><td><code>ec7e2f5ae4036bb1</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForNonStaticMethod</span></td><td><code>3ff776c0c7a05881</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.Dispatcher.ForStaticMethod</span></td><td><code>faa6cd7f5e4cbd85</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader</span></td><td><code>e55e160d8d2ebd92</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.CreationAction</span></td><td><code>862b139a62f264a8</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.DynamicClassLoader.Resolver.ForModuleSystem</span></td><td><code>1a2ee856ca3b45b6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.InvokerCreationAction</span></td><td><code>f5b3814ad34536fc</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.dispatcher.JavaDispatcher.ProxiedInvocationHandler</span></td><td><code>f1e193453808acbe</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.privilege.GetSystemPropertyAction</span></td><td><code>67f0615a1253ad61</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.ExceptionTableSensitiveMethodVisitor</span></td><td><code>a6c239974eefe586</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.LineNumberPrependingMethodVisitor</span></td><td><code>56aead9b55055305</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.MetadataAwareClassVisitor</span></td><td><code>0c557b09efdf9fd6</code></td></tr><tr><td><span class="el_class">net.bytebuddy.utility.visitor.StackAwareMethodVisitor</span></td><td><code>3dd1c2239bb0bf19</code></td></tr><tr><td><span class="el_class">org.apache.catalina.LifecycleState</span></td><td><code>684cd706c1cd3b5d</code></td></tr><tr><td><span class="el_class">org.apache.catalina.authenticator.AuthenticatorBase</span></td><td><code>8eed73c7e0d2b17e</code></td></tr><tr><td><span class="el_class">org.apache.catalina.authenticator.AuthenticatorBase.AllowCorsPreflight</span></td><td><code>89a9c295cb347f85</code></td></tr><tr><td><span class="el_class">org.apache.catalina.authenticator.NonLoginAuthenticator</span></td><td><code>9041682fdc6755b5</code></td></tr><tr><td><span class="el_class">org.apache.catalina.util.LifecycleBase</span></td><td><code>3875906dbae8ac90</code></td></tr><tr><td><span class="el_class">org.apache.catalina.util.LifecycleMBeanBase</span></td><td><code>62059aec24e05f4c</code></td></tr><tr><td><span class="el_class">org.apache.catalina.util.SessionIdGeneratorBase</span></td><td><code>f8dc298915cca8d4</code></td></tr><tr><td><span class="el_class">org.apache.catalina.valves.ValveBase</span></td><td><code>b51f98b318e0bf59</code></td></tr><tr><td><span class="el_class">org.apache.commons.lang.StringUtils</span></td><td><code>9dd94cc65aafa7e1</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter</span></td><td><code>fa34389c084f9a47</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.Slf4jAdapter</span></td><td><code>b9033e148d420979</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.Slf4jLocationAwareLog</span></td><td><code>e585d6c714383ca8</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogAdapter.Slf4jLog</span></td><td><code>8fa756849857e785</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.LogFactory</span></td><td><code>25bbd8b6cba579b0</code></td></tr><tr><td><span class="el_class">org.apache.commons.logging.impl.NoOpLog</span></td><td><code>c1962190c5ab9130</code></td></tr><tr><td><span class="el_class">org.apache.juli.logging.DirectJDKLog</span></td><td><code>75c3110e38ba7d73</code></td></tr><tr><td><span class="el_class">org.apache.juli.logging.LogFactory</span></td><td><code>76f3a89c85b1189c</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.ConcurrentDateFormat</span></td><td><code>9027ad282debd267</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.CookieProcessorBase</span></td><td><code>45d2d153673dcb57</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.CookiesWithoutEquals</span></td><td><code>e40aa2f0a7a7d713</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.FastHttpDateFormat</span></td><td><code>3c0f61131f3ddeb1</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.Rfc6265CookieProcessor</span></td><td><code>110468f65344c299</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.http.SameSiteCookies</span></td><td><code>fbb68e84fd7375c1</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.res.StringManager</span></td><td><code>dde6f15bc8aa4e46</code></td></tr><tr><td><span class="el_class">org.apache.tomcat.util.res.StringManager.1</span></td><td><code>36eb8f362f5145ca</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractAssert</span></td><td><code>1f915b8ff36e34a3</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractBooleanAssert</span></td><td><code>19deee9ffc4e5f95</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractCharSequenceAssert</span></td><td><code>e29fcfdf84a1695e</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractCollectionAssert</span></td><td><code>44190e20e5862ea9</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractComparableAssert</span></td><td><code>7a8bf39c22582814</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractDoubleAssert</span></td><td><code>63986707aee25761</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractIntegerAssert</span></td><td><code>64d4afdefedeac0a</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractIterableAssert</span></td><td><code>92d6f6fdcf41f901</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractListAssert</span></td><td><code>2f65914e38c487b9</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractObjectArrayAssert</span></td><td><code>4b9251124ef736f8</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractObjectAssert</span></td><td><code>b794c406be4857e7</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractStringAssert</span></td><td><code>4f04cf4244494c49</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AbstractThrowableAssert</span></td><td><code>242a81c583c002b8</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.Assertions</span></td><td><code>af15ad82eb1cd4a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AssertionsForClassTypes</span></td><td><code>015a95017c11cbb1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.AssertionsForInterfaceTypes</span></td><td><code>eeda247f588ff144</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.BooleanAssert</span></td><td><code>7c2437c2727b8309</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.DoubleAssert</span></td><td><code>c1df46003a6fcaed</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.FactoryBasedNavigableListAssert</span></td><td><code>cf01d4c9ffaa6368</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.IntegerAssert</span></td><td><code>8f698b21fd75dcf6</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ListAssert</span></td><td><code>2dcbe8e200ebfcb4</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ObjectArrayAssert</span></td><td><code>f33426d7b6b962ad</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ObjectAssert</span></td><td><code>1bbc9fbe987a71e1</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.StringAssert</span></td><td><code>276d8048089fdd6d</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.ThrowableAssert</span></td><td><code>e91a3d7369c912d8</code></td></tr><tr><td><span class="el_class">org.assertj.core.api.WritableAssertionInfo</span></td><td><code>cfe8767c89787032</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Configuration</span></td><td><code>6ea356a40ee80ccf</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.ConfigurationProvider</span></td><td><code>3346c4801f784bb9</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException</span></td><td><code>2789214dba489051</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.PreferredAssumptionException.1</span></td><td><code>1eab9d24cce924d2</code></td></tr><tr><td><span class="el_class">org.assertj.core.configuration.Services</span></td><td><code>3dc1dd22400d3099</code></td></tr><tr><td><span class="el_class">org.assertj.core.data.Offset</span></td><td><code>4f01e15ebfe8b504</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.AssertionErrorCreator</span></td><td><code>543f029a329b7766</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.ConstructorInvoker</span></td><td><code>dbd17ff2cbb8bc28</code></td></tr><tr><td><span class="el_class">org.assertj.core.error.GroupTypeDescription</span></td><td><code>e2d30a487eec2c68</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.AbstractComparisonStrategy</span></td><td><code>9fcb1f09c849da9e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Arrays</span></td><td><code>3fbd1fe7048fa682</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.CommonValidations</span></td><td><code>d9d0b8eb4a72e411</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Comparables</span></td><td><code>492c5254e1e386a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Conditions</span></td><td><code>9baff3cf7a28d7f0</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Doubles</span></td><td><code>7fb6aa4f0e1549be</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Failures</span></td><td><code>8ba67cf50de48759</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Integers</span></td><td><code>51f142568138237e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.IterableDiff</span></td><td><code>8ed1dc06fb27d8b5</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Iterables</span></td><td><code>f18aa7cfc4213dca</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Lists</span></td><td><code>55dcce999a57dc7e</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Numbers</span></td><td><code>b1c5a72fc2773178</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.ObjectArrays</span></td><td><code>ccf0fc2229700d53</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Objects</span></td><td><code>4df2f0c084d1fac2</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Predicates</span></td><td><code>049321053006733f</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.RealNumbers</span></td><td><code>166c881849c92316</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.StandardComparisonStrategy</span></td><td><code>cb180b5c43beb144</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Strings</span></td><td><code>942f113198e5fc93</code></td></tr><tr><td><span class="el_class">org.assertj.core.internal.Throwables</span></td><td><code>253cf2d20b46167d</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.CompositeRepresentation</span></td><td><code>3230199b443ac68a</code></td></tr><tr><td><span class="el_class">org.assertj.core.presentation.StandardRepresentation</span></td><td><code>4da7e4cb2b3f286f</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Arrays</span></td><td><code>20c1f3363764d24e</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.IterableUtil</span></td><td><code>f9e2689dc9f9dc4d</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Lists</span></td><td><code>5895215344293d99</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Preconditions</span></td><td><code>718301d7b0d951f1</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.Streams</span></td><td><code>d730dd591d3325a8</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.FieldSupport</span></td><td><code>1f44f51b62bb0ce5</code></td></tr><tr><td><span class="el_class">org.assertj.core.util.introspection.PropertySupport</span></td><td><code>381c5ad4b48534d7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.AbstractTestDescriptor</span></td><td><code>b7d6764e5c2ed1e2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassDescriptor</span></td><td><code>29a580f844a707e9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestClassRunInfo</span></td><td><code>68a7e79b2914fd4d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestDescriptor</span></td><td><code>62e300564099c798</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestOutputEvent</span></td><td><code>3d7991cb0119492d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.DefaultTestSuiteDescriptor</span></td><td><code>7ca2225e2fb0b4b2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor</span></td><td><code>af72bb8826a6828d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestCompleteEvent</span></td><td><code>0bc5b41bc5fd92f5</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.TestStartEvent</span></td><td><code>7c275a9943dba162</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.DefaultThrowableToTestFailureMapper</span></td><td><code>98b3c6d95620e628</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.TestFailureMapper</span></td><td><code>fad0361b08728e0d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertErrorMapper</span></td><td><code>f8f52c2b08659a75</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.AssertjMultipleAssertionsErrorMapper</span></td><td><code>6d9c88eceee97e47</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.JUnitComparisonTestFailureMapper</span></td><td><code>1870ccedd70c62d3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestAssertionFailedMapper</span></td><td><code>670c8d72a39d27d6</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestMultipleFailuresErrorMapper</span></td><td><code>fd9e46b889182617</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.filter.TestFilterSpec</span></td><td><code>a7526e6ebab295a4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor</span></td><td><code>e052047f692cb949</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformSpec</span></td><td><code>f5579f12caeb524a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor</span></td><td><code>4c75223a5693afa4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.BackwardsCompatibleLauncherSession</span></td><td><code>7c93d17cac3a9550</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.CollectAllTestClassesExecutor</span></td><td><code>4b0f383cf965c86c</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessorFactory</span></td><td><code>af09c0eae5fa5ced</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestExecutionListener</span></td><td><code>b0f418134c40bf3d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.processors.CaptureTestOutputTestResultProcessor</span></td><td><code>6ad5ce3fa22109c1</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.DefaultStandardOutputRedirector</span></td><td><code>66011962fbed0a65</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.DefaultStandardOutputRedirector.DiscardAction</span></td><td><code>c8ea3545fa32c9b3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.DefaultStandardOutputRedirector.WriteAction</span></td><td><code>77c2ee9a9fa842b1</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.JULRedirector</span></td><td><code>14551eb76b8ecae2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.TestOutputRedirector</span></td><td><code>3bd5f34889305e8d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.redirector.TestOutputRedirector.Forwarder</span></td><td><code>d61609d95c6d50d3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.results.AttachParentTestResultProcessor</span></td><td><code>6d02567fd2a7d62d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer</span></td><td><code>5f32a7ab6120753f</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultNestedTestSuiteDescriptorSerializer</span></td><td><code>a46705f180b3563a</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultParameterizedTestDescriptorSerializer</span></td><td><code>e127b3bb672baf7f</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassDescriptorSerializer</span></td><td><code>e10b56bac3d27de5</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestClassRunInfoSerializer</span></td><td><code>b395c3a3085809af</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestDescriptorSerializer</span></td><td><code>23901d25c1e75a58</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestFailureSerializer</span></td><td><code>20561e1a5f6db7a7</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestMethodDescriptorSerializer</span></td><td><code>3d1b5d8baa0a900e</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestOutputEventSerializer</span></td><td><code>f44f90cc4c1aac70</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.DefaultTestSuiteDescriptorSerializer</span></td><td><code>4860e580b0f8c694</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.IdSerializer</span></td><td><code>c0b64d9e606e6d13</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.NullableSerializer</span></td><td><code>062a5d6c320f0d23</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestCompleteEventSerializer</span></td><td><code>d1bf01c1eff18541</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.TestStartEventSerializer</span></td><td><code>680e50b2e35795b4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestEventSerializer.WorkerTestSuiteDescriptorSerializer</span></td><td><code>925d25f3960ae5eb</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker</span></td><td><code>b93df52c3074c532</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.1</span></td><td><code>b8314e777e355f7d</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.2</span></td><td><code>cc4e0ec7222faee6</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.3</span></td><td><code>030c348be1c106a4</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.State</span></td><td><code>903c35047a140ff9</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.TestWorker.TestFrameworkServiceRegistry</span></td><td><code>12a7a3db90dec4e3</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor</span></td><td><code>0f6525b02f2bb3d2</code></td></tr><tr><td><span class="el_class">org.gradle.api.internal.tasks.testing.worker.WorkerTestClassProcessor.WorkerTestSuiteDescriptor</span></td><td><code>b3807e9b92351840</code></td></tr><tr><td><span class="el_class">org.gradle.api.logging.LogLevel</span></td><td><code>236e938e30516638</code></td></tr><tr><td><span class="el_class">org.gradle.api.tasks.testing.TestOutputEvent.Destination</span></td><td><code>5f28eafb6895d752</code></td></tr><tr><td><span class="el_class">org.gradle.internal.Cast</span></td><td><code>6130c81e08d81640</code></td></tr><tr><td><span class="el_class">org.gradle.internal.MutableBoolean</span></td><td><code>349de2b8a37d4338</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory</span></td><td><code>43acc9e5b3a492ea</code></td></tr><tr><td><span class="el_class">org.gradle.internal.actor.internal.DefaultActorFactory.BlockingActor</span></td><td><code>e2e64c7c8141667f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractDelegatingExecutorService</span></td><td><code>49d3dededcea40d0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor</span></td><td><code>3e801af2d608b388</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.AbstractManagedExecutor.1</span></td><td><code>e617b5280c0b131e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable</span></td><td><code>4a36b916ba0a65be</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.1</span></td><td><code>7991c35593ad107a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.CompositeStoppable.3</span></td><td><code>e70f2f4c49f9854e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory</span></td><td><code>63847aa635eddd82</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.DefaultExecutorFactory.TrackedManagedExecutor</span></td><td><code>36f4bc1cd93c039c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ExecutorPolicy.CatchAndRecordFailures</span></td><td><code>2aacf6d3d0dd2240</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ManagedExecutorImpl</span></td><td><code>ce6f255f6fc1de83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.concurrent.ThreadFactoryImpl</span></td><td><code>1d388becbfb01ad8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderDispatch</span></td><td><code>132d0c3fd93e8141</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ContextClassLoaderProxy</span></td><td><code>d72ee515504b89e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.MethodInvocation</span></td><td><code>bbd5401404e52b1f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter</span></td><td><code>67194db65692ab5d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ProxyDispatchAdapter.DispatchingInvocationHandler</span></td><td><code>82935bb9f2db6b85</code></td></tr><tr><td><span class="el_class">org.gradle.internal.dispatch.ReflectionDispatch</span></td><td><code>6976fdf67f3e8979</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.AbstractBroadcastDispatch</span></td><td><code>0f5ffe97fa60f855</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch</span></td><td><code>971f57b98f410335</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.CompositeDispatch</span></td><td><code>5d8a079ebb58640f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.EmptyDispatch</span></td><td><code>136c24cb564bd0f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.BroadcastDispatch.SingletonDispatch</span></td><td><code>66b75507cc7e3700</code></td></tr><tr><td><span class="el_class">org.gradle.internal.event.ListenerBroadcast</span></td><td><code>f665e273f2a756e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator</span></td><td><code>f1c607aa5fccdbaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.CompositeIdGenerator.CompositeId</span></td><td><code>e710c854f802c58b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.LongIdGenerator</span></td><td><code>6f8168bf486a560d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.id.UUIDGenerator</span></td><td><code>047a43ab94df6ffa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.BufferCaster</span></td><td><code>88a8af829d9f2dca</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LineBufferingOutputStream</span></td><td><code>6219fe05ee4c9468</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.LinePerThreadBufferingOutputStream</span></td><td><code>6663ead4c1825a46</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.NullOutputStream</span></td><td><code>eefcfe0665bbfe4c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer</span></td><td><code>e2c8064318ed213e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferChunk</span></td><td><code>601a3b84d114befa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferInputStream</span></td><td><code>1ba4f1560d8a3753</code></td></tr><tr><td><span class="el_class">org.gradle.internal.io.StreamByteBuffer.StreamByteBufferOutputStream</span></td><td><code>9243acabfced691c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter</span></td><td><code>2bb5150ee66232e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.config.LoggingSystemAdapter.SnapshotImpl</span></td><td><code>221de860d84422df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.console.DefaultUserInputReceiver</span></td><td><code>44c8536611e071b4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.EndOutputEvent</span></td><td><code>0d8edd2a5ce274ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.LogLevelChangeEvent</span></td><td><code>33b762c6d5852de7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.events.OutputEvent</span></td><td><code>85bce87f1bcda18d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogEventSerializer</span></td><td><code>b6d88af223db296a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.LogLevelChangeEventSerializer</span></td><td><code>f77a59533dde75ec</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.SpanSerializer</span></td><td><code>5f773b7d1ad07c9f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.serializer.StyledTextOutputEventSerializer</span></td><td><code>faebed27ac3e65ba</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager</span></td><td><code>61e216a064052ff1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingRouter</span></td><td><code>78396be937af48de</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManager.StartableLoggingSystem</span></td><td><code>b121a97021902643</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.DefaultLoggingManagerFactory</span></td><td><code>04bcce4325025a96</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry</span></td><td><code>90edc2132a7bd2d5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.1</span></td><td><code>b114ac6ebd4de8f3</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.LoggingServiceRegistry.CommandLineLogging</span></td><td><code>ab0f0dfe4e42595e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.services.TextStreamOutputEventListener</span></td><td><code>ef4d0c3267356598</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager</span></td><td><code>d6dee3d6fea49020</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventListenerManager.1</span></td><td><code>1e218a705ff0ee7e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer</span></td><td><code>ad1cc4fc552ab292</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.1</span></td><td><code>b94418b2e260aede</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.2</span></td><td><code>a956801cd98ca633</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.LazyListener</span></td><td><code>7ee882569b166e1e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventRenderer.SnapshotImpl</span></td><td><code>827634628a47c5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.sink.OutputEventTransformer</span></td><td><code>06c2270eef0e291e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.BuildOperationAwareLogger</span></td><td><code>6a70f9123229323f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger</span></td><td><code>30ddd0a8ff91b5f5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext</span></td><td><code>9d35d4b7a722eb08</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext.NoOpLogger</span></td><td><code>3868cc8d50014a37</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.slf4j.Slf4jLoggingConfigurer</span></td><td><code>75fba29c3739b15f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdErrLoggingSystem</span></td><td><code>fd3dd0caab2f1d95</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.DefaultStdOutLoggingSystem</span></td><td><code>528bb39bfb67c3ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem</span></td><td><code>5e967b17aabfd442</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.JavaUtilLoggingSystem.SnapshotImpl</span></td><td><code>15dfc30250723749</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem</span></td><td><code>1ae6e6b715c6b3f9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.1</span></td><td><code>65643cb979acba64</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.OutputEventDestination</span></td><td><code>8c1ddf1476568828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.PrintStreamDestination</span></td><td><code>9e7273f370028123</code></td></tr><tr><td><span class="el_class">org.gradle.internal.logging.source.PrintStreamLoggingSystem.SnapshotImpl</span></td><td><code>8f80a46f9780a57e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices</span></td><td><code>4556096f1c5a9c8e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.DefaultJansiRuntimeResolver</span></td><td><code>913dbea9c5665791</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiBootPathConfigurer</span></td><td><code>3a766bce65ac1a48</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiLibraryFactory</span></td><td><code>0cbaac430d6656c4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.jansi.JansiStorageLocator</span></td><td><code>c8bff1ccb071f9b6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices</span></td><td><code>60e06107da63f5bf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.1</span></td><td><code>8cc4a38f8f9f2c24</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures</span></td><td><code>6c2167dd01d3a7df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.1</span></td><td><code>3b01a06496dac527</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.1.2</span></td><td><code>3ac5c626690263b8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeFeatures.2</span></td><td><code>3e453e557ec15489</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode</span></td><td><code>239d6c658f109a99</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.1</span></td><td><code>709d06b6d4cada75</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.2</span></td><td><code>7701fd550a9f507e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.nativeintegration.services.NativeServices.NativeServicesMode.3</span></td><td><code>e9495efc537003de</code></td></tr><tr><td><span class="el_class">org.gradle.internal.reflect.JavaMethod</span></td><td><code>5541c31d24227b86</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.KryoBackedMessageSerializer</span></td><td><code>0028157720ec1f27</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionSet</span></td><td><code>323708d9214e34e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.ConnectionState</span></td><td><code>250fb1b274991d9a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer</span></td><td><code>b5f4b38125033ffd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.ArraySerializer</span></td><td><code>16505d5ccbb1b78b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.DefaultMethodArgsSerializer.EmptyArraySerializer</span></td><td><code>cdc53c79a631aa33</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.IncomingQueue</span></td><td><code>0e8ecdb8f31efe51</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer</span></td><td><code>7d84d4aa85858c73</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageReader</span></td><td><code>ab1cd6753eb75a29</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.InterHubMessageSerializer.MessageWriter</span></td><td><code>3e4611f758508afb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.JavaSerializationBackedMethodArgsSerializer</span></td><td><code>4c7a738ee4525ff6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub</span></td><td><code>1326887a1f1da0ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ChannelDispatch</span></td><td><code>8a9dfd1b6306d8e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionDispatch</span></td><td><code>df1d0a86180d66e4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.ConnectionReceive</span></td><td><code>e1dc78071e8e957d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Discard</span></td><td><code>63a8d677cc1f9101</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.Handler</span></td><td><code>3d232f51f2c02828</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHub.State</span></td><td><code>1b76747d7bce6b89</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedClient</span></td><td><code>77c2124c3c43d832</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection</span></td><td><code>c23964928f1aff22</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.1</span></td><td><code>ac806a6bc6b1b21d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.2</span></td><td><code>8ac38215966e3a20</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection.DispatchWrapper</span></td><td><code>9aa5d8679dbc6601</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer</span></td><td><code>47063ab293644e83</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodDetails</span></td><td><code>b6b7fb55e88cc4b9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationReader</span></td><td><code>e6b939136f207ff5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.MethodInvocationSerializer.MethodInvocationWriter</span></td><td><code>c3b77db1b2556afe</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.OutgoingQueue</span></td><td><code>fbcc05506ad40c68</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelIdentifier</span></td><td><code>7697ff6a7c712869</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.ChannelMessage</span></td><td><code>9bff479666e58802</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.EndOfStream</span></td><td><code>f29ffed85365f7db</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage</span></td><td><code>0c6e49b6ec077e16</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.protocol.InterHubMessage.Delivery</span></td><td><code>0652d09c2a7fd1ac</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.EndPointQueue</span></td><td><code>8038a5636529123d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiChannelQueue</span></td><td><code>bcaac9c224068764</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue</span></td><td><code>27222a892157733f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.MultiEndPointQueue.1</span></td><td><code>44049b3edc682954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.hub.queue.QueueInitializer</span></td><td><code>ad18361c23e679b1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddress</span></td><td><code>91381aa03cdd48e7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.MultiChoiceAddressSerializer</span></td><td><code>7ffc395650705aaa</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketBlockingUtil</span></td><td><code>c4937b9849ff6540</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnectCompletion</span></td><td><code>0da46ac4ccd1c9ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection</span></td><td><code>4a6255ae3fb5a6e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.1</span></td><td><code>6bd72dd3a4f955f4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketInputStream</span></td><td><code>41ab28127ec07333</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketConnection.SocketOutputStream</span></td><td><code>56a19b1a3dd17be0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress</span></td><td><code>20cc3fd7992230e8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.SocketInetAddress.Serializer</span></td><td><code>d42dd7f644e6367c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.internal.inet.TcpOutgoingConnector</span></td><td><code>da9b573729b690fd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.remote.services.MessagingServices</span></td><td><code>371e97275eb35dc5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractCollectionSerializer</span></td><td><code>7897b7a9a0c39b1b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractDecoder</span></td><td><code>6f331f65d3691839</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractEncoder</span></td><td><code>44ea8279ea7b3a07</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.AbstractSerializer</span></td><td><code>d5cd8744f99ef12d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory</span></td><td><code>83d030ef5f6c0526</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigDecimalSerializer</span></td><td><code>4dcd516a5e9202d8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BigIntegerSerializer</span></td><td><code>50f6ab963a855e2a</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.BooleanSerializer</span></td><td><code>9a343eeb20f2b7f4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteArraySerializer</span></td><td><code>9566e41ef84566ae</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ByteSerializer</span></td><td><code>85286889be7534cf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.CharSerializer</span></td><td><code>6fba21fa805857ff</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.DoubleSerializer</span></td><td><code>085b687ded9be124</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.EnumSerializer</span></td><td><code>a314f7118f1d0412</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FileSerializer</span></td><td><code>c43bc85ad47073ee</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.FloatSerializer</span></td><td><code>dad7a35798e49d9d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.IntegerSerializer</span></td><td><code>e8a55740afa66954</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.LongSerializer</span></td><td><code>3a08a2ef15abca0d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.PathSerializer</span></td><td><code>22894f3c1859ada1</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ShortSerializer</span></td><td><code>5791e5a0a4ad1ece</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringMapSerializer</span></td><td><code>eb348217154fd0ed</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.StringSerializer</span></td><td><code>01576ecfb2720760</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.BaseSerializerFactory.ThrowableSerializer</span></td><td><code>ae463fe767977ceb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.ClassLoaderObjectInputStream</span></td><td><code>81d9f3a2338180d3</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializer</span></td><td><code>9b7593104d5f803c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry</span></td><td><code>84449bcf590c1af7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.1</span></td><td><code>aeba2bb0cd2eab52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.HierarchySerializerMatcher</span></td><td><code>c4fa93579434fd2b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.InstanceBasedSerializerFactory</span></td><td><code>4d56c9c7fbddbcc0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.SerializerClassMatcherStrategy</span></td><td><code>ea36ea8beff22743</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.StrictSerializerMatcher</span></td><td><code>6df6080c06573b93</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TaggedTypeSerializer</span></td><td><code>264fbb605d976b35</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.DefaultSerializerRegistry.TypeInfo</span></td><td><code>bd6904d4ac5974ce</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.HashCodeSerializer</span></td><td><code>874be2a480b96af8</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.InputStreamBackedDecoder</span></td><td><code>1a43def6f05c6405</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.ListSerializer</span></td><td><code>bad970c0192233e9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedDecoder</span></td><td><code>f9287092db21f40c</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.KryoBackedEncoder</span></td><td><code>e6a2be1dd138a272</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer</span></td><td><code>1dbc9e4c69fd1973</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.1</span></td><td><code>bb88df969641a032</code></td></tr><tr><td><span class="el_class">org.gradle.internal.serialize.kryo.TypeSafeSerializer.2</span></td><td><code>599bac595545b9c0</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.AbstractServiceMethod</span></td><td><code>d8f9bf72435aa0d5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceAccessToken</span></td><td><code>552643647739457e</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceMethodFactory</span></td><td><code>7cd5dc9e6187cc39</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry</span></td><td><code>5b91c2e6d1541db9</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.1</span></td><td><code>a5957bd6a7e35017</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector</span></td><td><code>a67f4de9fecf4e9f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ClassInspector.ClassDetails</span></td><td><code>e14a78fdabafa6a6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.CompositeServiceProvider</span></td><td><code>ad51f0e7303e801d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ConstructorService</span></td><td><code>c53583a3bbee2329</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryMethodService</span></td><td><code>c94f704959a77ddb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FactoryService</span></td><td><code>5efa06cdad2305e5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.FixedInstanceService</span></td><td><code>adf12b7e82dfb3fd</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ManagedObjectServiceProvider</span></td><td><code>00ae876b89fa7714</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.OwnServices</span></td><td><code>d7eed1a352f0d8e6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ParentServices</span></td><td><code>8369f7999f6e2ac7</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService</span></td><td><code>d319469c908bc1cf</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService.1</span></td><td><code>cdfec069e7d8ab42</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.SingletonService.BindState</span></td><td><code>b653da4aa2ccd9df</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.State</span></td><td><code>76b519b0b74b53cb</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.DefaultServiceRegistry.ThisAsService</span></td><td><code>2eef9987bf419fb4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.InjectUtil</span></td><td><code>4e32c5f95305147b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethod</span></td><td><code>674037aa99129b52</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.MethodHandleBasedServiceMethodFactory</span></td><td><code>47e87df4713e4ce5</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ReflectionBasedServiceMethod</span></td><td><code>56fdba7d8393253f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethods</span></td><td><code>ebb3efee7040ae62</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.RelevantMethods.RelevantMethodsBuilder</span></td><td><code>653e2ed3e283822f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ServiceAccess</span></td><td><code>eae993853cb06bb6</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ServiceAccess.1</span></td><td><code>c3b7931689739967</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.ServiceRegistryBuilder</span></td><td><code>73d1a49b155b6056</code></td></tr><tr><td><span class="el_class">org.gradle.internal.service.TypeStringFormatter</span></td><td><code>8ef195776e72517f</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.MonotonicClock</span></td><td><code>723fd7c85fffe54b</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.Time</span></td><td><code>118854647ab7eed4</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource</span></td><td><code>79d456cc39bbde3d</code></td></tr><tr><td><span class="el_class">org.gradle.internal.time.TimeSource.1</span></td><td><code>4be788ff9e4278cd</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.WorkerLoggingSerializer</span></td><td><code>adae78bad8b0e727</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker</span></td><td><code>a7d30aba9c762788</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.ActionExecutionWorker.1</span></td><td><code>d0eba6bfe3f78d57</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.DefaultWorkerDirectoryProvider</span></td><td><code>10469cccf2e081cb</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker</span></td><td><code>4397743716cfa5f5</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.2</span></td><td><code>701810a4c2fdd0f8</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.ContextImpl</span></td><td><code>c1b75620f1c49583</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.PrintUnrecoverableErrorToFileHandler</span></td><td><code>4c53666c8024a79b</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices</span></td><td><code>b7825f369a8ee808</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.WorkerServices.1</span></td><td><code>69e3f98f4d4b96c1</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.child.WorkerLogEventListener</span></td><td><code>4a0b5fb708591833</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfig</span></td><td><code>8633f06980fb19fd</code></td></tr><tr><td><span class="el_class">org.gradle.process.internal.worker.messaging.WorkerConfigSerializer</span></td><td><code>b913cc847f396960</code></td></tr><tr><td><span class="el_class">org.gradle.util.internal.ArrayUtils</span></td><td><code>05a97ebb2e812055</code></td></tr><tr><td><span class="el_class">org.gradle.util.internal.CollectionUtils</span></td><td><code>609c55009e4302e6</code></td></tr><tr><td><span class="el_class">org.jcp.xml.dsig.internal.dom.XMLDSigRI</span></td><td><code>b5cb112a99fd1b1f</code></td></tr><tr><td><span class="el_class">org.jcp.xml.dsig.internal.dom.XMLDSigRI.1</span></td><td><code>ed80b81835c50e7c</code></td></tr><tr><td><span class="el_class">org.jcp.xml.dsig.internal.dom.XMLDSigRI.2</span></td><td><code>68e7868fb48efa3c</code></td></tr><tr><td><span class="el_class">org.jcp.xml.dsig.internal.dom.XMLDSigRI.ProviderService</span></td><td><code>90fb351bc62eddf9</code></td></tr><tr><td><span class="el_class">org.json.JSON</span></td><td><code>baec6cdb200e359d</code></td></tr><tr><td><span class="el_class">org.json.JSONArray</span></td><td><code>6b86c0cea058a8d1</code></td></tr><tr><td><span class="el_class">org.json.JSONObject</span></td><td><code>ab674655a5f57b72</code></td></tr><tr><td><span class="el_class">org.json.JSONObject.1</span></td><td><code>8c249464b0673518</code></td></tr><tr><td><span class="el_class">org.json.JSONTokener</span></td><td><code>fc4574aa57cb5d24</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator</span></td><td><code>deff63bf156ceca3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.IndicativeSentences</span></td><td><code>40c095583a68215c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.ReplaceUnderscores</span></td><td><code>69adc4629a7c62c3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Simple</span></td><td><code>c8a76f91a513713b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.DisplayNameGenerator.Standard</span></td><td><code>41b4fc888bb193ba</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.TestInstance.Lifecycle</span></td><td><code>824d5aabc76a4e92</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ConditionEvaluationResult</span></td><td><code>35e14124a607c6e0</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext</span></td><td><code>8d831ad352f87ab7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Namespace</span></td><td><code>bcc2e4ab44e17b2e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.ExtensionContext.Store</span></td><td><code>6bb0e34fca45a28d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.InvocationInterceptor</span></td><td><code>3acc2a8cd00cdc3b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.TestInstancePreDestroyCallback</span></td><td><code>3ae4d9d89c44523e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.TestInstantiationAwareExtension</span></td><td><code>d5a49f6800b8d353</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.extension.TestInstantiationAwareExtension.ExtensionContextScope</span></td><td><code>6e3a9cc6a428ea00</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.api.parallel.ResourceLockTarget</span></td><td><code>20f49ef3bdb2af44</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.JupiterTestEngine</span></td><td><code>f0b6a297e815dcfb</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.CachingJupiterConfiguration</span></td><td><code>b892bbc7dfc8ad86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.DefaultJupiterConfiguration</span></td><td><code>06f480467a0562e4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.EnumConfigurationParameterConverter</span></td><td><code>bab380425dca8d4f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.config.InstantiatingConfigurationParameterConverter</span></td><td><code>e65d7d31aaa3a2de</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.AbstractExtensionContext</span></td><td><code>ef85f300c06fc319</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor</span></td><td><code>f83bd05b303f2e97</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassExtensionContext</span></td><td><code>8c76ea912ebc8e3b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ClassTestDescriptor</span></td><td><code>566f81a45336211d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DefaultTestInstanceFactoryContext</span></td><td><code>92e45b48982d1267</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.DisplayNameUtils</span></td><td><code>72bd3ed011f2156b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector</span></td><td><code>9e59e5f50dd288fc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector.1</span></td><td><code>987961e6b0aa28c1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ExtensionUtils</span></td><td><code>823d2474014ac1e2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor</span></td><td><code>2f8cfb410b246824</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext</span></td><td><code>b8942474281d0efd</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.JupiterTestDescriptor</span></td><td><code>7006cfbadc140c75</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.LifecycleMethodUtils</span></td><td><code>e411d0414c71c788</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor</span></td><td><code>0aa450dbfc9e2a57</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.MethodExtensionContext</span></td><td><code>b89d84d0cd90dd86</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.NestedClassTestDescriptor</span></td><td><code>7acc4c6af474562f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ResourceLockAware</span></td><td><code>8ec240daf282d17f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.ResourceLockAware.1</span></td><td><code>52432ad72831c98f</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils</span></td><td><code>1e4cbf6b087e475e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor</span></td><td><code>84b5dc40c7649bd6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractAnnotatedDescriptorWrapper</span></td><td><code>ff5645302f9397c2</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor</span></td><td><code>be018f18c3b28f6c</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.AbstractOrderingVisitor.DescriptorWrapperOrderer</span></td><td><code>1330ea497ba56a79</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassOrderingVisitor</span></td><td><code>1e051655f770a822</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.ClassSelectorResolver</span></td><td><code>09e4501fbdba0837</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DefaultClassDescriptor</span></td><td><code>f1ea1aa229787830</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.DiscoverySelectorResolver</span></td><td><code>0493a46e2481b698</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodFinder</span></td><td><code>ed69fa74b47a0b77</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodOrderingVisitor</span></td><td><code>5fc95cf8eb5d4529</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver</span></td><td><code>340dbe384622c6a6</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType</span></td><td><code>6f4ca0c4ee096aab</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.1</span></td><td><code>583e0bbb7d4367bc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.2</span></td><td><code>c2b7a99bcf2bc39b</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.MethodSelectorResolver.MethodType.3</span></td><td><code>e887a14400af8049</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsInnerClass</span></td><td><code>4e4d14c8d2c71bda</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsNestedTestClass</span></td><td><code>f8f20f6cfb6615ff</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsPotentialTestContainer</span></td><td><code>ed6f26e951f98f30</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestClassWithTests</span></td><td><code>05d285431612dbf7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestFactoryMethod</span></td><td><code>671448bb3682a8b7</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestMethod</span></td><td><code>53d31c5fa4778cc3</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestTemplateMethod</span></td><td><code>db07bccfb8a7df73</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.discovery.predicates.IsTestableMethod</span></td><td><code>297677a52a3d5983</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConditionEvaluator</span></td><td><code>3bb7965905521dbe</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ConstructorInvocation</span></td><td><code>f53a3f70cf473b9d</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultExecutableInvoker</span></td><td><code>8974ffb77e1cf465</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.DefaultTestInstances</span></td><td><code>d098f31a49ce3334</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionContextSupplier</span></td><td><code>3e63e7e978332379</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ExtensionContextSupplier.ScopeBasedExtensionContextSupplier</span></td><td><code>8f8458fe6e1abea9</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker</span></td><td><code>d20695fec27156f1</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.ReflectiveInterceptorCall</span></td><td><code>9d516bbd802c59d5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain</span></td><td><code>22131ce04612244a</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.InterceptedInvocation</span></td><td><code>b7b2338a38c29871</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.InvocationInterceptorChain.ValidatingInvocation</span></td><td><code>10e75cb36574e272</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext</span></td><td><code>50163587b45842fe</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.Builder</span></td><td><code>b39a5e63227384a5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.State</span></td><td><code>0766343b70481496</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.MethodInvocation</span></td><td><code>90f4103d0acb0655</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.NamespaceAwareStore</span></td><td><code>bcf4aaea269ea610</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.ParameterResolutionUtils</span></td><td><code>47931ad50a92c9b4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.execution.TestInstancesProvider</span></td><td><code>5bd806d370f38d3e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.AutoCloseExtension</span></td><td><code>f2e48f709721e627</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.DisabledCondition</span></td><td><code>a4de69c8615d9071</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.ExtensionRegistry</span></td><td><code>9b67ba9d9cc3e810</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry</span></td><td><code>73caddc109ebb0cf</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.MutableExtensionRegistry.Entry</span></td><td><code>8a118dd61bf98337</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.RepeatedTestExtension</span></td><td><code>3216eaa4206145b5</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory</span></td><td><code>17b864db572f7b24</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TempDirectory.Scope</span></td><td><code>d22797efade7e227</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestInfoParameterResolver</span></td><td><code>5c50f901a1217fcc</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TestReporterParameterResolver</span></td><td><code>9cfdbec163661e42</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutConfiguration</span></td><td><code>1e8a45682947503e</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutDurationParser</span></td><td><code>363c8531b5e8d2d4</code></td></tr><tr><td><span class="el_class">org.junit.jupiter.engine.extension.TimeoutExtension</span></td><td><code>e511fb2fd0b67996</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>55f923e7b2426def</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try</span></td><td><code>d1970dd64ce22fa4</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.function.Try.Failure</span></td><td><code>2135634bf7e7ad88</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory</span></td><td><code>7b57f78fc724ac54</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.logging.LoggerFactory.DelegatingLogger</span></td><td><code>835c9a026ac4df32</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.AnnotationSupport</span></td><td><code>0487de73fe69c68d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.HierarchyTraversalMode</span></td><td><code>fe8e523d71700b43</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ModifierSupport</span></td><td><code>6755835f8047f29d</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.ReflectionSupport</span></td><td><code>4fcaedcfa00cbbfa</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.support.scanning.DefaultClasspathScanner</span></td><td><code>263a79805403e736</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.AnnotationUtils</span></td><td><code>1da637c10cbda39c</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassLoaderUtils</span></td><td><code>41a8b61339cf4862</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils</span></td><td><code>9f3aa6a5ff6782ce</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassNamePatternFilterUtils.FilterType</span></td><td><code>340abe3222474e07</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClassUtils</span></td><td><code>76e509e75c23c314</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ClasspathScannerLoader</span></td><td><code>6a6aa4e17561f7ed</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.CollectionUtils</span></td><td><code>0e5dbcaba3d286ca</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.LruCache</span></td><td><code>fd8ff40dff05b112</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.Preconditions</span></td><td><code>99362b29a037afdc</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils</span></td><td><code>221c335b0241c959</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ReflectionUtils.HierarchyTraversalMode</span></td><td><code>2eeca2d06f485dae</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.ServiceLoaderUtils</span></td><td><code>07e41425050fdc3a</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.StringUtils</span></td><td><code>372dfca6fa74c1ea</code></td></tr><tr><td><span class="el_class">org.junit.platform.commons.util.UnrecoverableExceptions</span></td><td><code>2ffa834710d16849</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter</span></td><td><code>cecade1862d00032</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.CompositeFilter.1</span></td><td><code>ed62b01b8b763511</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineDiscoveryListener</span></td><td><code>22e0c8566a0701f5</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>67b4cd158b6839a0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.EngineExecutionListener.1</span></td><td><code>699b00b68f81de17</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.ExecutionRequest</span></td><td><code>5f34c4a309c1e549</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.Filter</span></td><td><code>c8d2fba4bb555492</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.FilterResult</span></td><td><code>1b4753bc794e8388</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult</span></td><td><code>02b8934961bdea6f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.SelectorResolutionResult.Status</span></td><td><code>22866b13273482bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor</span></td><td><code>b2a7a63b39095a90</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestDescriptor.Type</span></td><td><code>fac0e85d63dae1f0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult</span></td><td><code>29479a0ae9db2840</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.TestExecutionResult.Status</span></td><td><code>9e54a6b249ea167a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId</span></td><td><code>a5ee26b408b26ea1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueId.Segment</span></td><td><code>03b0ccd7b69c9fc2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.UniqueIdFormat</span></td><td><code>455c5b5eb27d1f81</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.ClassSelector</span></td><td><code>7280b4f8064089e2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.DiscoverySelectors</span></td><td><code>286b8c9d74183b04</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.MethodSelector</span></td><td><code>f65ce617a872a5b6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.NestedClassSelector</span></td><td><code>ba59b7074d62d68a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.discovery.NestedMethodSelector</span></td><td><code>af18e9093e0553ef</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.AbstractTestDescriptor</span></td><td><code>8c338040053d6362</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.ClassSource</span></td><td><code>61745428914d4dd7</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.EngineDescriptor</span></td><td><code>4ba3237c7e6b18d6</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.descriptor.MethodSource</span></td><td><code>327c8d16d3e44289</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.ClassContainerSelectorResolver</span></td><td><code>fde8e703faa64574</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution</span></td><td><code>4937cdb1a041a120</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolution.DefaultContext</span></td><td><code>151f6fae99911199</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver</span></td><td><code>a54c0a6dfcbc80f8</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.Builder</span></td><td><code>a5abc6ab8c16132f</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver.DefaultInitializationContext</span></td><td><code>01f5b6aa6fa11d41</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver</span></td><td><code>458b4a4e46b6b868</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match</span></td><td><code>3c16d4dff276f57a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Match.Type</span></td><td><code>bd8402e1232e1a40</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.discovery.SelectorResolver.Resolution</span></td><td><code>ba500d6ba9a79953</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource</span></td><td><code>fa0dc5b65de1b0a0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ExclusiveResource.LockMode</span></td><td><code>705f9e9f579aeab0</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine</span></td><td><code>599b10c51fe35ea3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor</span></td><td><code>a78f13d5e60b7d08</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.LockManager</span></td><td><code>99cdeecddb4ca68b</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node</span></td><td><code>3f2ca9c1749a3d5a</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.Node.SkipResult</span></td><td><code>42796aad70055913</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeExecutionAdvisor</span></td><td><code>c8bf7d7bb2e19471</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask</span></td><td><code>c4c004e32fc81aac</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTask.DefaultDynamicTestExecutor</span></td><td><code>9048d6cd4a8e05d3</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTestTaskContext</span></td><td><code>f68790b28827581e</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeTreeWalker</span></td><td><code>c9f34e2fe83d5caa</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.NodeUtils</span></td><td><code>732ad1771b71d292</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.NopLock</span></td><td><code>2234b58e6ffa6ea1</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService</span></td><td><code>512f5438a4d56505</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.SingleLock</span></td><td><code>f0bfd18cc662d7fc</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.hierarchical.ThrowableCollector</span></td><td><code>a891c129fd2a01df</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore</span></td><td><code>fb95e61bdaf5378c</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.CompositeKey</span></td><td><code>a34d604b86522ded</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.EvaluatedValue</span></td><td><code>158ca2dfb82179f2</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.MemoizingSupplier</span></td><td><code>cf599a824eea18cf</code></td></tr><tr><td><span class="el_class">org.junit.platform.engine.support.store.NamespacedHierarchicalStore.StoredValue</span></td><td><code>3db67e78dde11925</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult</span></td><td><code>c9df2add13bcb88f</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.EngineDiscoveryResult.Status</span></td><td><code>f767a377012b98ff</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.LauncherDiscoveryListener</span></td><td><code>088911f06a0807a1</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>694596eba9b0c85e</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>7c8cd75fcab57c6a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestIdentifier</span></td><td><code>21b1404b0fbbf225</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.TestPlan</span></td><td><code>8add30c852972973</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ClasspathAlignmentCheckingLauncherInterceptor</span></td><td><code>5eccb7389634e9dc</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeEngineExecutionListener</span></td><td><code>64f16cfa6748d2a9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.CompositeTestExecutionListener</span></td><td><code>e481edf014ff4112</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultDiscoveryRequest</span></td><td><code>e7933e8bd0943eff</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncher</span></td><td><code>95dfc056bdb1d2d2</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherConfig</span></td><td><code>b4cd1fb6724efdef</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession</span></td><td><code>e040225d1f67e564</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.1</span></td><td><code>bcc6e4bee671ccad</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DefaultLauncherSession.ClosedLauncher</span></td><td><code>aa7b08954aea78f5</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingEngineExecutionListener</span></td><td><code>ad86e3da21824262</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.DelegatingLauncher</span></td><td><code>cdc9b7e4e1a576e0</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator</span></td><td><code>7b411d218e1aad24</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.Phase</span></td><td><code>5bfd6d820f649520</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineDiscoveryResultValidator</span></td><td><code>552f6c5833b8f8bd</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineExecutionOrchestrator</span></td><td><code>558a0cd454007c46</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineFilterer</span></td><td><code>53cf37d963f8b58c</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.EngineIdValidator</span></td><td><code>b0288378227ce052</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ExecutionListenerAdapter</span></td><td><code>3de868c9da3c23ca</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.HierarchicalOutputDirectoryProvider</span></td><td><code>a974ceaa9bb70d95</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InterceptingLauncher</span></td><td><code>dd2c0918383aaa66</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.InternalTestPlan</span></td><td><code>53374a5aa1f47176</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder</span></td><td><code>452edacea5001e83</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.1</span></td><td><code>0736e6add61b3334</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.IterationOrder.2</span></td><td><code>0d0d72b6e503c372</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig</span></td><td><code>58100dc14c875cb9</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfig.Builder</span></td><td><code>64729ce9bd729578</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters</span></td><td><code>4b25c1714dc335ec</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.Builder</span></td><td><code>ba76828012d853d8</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider</span></td><td><code>52b5b9d7814ff3b1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.2</span></td><td><code>886f3c723ddb9556</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherConfigurationParameters.ParameterProvider.3</span></td><td><code>0d89b6f56eb4db06</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder</span></td><td><code>09db623827784802</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherDiscoveryResult</span></td><td><code>bed96f869f90e5d0</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherFactory</span></td><td><code>f78f1f3c28a4ad27</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.LauncherListenerRegistry</span></td><td><code>64d5f2a8ac991f94</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ListenerRegistry</span></td><td><code>7fe9373f303770d1</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener</span></td><td><code>3840931f19c9d795</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.OutcomeDelayingEngineExecutionListener.Outcome</span></td><td><code>730ad6d2d5641536</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderRegistry</span></td><td><code>fb0dc6251644394e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.ServiceLoaderTestEngineRegistry</span></td><td><code>771f386239bb3682</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StackTracePruningEngineExecutionListener</span></td><td><code>f6f65efcfd071c8e</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.core.StreamInterceptingTestExecutionListener</span></td><td><code>0f855b867dc3eac4</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.UniqueIdTrackingListener</span></td><td><code>03bd61ee2a8621d6</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.AbortOnFailureLauncherDiscoveryListener</span></td><td><code>0a9a375bd99ca30a</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners</span></td><td><code>408046ed24478736</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.discovery.LauncherDiscoveryListeners.LauncherDiscoveryListenerType</span></td><td><code>bf2a372dcc5e43f7</code></td></tr><tr><td><span class="el_class">org.junit.platform.launcher.listeners.session.LauncherSessionListeners</span></td><td><code>46b8848a888d4d59</code></td></tr><tr><td><span class="el_class">org.mockito.Answers</span></td><td><code>afd86bd70185fc83</code></td></tr><tr><td><span class="el_class">org.mockito.ArgumentMatchers</span></td><td><code>30453f217beea892</code></td></tr><tr><td><span class="el_class">org.mockito.Mock.Strictness</span></td><td><code>009145878d43835a</code></td></tr><tr><td><span class="el_class">org.mockito.Mockito</span></td><td><code>c6bfacf92b6f13dc</code></td></tr><tr><td><span class="el_class">org.mockito.MockitoAnnotations</span></td><td><code>74524dc0e5acf9f0</code></td></tr><tr><td><span class="el_class">org.mockito.configuration.DefaultMockitoConfiguration</span></td><td><code>b174879ae8ed115e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.MockitoCore</span></td><td><code>f49bfbc3fe5350e5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.PremainAttach</span></td><td><code>2c55710b3d403cec</code></td></tr><tr><td><span class="el_class">org.mockito.internal.PremainAttachAccess</span></td><td><code>868bee0538961f6a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.CaptorAnnotationProcessor</span></td><td><code>2f21a4570b50b64a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.ClassPathLoader</span></td><td><code>173a7c62160e6dbf</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultDoNotMockEnforcer</span></td><td><code>6a7cb49285062e7d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.DefaultInjectionEngine</span></td><td><code>5622872b1b0aa27c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.GlobalConfiguration</span></td><td><code>0df96c19dabdcfc0</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.IndependentAnnotationEngine</span></td><td><code>54aaab1155cc41fd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.InjectingAnnotationEngine</span></td><td><code>3402d3906098d7e2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.MockAnnotationProcessor</span></td><td><code>f32d9954d5c65205</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.SpyAnnotationEngine</span></td><td><code>6b53375c8a8a5cc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.ConstructorInjection</span></td><td><code>19dcf00154169dc3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection</span></td><td><code>ca48d2168eb0379e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjection.OngoingMockInjection</span></td><td><code>7332cebf2a8af19f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy</span></td><td><code>c2617130af96367b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.MockInjectionStrategy.1</span></td><td><code>452f05e1d767d35b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.PropertyAndSetterInjection</span></td><td><code>47bbc3a0a738f758</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.SpyOnInjectedFieldsHandler</span></td><td><code>c215fb083e355a56</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.NameBasedCandidateFilter</span></td><td><code>022739292a1ee0bb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TerminalMockCandidateFilter</span></td><td><code>33c9b708ed3e7c78</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.filter.TypeBasedCandidateFilter</span></td><td><code>e42765a95b390b22</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.InjectMocksScanner</span></td><td><code>46136c11b8e2ed65</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.injection.scanner.MockScanner</span></td><td><code>9a1662242e3f2d24</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultMockitoPlugins</span></td><td><code>f2b7ceb1ff6789f3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.DefaultPluginSwitch</span></td><td><code>bae35df711d1f747</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFileReader</span></td><td><code>f40c61def10749c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginFinder</span></td><td><code>bd3cbb4ee283ccc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginInitializer</span></td><td><code>072018c08a02e9ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginLoader</span></td><td><code>1702b486e8f8c9ad</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.PluginRegistry</span></td><td><code>edba7ea1c6a85364</code></td></tr><tr><td><span class="el_class">org.mockito.internal.configuration.plugins.Plugins</span></td><td><code>b0a44acc68acdddb</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.DelegatingMethod</span></td><td><code>aa9a3605cadc5938</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.MockSettingsImpl</span></td><td><code>3040d7b3b87e5329</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.SuspendMethod</span></td><td><code>5807a496dfc9c4c6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ByteBuddyCrossClassLoaderSerializationSupport</span></td><td><code>b07e753f8b4d10a1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.BytecodeGenerator</span></td><td><code>b96181544d17b32a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker</span></td><td><code>a1a0ac895421946d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator</span></td><td><code>b3e304d2e253eac8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper</span></td><td><code>391fcc69ac063d03</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.MethodParameterStrippingMethodVisitor</span></td><td><code>4daaaa2d160cb215</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.ParameterWritingVisitorWrapper.ParameterAddingClassVisitor</span></td><td><code>3ea0bd6b68949e7f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker</span></td><td><code>2e5a8e3521b0d290</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.1</span></td><td><code>0c4b020122fedbe3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockFeatures</span></td><td><code>3948e31575d7accd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice</span></td><td><code>1db8cad96c916600</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut</span></td><td><code>ca8092fe743e119f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ConstructorShortcut.1</span></td><td><code>d1c660410fc1f7ca</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.RealMethodCall</span></td><td><code>c22f1055be0ba4d7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.ReturnValueWrapper</span></td><td><code>5aec1a35f7fcbc57</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.MockMethodAdvice.SelfCallInfo</span></td><td><code>97851b59e4893c98</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler</span></td><td><code>addb759457799176</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.3</span></td><td><code>dbee40635b946f97</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.ModuleHandler.ModuleSystemFound</span></td><td><code>b4c7c55be2a75dcd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.StackWalkerChecker</span></td><td><code>68e569e3f7178506</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.SubclassBytecodeGenerator</span></td><td><code>d1fe149222160108</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator</span></td><td><code>9b77b7f9f15ce65b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.MockitoMockKey</span></td><td><code>6ab1c48e921f0e50</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.TypeCachingLock</span></td><td><code>f3718822abb34b6b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.bytebuddy.access.MockMethodInterceptor</span></td><td><code>7e19a7250dd27860</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.DefaultInstantiatorProvider</span></td><td><code>844386c7887007f1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.instance.ObjenesisInstantiator</span></td><td><code>7a7c1771759c8b2f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.creation.settings.CreationSettings</span></td><td><code>1d27e65e4db303b9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory</span></td><td><code>6e3846984f7d9362</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationFactory.DefaultLocationFactory</span></td><td><code>962892aa849afdfc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl</span></td><td><code>530a4709e6947f60</code></td></tr><tr><td><span class="el_class">org.mockito.internal.debugging.LocationImpl.MetadataShim</span></td><td><code>e0e02617575176a4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.ConditionalStackTraceFilter</span></td><td><code>3ae97774773f8cc1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleaner</span></td><td><code>ccefdaf75b25508d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider</span></td><td><code>b96ca03f68c6b0bc</code></td></tr><tr><td><span class="el_class">org.mockito.internal.exceptions.stacktrace.StackTraceFilter</span></td><td><code>f1e5dd123e555b09</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoFramework</span></td><td><code>9ff7a406a63b11b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession</span></td><td><code>b769df66d2932b43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.framework.DefaultMockitoSession.1</span></td><td><code>6d40a180fd180112</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.InvocationNotifierHandler</span></td><td><code>81a88d2a9823ca2e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerFactory</span></td><td><code>60aaf611c9f037ba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.MockHandlerImpl</span></td><td><code>40af730c41726d19</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NotifiedMethodInvocationReport</span></td><td><code>7c3eab83e03245ef</code></td></tr><tr><td><span class="el_class">org.mockito.internal.handler.NullResultGuardian</span></td><td><code>887855f598dc7f26</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.ArgumentsProcessor</span></td><td><code>48a63d334fbe1568</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.DefaultInvocationFactory</span></td><td><code>fd7a2f1ca0abf244</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation</span></td><td><code>2bc1759562590122</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InterceptedInvocation.1</span></td><td><code>a808ee7e12b0c370</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationComparator</span></td><td><code>961ab6368446cd9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher</span></td><td><code>a60a277cde788c00</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.InvocationMatcher.1</span></td><td><code>d5c4b96c4388ebd1</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatcherApplicationStrategy</span></td><td><code>c26110ae251954b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.MatchersBinder</span></td><td><code>7855054a8c7718ee</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.StubInfoImpl</span></td><td><code>9766984c92e9959b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.TypeSafeMatching</span></td><td><code>db8fac8befb40512</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.finder.AllInvocationsFinder</span></td><td><code>a80f90b774f88fc5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.invocation.mockref.MockWeakReference</span></td><td><code>1fbf38ee01ef223b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.DefaultStubbingLookupListener</span></td><td><code>13dcfa4167b96780</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener</span></td><td><code>b0cc5166693438a8</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UniversalTestListener.1</span></td><td><code>c4d90e297ae82cc7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbings</span></td><td><code>b53675bd52d6172d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.junit.UnusedStubbingsFinder</span></td><td><code>675da25e30c00788</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier</span></td><td><code>6f87fdb14780b091</code></td></tr><tr><td><span class="el_class">org.mockito.internal.listeners.StubbingLookupNotifier.Event</span></td><td><code>f6cc7c2930ac8f03</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Any</span></td><td><code>ddca80baaf883a0c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.ArrayEquals</span></td><td><code>27688bbbffae1861</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equality</span></td><td><code>341b019eaeb85d40</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Equals</span></td><td><code>84c89c09d537ae1d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.InstanceOf</span></td><td><code>5c0eab070e987a7e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.LocalizedMatcher</span></td><td><code>f3da081806496e9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.matchers.Null</span></td><td><code>4f9e462664504486</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ArgumentMatcherStorageImpl</span></td><td><code>d9b8becac423331b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl</span></td><td><code>b4b478523e99786f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.MockingProgressImpl.1</span></td><td><code>9f7db825fdcdf194</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.SequenceNumber</span></td><td><code>a68ee1dd45f51b97</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress</span></td><td><code>452aa6e38ddff43e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.progress.ThreadSafeMockingProgress.1</span></td><td><code>79ae9726492f0c4f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.DefaultMockitoSessionBuilder</span></td><td><code>b96a72121a8d44b7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoLoggerAdapter</span></td><td><code>493d0e9955f91a80</code></td></tr><tr><td><span class="el_class">org.mockito.internal.session.MockitoSessionLoggerAdapter</span></td><td><code>f55620e96a8de521</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.BaseStubbing</span></td><td><code>7fb9abb0c3eadb7f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.ConsecutiveStubbing</span></td><td><code>557234368bf5ca41</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.DoAnswerStyleStubbing</span></td><td><code>6e7ca0308caa0784</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.InvocationContainerImpl</span></td><td><code>6fc98009157aaa61</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.OngoingStubbingImpl</span></td><td><code>747b28f7f0499aba</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StrictnessSelector</span></td><td><code>00cb65fb01fdc580</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbedInvocationMatcher</span></td><td><code>73693c29dbd5f1d4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.StubbingComparator</span></td><td><code>8d9934f6f6956410</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.UnusedStubbingReporting</span></td><td><code>076cd36a765c131f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.AbstractThrowsException</span></td><td><code>4d8774faf570ee8b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.CallsRealMethods</span></td><td><code>e57edbc68b0e39e6</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.DefaultAnswerValidator</span></td><td><code>bc157688cbf26d9c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.InvocationInfo</span></td><td><code>35c4a7d4431e2604</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.Returns</span></td><td><code>419d0de7c8cd9ec2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.answers.ThrowsException</span></td><td><code>d5453a6546fff054</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.GloballyConfiguredAnswer</span></td><td><code>b4af5d0cc4127c43</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsDeepStubs</span></td><td><code>9290a19f5dbdf1b2</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues</span></td><td><code>d6ed669583d1bf96</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMocks</span></td><td><code>99d9220ab6ee9e86</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsMoreEmptyValues</span></td><td><code>708bd411a28382b5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.ReturnsSmartNulls</span></td><td><code>f434f2f732e6e80e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.stubbing.defaultanswers.TriesToReturnSelf</span></td><td><code>13e6f22c3923267d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Checks</span></td><td><code>693b7ec3dc9db88a</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ConsoleMockitoLogger</span></td><td><code>f6ec54a756328702</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.DefaultMockingDetails</span></td><td><code>445b7a7104a677ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.KotlinInlineClassUtil</span></td><td><code>8f2e65801baf9ad5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockCreationValidator</span></td><td><code>83a10f2760252cf3</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockNameImpl</span></td><td><code>009cd5fc276ed0dd</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.MockUtil</span></td><td><code>8cedd1d6aa623c6c</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.ObjectMethodsGuru</span></td><td><code>e958146f93547352</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Platform</span></td><td><code>6c061a17b8fd556f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.Primitives</span></td><td><code>6b6a08aaf147839f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsMockWrapper</span></td><td><code>93f7437facb707c5</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet</span></td><td><code>737466b57a8efbc9</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.HashCodeAndEqualsSafeSet.1</span></td><td><code>42fcd15141d4c88d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Iterables</span></td><td><code>f7eb3a38de601237</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.collections.Sets</span></td><td><code>31c2cf4c7d79f16e</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal</span></td><td><code>24c845c0cee0c23b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.1</span></td><td><code>defaf890898faa64</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.DetachedThreadLocal.Cleaner</span></td><td><code>fe82f09eda153c82</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap</span></td><td><code>317df0cbe9bf65e4</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.LatentKey</span></td><td><code>49d0008ff01c2270</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WeakKey</span></td><td><code>c9b8ab481aee9c32</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentMap.WithInlinedExpunction</span></td><td><code>2900bb8f66594337</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet</span></td><td><code>01665a2956990716</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.concurrent.WeakConcurrentSet.Cleaner</span></td><td><code>8e47207f365780a7</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.io.IOUtil</span></td><td><code>85aaa73b6a20c3ce</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.FieldReader</span></td><td><code>2d76f64107151601</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport</span></td><td><code>9acdfdf63f655b49</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.FromClassGenericMetadataSupport</span></td><td><code>99c88b2ac93b8f3f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.NotGenericReturnTypeSupport</span></td><td><code>8c611ef213f94120</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.ParameterizedReturnType</span></td><td><code>25e3bc9dabf2fa9d</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.TypeVarBoundedType</span></td><td><code>b7f4d58732c20401</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.GenericMetadataSupport.TypeVariableReturnType</span></td><td><code>6d8641bfb4e9554b</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.InstrumentationMemberAccessor</span></td><td><code>00b247ec3e952710</code></td></tr><tr><td><span class="el_class">org.mockito.internal.util.reflection.ModuleMemberAccessor</span></td><td><code>df6459cdb157634f</code></td></tr><tr><td><span class="el_class">org.mockito.internal.verification.DefaultRegisteredInvocations</span></td><td><code>48184ff2108397ec</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.MockitoExtension</span></td><td><code>e3db9768ffa5382e</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CaptorParameterResolver</span></td><td><code>2e8866c6a5127d6f</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.CompositeParameterResolver</span></td><td><code>c7a126226052e288</code></td></tr><tr><td><span class="el_class">org.mockito.junit.jupiter.resolver.MockParameterResolver</span></td><td><code>2a46311d1d569871</code></td></tr><tr><td><span class="el_class">org.mockito.mock.MockType</span></td><td><code>0b5105452bbd0790</code></td></tr><tr><td><span class="el_class">org.mockito.mock.SerializableMode</span></td><td><code>d8db118920e53367</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.AnnotationEngine.NoAction</span></td><td><code>cccb6d6b2cd49244</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer</span></td><td><code>d84a80636a3b2091</code></td></tr><tr><td><span class="el_class">org.mockito.plugins.DoNotMockEnforcer.Cache</span></td><td><code>7ad724250d9a8fd2</code></td></tr><tr><td><span class="el_class">org.mockito.quality.Strictness</span></td><td><code>fd006704ba980aef</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.skyscreamer.jsonassert.JSONCompare</span></td><td><code>ef55a31e1ab7a7a8</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.JSONCompareMode</span></td><td><code>86a7b067c9d2e14b</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.JSONCompareResult</span></td><td><code>5a5ceec52697a148</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.JSONParser</span></td><td><code>02d0f2acde226b21</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.comparator.AbstractComparator</span></td><td><code>75a904013e1a9240</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.comparator.DefaultComparator</span></td><td><code>b0ff5ae013f0467d</code></td></tr><tr><td><span class="el_class">org.skyscreamer.jsonassert.comparator.JSONCompareUtil</span></td><td><code>70528d2a44a76ba8</code></td></tr><tr><td><span class="el_class">org.slf4j.LoggerFactory</span></td><td><code>45630a2ef9211bd2</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>21c0421f945a1458</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.bridge.SLF4JBridgeHandler</span></td><td><code>d6cd7ee9df5a30bd</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.BasicMDCAdapter</span></td><td><code>354fafb117483fdb</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.BasicMDCAdapter.1</span></td><td><code>8f0671fb507009fb</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.BasicMarkerFactory</span></td><td><code>d8e0b7e9d11b515c</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.FormattingTuple</span></td><td><code>f769e1b68746078d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.MessageFormatter</span></td><td><code>e2bc58b82ebe1d3d</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOPLoggerFactory</span></td><td><code>eaf704972ef7000c</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.NOPMDCAdapter</span></td><td><code>d816a97d0b663014</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NOP_FallbackServiceProvider</span></td><td><code>44c4aa253bad3620</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.NormalizedParameters</span></td><td><code>d9375a4f0639bb9b</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Reporter</span></td><td><code>c9b912a7116daa87</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Reporter.Level</span></td><td><code>07530b930aa1c996</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Reporter.TargetChoice</span></td><td><code>0aa347cd82827a6b</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.SubstituteLoggerFactory</span></td><td><code>2c5fb1b0f92b644d</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.SubstituteServiceProvider</span></td><td><code>c99ff2d1c9be6145</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.ThreadLocalMapOfStacks</span></td><td><code>2b24a935616f8730</code></td></tr><tr><td><span class="el_class">org.slf4j.helpers.Util</span></td><td><code>859d67cf0632e467</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>6822bf7129d487fa</code></td></tr><tr><td><span class="el_class">org.springframework.aop.config.AopConfigUtils</span></td><td><code>dc2406c5c7f1c309</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.AopProxyUtils</span></td><td><code>fd238f0c45f8ca81</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.ProxyConfig</span></td><td><code>046e0ccf914756ab</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.ProxyProcessorSupport</span></td><td><code>7b71ec99c23a376b</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.AfterReturningAdviceAdapter</span></td><td><code>6abfed33ff4c5b6e</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.DefaultAdvisorAdapterRegistry</span></td><td><code>fd642985e12c9bba</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry</span></td><td><code>09e53cd2688e1831</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.MethodBeforeAdviceAdapter</span></td><td><code>f111934ff5f47ecf</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.adapter.ThrowsAdviceAdapter</span></td><td><code>290e502e807701b4</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator</span></td><td><code>a81cdf6693915cf0</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.BeanFactoryAdvisorRetrievalHelperAdapter</span></td><td><code>c6ed514794426367</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator</span></td><td><code>3d66b86b9e6249c5</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.AutoProxyUtils</span></td><td><code>1f0bc8550bf738b9</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper</span></td><td><code>334526cd60eeb268</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.InfrastructureAdvisorAutoProxyCreator</span></td><td><code>b8410eff751f4d4f</code></td></tr><tr><td><span class="el_class">org.springframework.aop.framework.autoproxy.ProxyCreationContext</span></td><td><code>cfff65fe25ed38d4</code></td></tr><tr><td><span class="el_class">org.springframework.aop.scope.ScopedProxyUtils</span></td><td><code>3bc9f715319211dd</code></td></tr><tr><td><span class="el_class">org.springframework.aop.support.AopUtils</span></td><td><code>a497982af006e8fb</code></td></tr><tr><td><span class="el_class">org.springframework.aot.AotDetector</span></td><td><code>4635a301958e4232</code></td></tr><tr><td><span class="el_class">org.springframework.asm.AnnotationVisitor</span></td><td><code>7cd8085ad48926af</code></td></tr><tr><td><span class="el_class">org.springframework.asm.AnnotationWriter</span></td><td><code>bee8f1d943b771e8</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Attribute</span></td><td><code>3e26791a4406efb6</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ByteVector</span></td><td><code>ce4426882f90df15</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ClassReader</span></td><td><code>0049948586e8069a</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ClassVisitor</span></td><td><code>f5bb070a94fa23b8</code></td></tr><tr><td><span class="el_class">org.springframework.asm.ClassWriter</span></td><td><code>87acc5fb7fe11d7a</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Context</span></td><td><code>2cb0abbc1d58c706</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Edge</span></td><td><code>79a3093b5873a990</code></td></tr><tr><td><span class="el_class">org.springframework.asm.FieldVisitor</span></td><td><code>4488261805ec6571</code></td></tr><tr><td><span class="el_class">org.springframework.asm.FieldWriter</span></td><td><code>31ece5a352ed31a8</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Frame</span></td><td><code>d26d36e9c0da622e</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Handler</span></td><td><code>c9bd3107887537d4</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Label</span></td><td><code>22110112ef9752b2</code></td></tr><tr><td><span class="el_class">org.springframework.asm.MethodVisitor</span></td><td><code>6cb8627353fd92c5</code></td></tr><tr><td><span class="el_class">org.springframework.asm.MethodWriter</span></td><td><code>4797b2b72b9c49b7</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Symbol</span></td><td><code>2ad054b9376ccb47</code></td></tr><tr><td><span class="el_class">org.springframework.asm.SymbolTable</span></td><td><code>38c1ca65ba629f7e</code></td></tr><tr><td><span class="el_class">org.springframework.asm.SymbolTable.Entry</span></td><td><code>4af5196663fdd021</code></td></tr><tr><td><span class="el_class">org.springframework.asm.Type</span></td><td><code>6c8e051b639447a6</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractNestablePropertyAccessor</span></td><td><code>3a0af01e2fb71432</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractNestablePropertyAccessor.PropertyHandler</span></td><td><code>ad1b6f008d65d0e6</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractNestablePropertyAccessor.PropertyTokenHolder</span></td><td><code>6cb95c3cfe094efb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.AbstractPropertyAccessor</span></td><td><code>6260ca73bd186596</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanMetadataAttribute</span></td><td><code>50245b7faa6543cc</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanMetadataAttributeAccessor</span></td><td><code>83d9337cf3ce1579</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanUtils</span></td><td><code>597947c5172c11d2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanWrapperImpl</span></td><td><code>e199f0c493eb9458</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeanWrapperImpl.BeanPropertyHandler</span></td><td><code>8f60bac18b647df7</code></td></tr><tr><td><span class="el_class">org.springframework.beans.BeansException</span></td><td><code>64c49968d01e3233</code></td></tr><tr><td><span class="el_class">org.springframework.beans.CachedIntrospectionResults</span></td><td><code>bfd3a95a8945baac</code></td></tr><tr><td><span class="el_class">org.springframework.beans.FatalBeanException</span></td><td><code>035b9b27f2335bd2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.GenericTypeAwarePropertyDescriptor</span></td><td><code>c9836e195a701735</code></td></tr><tr><td><span class="el_class">org.springframework.beans.MutablePropertyValues</span></td><td><code>a5482b47bb3debec</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyAccessException</span></td><td><code>b1e5c1fe1bb8c212</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyAccessorFactory</span></td><td><code>de21b492d0cae972</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyAccessorUtils</span></td><td><code>7ebd128673078a28</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyDescriptorUtils</span></td><td><code>12c307596a8e864c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyDescriptorUtils.BasicPropertyDescriptor</span></td><td><code>ac0e87cb7c6b928a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyEditorRegistrySupport</span></td><td><code>893baff9fed5adbb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.PropertyValue</span></td><td><code>6fac5f2f4da80b97</code></td></tr><tr><td><span class="el_class">org.springframework.beans.SimpleBeanInfoFactory</span></td><td><code>744fccd02df3c5fa</code></td></tr><tr><td><span class="el_class">org.springframework.beans.SimpleBeanInfoFactory.1</span></td><td><code>47904bfcc5cd7209</code></td></tr><tr><td><span class="el_class">org.springframework.beans.SimpleTypeConverter</span></td><td><code>aedbd151ea000af6</code></td></tr><tr><td><span class="el_class">org.springframework.beans.TypeConverterDelegate</span></td><td><code>b20006c883a0557c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.TypeConverterSupport</span></td><td><code>6ba587b8cdfbed62</code></td></tr><tr><td><span class="el_class">org.springframework.beans.TypeMismatchException</span></td><td><code>b8d9892b3178354a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.BeanCreationException</span></td><td><code>952dcdbd661ba671</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.BeanCurrentlyInCreationException</span></td><td><code>0fb6a2c742f4e656</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.BeanFactoryUtils</span></td><td><code>d8307853ff536896</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.FactoryBean</span></td><td><code>3a94f6c2640b7c2f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.InjectionPoint</span></td><td><code>367976cf2192565a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.NoSuchBeanDefinitionException</span></td><td><code>7a6fbf7f67610a99</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.ObjectProvider</span></td><td><code>78c40546223be842</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.UnsatisfiedDependencyException</span></td><td><code>b19b9d6a6818eed7</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition</span></td><td><code>38abcd3eb58a4b7c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor</span></td><td><code>831171a05aa94468</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.AutowiredElement</span></td><td><code>947739d84c1aef26</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.AutowiredFieldElement</span></td><td><code>0fc2d00e57809db8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.AutowiredMethodElement</span></td><td><code>52474bd9fae89dba</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.ShortcutDependencyDescriptor</span></td><td><code>f5d049716d0b9e1a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils</span></td><td><code>337ac45145287707</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor</span></td><td><code>01ebc14ff8a29edf</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.1</span></td><td><code>fc71b6ca5b0a238b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.LifecycleMetadata</span></td><td><code>1ad4ba22b0d77685</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InjectionMetadata</span></td><td><code>e3eb3413dae89ef9</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InjectionMetadata.1</span></td><td><code>81faf771c1e9995e</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement</span></td><td><code>77e203610874e846</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver</span></td><td><code>ea0224c14c77e605</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.AutowiredPropertyMarker</span></td><td><code>b71f58083542c4c0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanDefinitionHolder</span></td><td><code>acf04ae778780ae1</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanDefinitionVisitor</span></td><td><code>9eb1ee6d26dedd43</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanExpressionContext</span></td><td><code>e193188cb665e818</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.BeanPostProcessor</span></td><td><code>addce00a99d090e8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.ConstructorArgumentValues</span></td><td><code>02eee20e5f8fa1fb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder</span></td><td><code>5ae56fe0ff931ce8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.DependencyDescriptor</span></td><td><code>c9a23d73d244ad5b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.DependencyDescriptor.1</span></td><td><code>32badf06238740a3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.EmbeddedValueResolver</span></td><td><code>499c71d0b8d2e356</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor</span></td><td><code>ef77b1e4f3395e4b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.NamedBeanHolder</span></td><td><code>6b38a4b3884daf71</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.PlaceholderConfigurerSupport</span></td><td><code>2fabee17a7f1d0d3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.PropertyResourceConfigurer</span></td><td><code>d319f95dfb15e64f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.RuntimeBeanReference</span></td><td><code>d43b2a320c1e1635</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor</span></td><td><code>afe0c56293b6b1c0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.EmptyReaderEventListener</span></td><td><code>0a280bc22d51f5a8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.FailFastProblemReporter</span></td><td><code>69e052e0b35b4059</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.NullSourceExtractor</span></td><td><code>9972033eb258cbac</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.parsing.PassThroughSourceExtractor</span></td><td><code>d5e275c912c671db</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory</span></td><td><code>4c3fc52f287bae5e</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanDefinition</span></td><td><code>911dd104f06e5fe3</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanDefinitionReader</span></td><td><code>e0c671d74f68b2bb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory</span></td><td><code>89ee22e31ae9a1f5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory.BeanFactoryDefaultEditorRegistrar</span></td><td><code>4447ad48187c3270</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory.BeanPostProcessorCache</span></td><td><code>468301d24d14651a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AbstractBeanFactory.BeanPostProcessorCacheAwareList</span></td><td><code>5e6a27626846e486</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AutowireCandidateResolver</span></td><td><code>9e73836c814554f7</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.AutowireUtils</span></td><td><code>f959e2a38413f820</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionBuilder</span></td><td><code>6bb35af4380872ec</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionDefaults</span></td><td><code>f2d7d12e3f069c91</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionReaderUtils</span></td><td><code>72a0ef56b6a39b04</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.BeanDefinitionValueResolver</span></td><td><code>56b2b7bc211ab624</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy</span></td><td><code>98d58895ccc477d0</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.ConstructorResolver</span></td><td><code>1b50ceb6bcadec7b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.ConstructorResolver.ArgumentsHolder</span></td><td><code>cb13c2ea0f6bcdf5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.ConstructorResolver.ConstructorDependencyDescriptor</span></td><td><code>aadae36cd774114d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultBeanNameGenerator</span></td><td><code>c2596b38b7107e71</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory</span></td><td><code>8d4eb88ca85320e5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.1</span></td><td><code>5550b1b7adddf7c1</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.3</span></td><td><code>6bd1c8e3f37daa50</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.DependencyObjectProvider</span></td><td><code>cb7d4bd4e724b789</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.DependencyObjectProvider.2</span></td><td><code>5805d1e49c9503be</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.DependencyObjectProvider.3</span></td><td><code>dd81151a931854f5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.FactoryAwareOrderSourceProvider</span></td><td><code>11bbca432c7debfe</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.MultiElementDescriptor</span></td><td><code>1b4bdc3f1d6d0048</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.NestedDependencyDescriptor</span></td><td><code>d0ef3f33ac285a06</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstantiation</span></td><td><code>12b66480135a5bd2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultListableBeanFactory.StreamDependencyDescriptor</span></td><td><code>6ec0e4ada6551e3c</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DefaultSingletonBeanRegistry</span></td><td><code>7f791ada107abf97</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.DisposableBeanAdapter</span></td><td><code>b01f79dbb2de166a</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.FactoryBeanRegistrySupport</span></td><td><code>8b9fd7dc45fa7663</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.GenericBeanDefinition</span></td><td><code>e2717ab28b283efe</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.GenericTypeAwareAutowireCandidateResolver</span></td><td><code>f01d81248857b161</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.InstantiationStrategy</span></td><td><code>9411177577c2df54</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor</span></td><td><code>74c27669b3ca5971</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.MethodDescriptor</span></td><td><code>71a76619305617fa</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.MethodOverrides</span></td><td><code>8f99f23b814da8f2</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.NullBean</span></td><td><code>0d8a03459e3c672d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.RootBeanDefinition</span></td><td><code>33b83a145b6ef747</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.SimpleAutowireCandidateResolver</span></td><td><code>a8da1428caefcaeb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.support.SimpleInstantiationStrategy</span></td><td><code>2dc6e7eeb1e81d38</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.xml.DefaultDocumentLoader</span></td><td><code>17b7b389a9b5f1df</code></td></tr><tr><td><span class="el_class">org.springframework.beans.factory.xml.XmlBeanDefinitionReader</span></td><td><code>ef7a54a13ff650fb</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ByteArrayPropertyEditor</span></td><td><code>54fa24b2e2c56daf</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CharArrayPropertyEditor</span></td><td><code>0e6175e8e09d4d38</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CharacterEditor</span></td><td><code>e1680e0598f36730</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CharsetEditor</span></td><td><code>c67de0ec5c4e5163</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ClassArrayEditor</span></td><td><code>39580969b8b08b73</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ClassEditor</span></td><td><code>177e74bacc4700af</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CurrencyEditor</span></td><td><code>69e7d92cb56ab106</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomBooleanEditor</span></td><td><code>366eb60a09787773</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomCollectionEditor</span></td><td><code>89b13cda7e096920</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomMapEditor</span></td><td><code>f48e6c8020e88a37</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.CustomNumberEditor</span></td><td><code>4f6dd59baa7919c5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.FileEditor</span></td><td><code>e12e1135515e0a9d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.InputSourceEditor</span></td><td><code>86a125686f5cb314</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.InputStreamEditor</span></td><td><code>6eeb9774b19ea234</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.LocaleEditor</span></td><td><code>b40748757650bc9d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.PathEditor</span></td><td><code>5e975e1c9c88a719</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.PatternEditor</span></td><td><code>01bc23618d18afb5</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.PropertiesEditor</span></td><td><code>1d75bdcd78f1430b</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ReaderEditor</span></td><td><code>5d64f109729862b8</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.StringArrayPropertyEditor</span></td><td><code>fdc7e638fe99ffcf</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.TimeZoneEditor</span></td><td><code>51c3b4c804135610</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.URIEditor</span></td><td><code>b9c6ce26adedd40d</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.URLEditor</span></td><td><code>69ed1c4d1f06b04f</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.UUIDEditor</span></td><td><code>c5e7e7c795351411</code></td></tr><tr><td><span class="el_class">org.springframework.beans.propertyeditors.ZoneIdEditor</span></td><td><code>c0bf4f9fb30e3b62</code></td></tr><tr><td><span class="el_class">org.springframework.beans.support.ResourceEditorRegistrar</span></td><td><code>f0b125cc06148640</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ApplicationContextFactory</span></td><td><code>e1850f9cdbe9eae6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ApplicationInfoPropertySource</span></td><td><code>92de4cc95e21cb40</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ApplicationProperties</span></td><td><code>d74bed52647afad8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.Banner.Mode</span></td><td><code>2a267b9cd9ce680a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BeanDefinitionLoader</span></td><td><code>ad9736179c13eb66</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BeanDefinitionLoader.ClassExcludeFilter</span></td><td><code>5c079e0dd609ad80</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapContextClosedEvent</span></td><td><code>e055020635c56dc7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapRegistry.InstanceSupplier</span></td><td><code>f637b700e22c4fbb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapRegistry.InstanceSupplier.1</span></td><td><code>aae0079530cb26c0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.BootstrapRegistry.Scope</span></td><td><code>8ceffb50d68185cf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ClearCachesApplicationListener</span></td><td><code>89b56d975144f51d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultApplicationArguments</span></td><td><code>cc9af9fb55c6b373</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultApplicationArguments.Source</span></td><td><code>7ee81b353b0723d0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultApplicationContextFactory</span></td><td><code>615be8fa1113dec9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultBootstrapContext</span></td><td><code>4c62450e22544a91</code></td></tr><tr><td><span class="el_class">org.springframework.boot.DefaultPropertiesPropertySource</span></td><td><code>8c7633da6aaf8fe5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.EnvironmentConverter</span></td><td><code>0873654b8a7e654d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.LazyInitializationExcludeFilter</span></td><td><code>52a526516b4021f6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication</span></td><td><code>6a929081c885d30a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication.FactoryAwareOrderSourceProvider</span></td><td><code>fcb1a30699a8d595</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication.PropertySourceOrderingBeanFactoryPostProcessor</span></td><td><code>b7994d922054373e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication.StandardStartup</span></td><td><code>2796120ce639f5f2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplication.Startup</span></td><td><code>4c5c03aac3292062</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationBannerPrinter</span></td><td><code>a3fcd6f62176bd97</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationBannerPrinter.PrintedBanner</span></td><td><code>22d0ffc3506fee6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationRunListener</span></td><td><code>573f850269cb87db</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationRunListeners</span></td><td><code>e48263ed2e475889</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook</span></td><td><code>a5671412cc7d26d3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook.ApplicationContextClosedListener</span></td><td><code>80a178d8f1f5859f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook.Handler</span></td><td><code>930424807a381f46</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringApplicationShutdownHook.Handlers</span></td><td><code>bf7019775342779c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringBootBanner</span></td><td><code>29d70ec25710b14a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.SpringBootVersion</span></td><td><code>2e72fcfd109f05fc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.StartupInfoLogger</span></td><td><code>83b093245eadb60d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.WebApplicationType</span></td><td><code>31092b375c45624f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.OnEndpointElementCondition</span></td><td><code>4e510d14311242ff</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.availability.AvailabilityHealthContributorAutoConfiguration</span></td><td><code>4cbd38752f028f9d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.availability.AvailabilityProbesAutoConfiguration.ProbesCondition</span></td><td><code>a9fd62e8b8ca9104</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.cloudfoundry.CloudFoundryEndpointExposureOutcomeContributor</span></td><td><code>47e544ba95481c19</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration</span></td><td><code>bc9df2a5442a653e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.EndpointIdTimeToLivePropertyFunction</span></td><td><code>9afe93193294074e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.PropertiesEndpointAccessResolver</span></td><td><code>212608534736992c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.condition.OnAvailableEndpointCondition</span></td><td><code>962f9593fd39f251</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.condition.OnAvailableEndpointCondition.StandardExposureOutcomeContributor</span></td><td><code>79491718afedfc62</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.expose.EndpointExposure</span></td><td><code>eca69cafbe135a98</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.expose.IncludeExcludeEndpointFilter</span></td><td><code>c0aed97780b45fcb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.expose.IncludeExcludeEndpointFilter.EndpointPatterns</span></td><td><code>324a988a626646e4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointAutoConfiguration</span></td><td><code>1188878cf4a67c92</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.CorsEndpointProperties</span></td><td><code>df02c9bea1bd4cde</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.MappingWebEndpointPathMapper</span></td><td><code>0a546bb96188ac81</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.ServletEndpointManagementContextConfiguration</span></td><td><code>3be22fbc4ae58095</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.ServletEndpointManagementContextConfiguration.WebMvcServletEndpointManagementContextConfiguration</span></td><td><code>888812c504aab718</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration</span></td><td><code>2e4fbd7f2e458031</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration.WebEndpointServletConfiguration</span></td><td><code>6b4903da1604b709</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties</span></td><td><code>4e3b9aa1a47bff25</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties.Discovery</span></td><td><code>0db631f5e92a6bea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties.Exposure</span></td><td><code>333888b056d7b0ab</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration</span></td><td><code>fd08afd45ca154a0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet.WebMvcEndpointManagementContextConfiguration.EndpointObjectMapperWebMvcConfigurer</span></td><td><code>ac936110b40f15d1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.AutoConfiguredHealthContributorRegistry</span></td><td><code>415fb1647dd48104</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.AutoConfiguredHealthEndpointGroup</span></td><td><code>c0f14e0c99ec7448</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.AutoConfiguredHealthEndpointGroups</span></td><td><code>d0e7d398e75a721c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration</span></td><td><code>c0369a8e2ab50d98</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration</span></td><td><code>6c76afe8274cf71f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration</span></td><td><code>fe9b789c183a8d04</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration.HealthEndpointGroupMembershipValidator</span></td><td><code>d9710619af7fad2b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointConfiguration.HealthEndpointGroupsBeanPostProcessor</span></td><td><code>33679f1492b4c1f1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointProperties</span></td><td><code>0016cd15f7055246</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointProperties.Logging</span></td><td><code>7fbbfc37d98fb8b2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointWebExtensionConfiguration</span></td><td><code>56ff1c9d11115a59</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthEndpointWebExtensionConfiguration.MvcAdditionalHealthEndpointPathsConfiguration</span></td><td><code>afba2e5a59bbade3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthProperties</span></td><td><code>1fd186e0a769c215</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.HealthProperties.Status</span></td><td><code>5a0ed22c95c81a94</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.health.OnEnabledHealthIndicatorCondition</span></td><td><code>118a0a0ddb41fff0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.InfoContributorAutoConfiguration</span></td><td><code>f634637970c0fa3b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.InfoContributorFallback</span></td><td><code>781e393ee9541e6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.InfoContributorProperties</span></td><td><code>85857a563fe87515</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.InfoContributorProperties.Git</span></td><td><code>c4a2ab509c0a7d90</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.info.OnEnabledInfoContributorCondition</span></td><td><code>c3f5b8091936465c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.AutoTimeProperties</span></td><td><code>62bf21607bbfe187</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration</span></td><td><code>cc7a00aabb488678</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryConfiguration.MultipleNonPrimaryMeterRegistriesCondition</span></td><td><code>edc1743b2bff95d0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.JvmMetricsAutoConfiguration</span></td><td><code>c52cb42b5631dcde</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration</span></td><td><code>e2191ab52ebaf1c2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration.LogbackLoggingCondition</span></td><td><code>a386bd4faead455c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryPostProcessor</span></td><td><code>0344033e22aece45</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryPostProcessor.CompositeMeterRegistries</span></td><td><code>43ad5d1e4b63956c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration</span></td><td><code>4e312634cfe5239b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration.MeterRegistryCloser</span></td><td><code>5d5e87dd46fefbbc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties</span></td><td><code>738e32a422ea0d61</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Data</span></td><td><code>94a34a602fb40234</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Data.Repository</span></td><td><code>52414b955848be5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Distribution</span></td><td><code>3e793b85941868af</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.System</span></td><td><code>dd5798209baac6ba</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.System.Diskspace</span></td><td><code>c0e662d17fa96fe7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Web</span></td><td><code>01c718c8434c48b5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Web.Client</span></td><td><code>c9bf0f64e503e825</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Web.Server</span></td><td><code>f3fa6923d616270c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.OnlyOnceLoggingDenyMeterFilter</span></td><td><code>27b0a450ee15055a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.PropertiesMeterFilter</span></td><td><code>31382f6d8e3c187d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.PropertiesMeterFilter.1</span></td><td><code>a6afb6b3a679e195</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.SystemMetricsAutoConfiguration</span></td><td><code>3b79ae6e64f513bc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.OnMetricsExportEnabledCondition</span></td><td><code>3dedc4c627f9b4c1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.properties.PropertiesConfigAdapter</span></td><td><code>d303bd7386679ce0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration</span></td><td><code>56742d6fb77b1dfc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleProperties</span></td><td><code>e3b0a579cb7f0808</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimplePropertiesConfigAdapter</span></td><td><code>b60a998202a42c84</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.integration.IntegrationMetricsAutoConfiguration</span></td><td><code>43be996a489b0742</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.startup.StartupTimeMetricsListenerAutoConfiguration</span></td><td><code>b411f14cb5599510</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.task.TaskExecutorMetricsAutoConfiguration</span></td><td><code>f836037a7508a59e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat.TomcatMetricsAutoConfiguration</span></td><td><code>5abac888c9706759</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration</span></td><td><code>20af75d82e132390</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration.MeterObservationHandlerConfiguration</span></td><td><code>06714507d5008881</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration.MeterObservationHandlerConfiguration.OnlyMetricsMeterObservationHandlerConfiguration</span></td><td><code>9463347ce5a29196</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration.OnlyMetricsConfiguration</span></td><td><code>bceb8140a6746f54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationHandlerGrouping</span></td><td><code>c041e6254d1ef239</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties</span></td><td><code>560ec78843c5d88d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http</span></td><td><code>f9cd5a3d9035e563</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http.Client</span></td><td><code>1d71deda6729a985</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http.Client.ClientRequests</span></td><td><code>d9259890b2c067dd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http.Server</span></td><td><code>c365f2c9ee27018d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.Http.Server.ServerRequests</span></td><td><code>e660b1bb3a589611</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties.LongTaskTimer</span></td><td><code>967f28b583f8d4e2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationRegistryConfigurer</span></td><td><code>6d0b8d67cad05f19</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.ObservationRegistryPostProcessor</span></td><td><code>67d378c4483ecb21</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.PropertiesObservationFilterPredicate</span></td><td><code>f0ae2974266ec5ef</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.client.HttpClientObservationsAutoConfiguration</span></td><td><code>cd92153ef50d0b6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.client.HttpClientObservationsAutoConfiguration.MeterFilterConfiguration</span></td><td><code>82af19612cb19082</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.client.RestClientObservationConfiguration</span></td><td><code>76de349de7f3bf65</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.client.RestTemplateObservationConfiguration</span></td><td><code>fcfb7f1bb496c30c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration</span></td><td><code>c2cfda7fe2a63c8a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.observation.web.servlet.WebMvcObservationAutoConfiguration.MeterFilterConfiguration</span></td><td><code>b56ae5fc13e05a95</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksObservabilityAutoConfiguration</span></td><td><code>4bfb13f2ce99a9b4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.scheduling.ScheduledTasksObservabilityAutoConfiguration.ObservabilitySchedulingConfigurer</span></td><td><code>cf1d22e536999a48</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslHealthContributorAutoConfiguration</span></td><td><code>179a6350f7e8b513</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslHealthIndicatorProperties</span></td><td><code>29eb4bc0777d8dad</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslMeterBinder</span></td><td><code>02f79da43fdabbe0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslMeterBinder.BundleMetrics</span></td><td><code>fed0ae5f30c5f379</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.ssl.SslObservabilityAutoConfiguration</span></td><td><code>7dc6a56fda2b586c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.startup.StartupEndpointAutoConfiguration.ApplicationStartupCondition</span></td><td><code>20823c68cc819295</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthContributorAutoConfiguration</span></td><td><code>f334192e94fa9821</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.system.DiskSpaceHealthIndicatorProperties</span></td><td><code>a7d1d2a5eebb5931</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.tracing.LogCorrelationEnvironmentPostProcessor</span></td><td><code>ee8b0d4dbeb33462</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryEventPublisherBeansApplicationListener</span></td><td><code>e038b74293c709e4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryEventPublisherBeansTestExecutionListener</span></td><td><code>89df4f04e39e1522</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.ManagementContextFactory</span></td><td><code>a198f3730e3d674d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.ManagementContextType</span></td><td><code>d77b58c6d1caa85e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration</span></td><td><code>54cd136da4ca0a34</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration.LocalManagementPortPropertySource</span></td><td><code>556d2ded3df8d6d1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration.SameManagementContextConfiguration</span></td><td><code>c3d10dfd517d2551</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration.SameManagementContextConfiguration.EnableSameManagementContextConfiguration</span></td><td><code>92591aefb5c3b38a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextConfigurationImportSelector</span></td><td><code>9b3a2a6f296e466f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextConfigurationImportSelector.ManagementConfiguration</span></td><td><code>65d69b5d9d2957f3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType</span></td><td><code>0c9b0aa6785d5f8d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties</span></td><td><code>c86ac4c6810d7cfd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties.Accesslog</span></td><td><code>edaf0ec513793ed3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties.Jetty</span></td><td><code>49eb216e123b0261</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties.Tomcat</span></td><td><code>af9e40c336012e41</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties.Undertow</span></td><td><code>b9b2efe891dbf6d1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.server.OnManagementPortCondition</span></td><td><code>38c0731b12955045</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration</span></td><td><code>9381f0caa2f9592c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.AbstractExposableEndpoint</span></td><td><code>51ebc7800041df45</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.Access</span></td><td><code>41e8eddabfc73624</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.ApiVersion</span></td><td><code>837d296fd0a530d6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.EndpointId</span></td><td><code>d9c1e1a918813a0c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.InvocationContext</span></td><td><code>f6e3b086e99a48cf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationArgumentResolver</span></td><td><code>64d82d8b6046fd9a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationArgumentResolver.1</span></td><td><code>9ebec30ead0d0e30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationFilter</span></td><td><code>0cd7435fdc948684</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationFilter.1</span></td><td><code>dd06df03bdc6c486</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.OperationType</span></td><td><code>df672e7d11fb3c5c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.Producible</span></td><td><code>0ac7316da6d93ad1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.ProducibleOperationArgumentResolver</span></td><td><code>de0dfe99afdad85f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.Show</span></td><td><code>383eda0b61a59e76</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.Show.1</span></td><td><code>773fbb7229bf0631</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredEndpoint</span></td><td><code>56b5af43e4542075</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredOperation</span></td><td><code>4d12315441fe2ee6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.DiscoveredOperationMethod</span></td><td><code>2baf42cdc177fda1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.DiscoveredOperationsFactory</span></td><td><code>7a13dc54588419e4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.DiscovererEndpointFilter</span></td><td><code>f720c3f21757abb9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer</span></td><td><code>2aa9218ac7ffeafd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.1</span></td><td><code>285e6c905301221e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.EndpointBean</span></td><td><code>f7354e9419eab480</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.ExtensionBean</span></td><td><code>21824e54deafedc6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.OperationKey</span></td><td><code>2ae912ca64d3d5f6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.annotation.Selector.Match</span></td><td><code>20c9715c83442202</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper</span></td><td><code>d507269ac13207d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.convert.ConversionServiceParameterValueMapper</span></td><td><code>025cd98614d0a2d0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.reflect.OperationMethod</span></td><td><code>45020efcbe123019</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.reflect.OperationMethodParameter</span></td><td><code>b19587d410b8a753</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.reflect.OperationMethodParameters</span></td><td><code>725a4df46768dd59</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker</span></td><td><code>55511255404ae357</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvoker</span></td><td><code>52bbb908062d6d16</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvoker.CacheKey</span></td><td><code>5fafd85304308633</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor</span></td><td><code>84c4cf59aaecc5b6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver</span></td><td><code>3ca9e0a1a0e833e9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.EndpointMapping</span></td><td><code>9ff5aa3002a71dfe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes</span></td><td><code>32170a9566191e74</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints</span></td><td><code>e494c12d8ad38ad8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.PathMapper</span></td><td><code>2c427052311ebb86</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar</span></td><td><code>f7a8755d378d0c5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.WebEndpointHttpMethod</span></td><td><code>5e97906afd600a06</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.WebEndpointResponse</span></td><td><code>5dfb271021df1ada</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.WebOperationRequestPredicate</span></td><td><code>fc9c44e517bf08df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.WebServerNamespace</span></td><td><code>f58c5743ff81425f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer</span></td><td><code>3800adef0256fd92</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.DiscoveredWebEndpoint</span></td><td><code>abc0c8cdd534ae16</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.DiscoveredWebOperation</span></td><td><code>ec6cc8436ab16eb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.RequestPredicateFactory</span></td><td><code>588eba1f90b71c01</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointDiscoverer</span></td><td><code>b2f8dc0f60d1e5c7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.WebEndpointDiscoverer</span></td><td><code>ba98bca7f523e0bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.annotation.WebEndpointFilter</span></td><td><code>d4b93aa0282c437b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping</span></td><td><code>a3e8cb2ee1f40b84</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.OperationHandler</span></td><td><code>1be48a5db793bd5c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.ServletSecurityContext</span></td><td><code>642a49ae3db627ce</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.ServletWebOperationAdapter</span></td><td><code>b9d94d23dd089062</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.WebMvcEndpointHandlerMethod</span></td><td><code>f1e23c083cb9d8cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.AdditionalHealthEndpointPathsWebMvcHandlerMapping</span></td><td><code>4246c037a0370ac7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.ControllerEndpointHandlerMapping</span></td><td><code>3075e9e3faa0f292</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.SkipPathExtensionContentNegotiation</span></td><td><code>b19727ee96bc0617</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping</span></td><td><code>5ea19573563ed1c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping.WebMvcLinksHandler</span></td><td><code>712c838b88682bd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.AbstractHealthIndicator</span></td><td><code>197c5d6409a3e17e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.CompositeHealth</span></td><td><code>b2ae2f1fc612a40e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.DefaultContributorRegistry</span></td><td><code>717e1592d60e07bd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.DefaultContributorRegistry.1</span></td><td><code>004bffebf224a419</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.DefaultHealthContributorRegistry</span></td><td><code>ddf009bb1087146e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.Health</span></td><td><code>1f615d421b073324</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.Health.Builder</span></td><td><code>9071f4a0a0767e6e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthComponent</span></td><td><code>a2604c9d2635920c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthContributorNameFactory</span></td><td><code>f18619145c68d726</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpoint</span></td><td><code>8e7e602366760865</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpointGroups</span></td><td><code>5d09568899f2a1b6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpointSupport</span></td><td><code>019132003f77cb3d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpointSupport.HealthResult</span></td><td><code>90dd8d84fb308ee7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthEndpointWebExtension</span></td><td><code>2b4d8e6437a43787</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.HealthIndicator</span></td><td><code>96106c281b525f0e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.NamedContributor</span></td><td><code>c5ff21e24b9f5ee4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.NamedContributor.1</span></td><td><code>490d796c7752c55a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.PingHealthIndicator</span></td><td><code>79cbf4852d0bd341</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.SimpleHttpCodeStatusMapper</span></td><td><code>a2af8c90da38350e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.SimpleStatusAggregator</span></td><td><code>c779a5cbeb027f1d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.SimpleStatusAggregator.StatusComparator</span></td><td><code>6a6548dbe61e7897</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.Status</span></td><td><code>0464ac71a7de1373</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.health.SystemHealth</span></td><td><code>ee60c27aaef464ee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.info.InfoPropertiesInfoContributor.Mode</span></td><td><code>b2336956d2134516</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.startup.StartupTimeMetricsListener</span></td><td><code>734b24e08e43f374</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.system.DiskSpaceMetricsBinder</span></td><td><code>e5fc58dc7dd7490b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.web.client.ObservationRestClientCustomizer</span></td><td><code>1de6676763360d1a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.web.client.ObservationRestTemplateCustomizer</span></td><td><code>141204cd6ee67f6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.metrics.web.tomcat.TomcatMetricsBinder</span></td><td><code>f680d1190aa91349</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.ssl.SslHealthIndicator</span></td><td><code>74c6bd67b7d71a86</code></td></tr><tr><td><span class="el_class">org.springframework.boot.actuate.system.DiskSpaceHealthIndicator</span></td><td><code>b4b0dd879e777559</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiColor</span></td><td><code>c4234d10dec80a6d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiOutput</span></td><td><code>c128dbace1d0d569</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiOutput.Enabled</span></td><td><code>3f47a8bc0bc43480</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ansi.AnsiStyle</span></td><td><code>dd7fb15f8c82ad29</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationExcludeFilter</span></td><td><code>4cb29015b70b0bd3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportEvent</span></td><td><code>3c0e64924a4a0594</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector</span></td><td><code>4a9662a8d6d9cf30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.AutoConfigurationEntry</span></td><td><code>3df6d6bb6e222fd8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.AutoConfigurationGroup</span></td><td><code>51abea0027d67785</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.ConfigurationClassFilter</span></td><td><code>dd4dacc1b8591998</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationMetadataLoader</span></td><td><code>45ab32025b2c7a99</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationMetadataLoader.PropertiesAutoConfigurationMetadata</span></td><td><code>836e01b7b742a8ff</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages</span></td><td><code>2ead11e1dbcf9b97</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.BasePackages</span></td><td><code>c4d60fc5eaeb8dbd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.PackageImports</span></td><td><code>2adb7c4cb1f2805b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationPackages.Registrar</span></td><td><code>519e0d15110cac1f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationReplacements</span></td><td><code>f943ef6b57a68602</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationSorter</span></td><td><code>f7f39efe2063c7d0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationSorter.AutoConfigurationClass</span></td><td><code>9bc502756f010528</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.AutoConfigurationSorter.AutoConfigurationClasses</span></td><td><code>d8331f0fa731581c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer</span></td><td><code>168d4239275010c5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.1</span></td><td><code>c66764cf1a4547a3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.CharsetInitializer</span></td><td><code>12e5bdd650945ced</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.ConversionServiceInitializer</span></td><td><code>7e1007e1a64b3184</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.JdkInitializer</span></td><td><code>312b829d8d1662fe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.MessageConverterInitializer</span></td><td><code>9431ccc18c6ec0a3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.TomcatInitializer</span></td><td><code>f0a7eac05731575a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.BackgroundPreinitializer.ValidationInitializer</span></td><td><code>e5a55927b400e1ce</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ImportAutoConfigurationImportSelector</span></td><td><code>1f74b31b7f140353</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer</span></td><td><code>2266791480c91d31</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer.CachingMetadataReaderFactoryPostProcessor</span></td><td><code>e8a9ec23125d311d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer.SharedMetadataReaderFactoryBean</span></td><td><code>ac80d392efbfdaa3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.aop.AopAutoConfiguration</span></td><td><code>0997ba8e4ec92173</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.aop.AopAutoConfiguration.ClassProxyingConfiguration</span></td><td><code>84266ebb03bd9607</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration</span></td><td><code>b56e8303fd6b83d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration.CacheConfigurationImportSelector</span></td><td><code>824de6f41ed6b619</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheCondition</span></td><td><code>f4f17679dffcb05a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheConfigurations</span></td><td><code>6c87da8748a739c4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.cache.CacheType</span></td><td><code>b51ac196ee8fbee3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition</span></td><td><code>817ba2771ca38d04</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition.MemberConditions</span></td><td><code>a9d70224dd968716</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition.MemberMatchOutcomes</span></td><td><code>93898dca44a8da8a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AbstractNestedCondition.MemberOutcomes</span></td><td><code>ceed40f192e1da18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AllNestedConditions</span></td><td><code>5beb3684b0730349</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.AnyNestedCondition</span></td><td><code>1e4861eb7edb9912</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport</span></td><td><code>973774fd23577d0e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.AncestorsMatchedCondition</span></td><td><code>842958adf049d3fc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.ConditionAndOutcome</span></td><td><code>1fd584f82dcc1881</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReport.ConditionAndOutcomes</span></td><td><code>18e1602b8e29dd97</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionEvaluationReportAutoConfigurationImportListener</span></td><td><code>3e57667261680db7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage</span></td><td><code>de5324aa1ae1a736</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Builder</span></td><td><code>08536c6f61eaa9d3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.ItemsBuilder</span></td><td><code>724896d26176a3ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Style</span></td><td><code>132d23de9c3427d4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Style.1</span></td><td><code>092ae9b0295e409e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionMessage.Style.2</span></td><td><code>96cf309af7ed4b43</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionOutcome</span></td><td><code>9fac0bda98adbd34</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type</span></td><td><code>4e9fb50e43f250ea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition</span></td><td><code>d2672ed53298327e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.ClassNameFilter</span></td><td><code>d286ed38ade616a2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.ClassNameFilter.1</span></td><td><code>75e626c24a219db6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.FilteringSpringBootCondition.ClassNameFilter.2</span></td><td><code>6de3cea5919213ae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.NoneNestedConditions</span></td><td><code>96f55146bdef4f99</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition</span></td><td><code>ef0993b32e4cea3a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition.MatchResult</span></td><td><code>9fa37ba334a695ef</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition.SingleCandidateSpec</span></td><td><code>fda6b16dc99108ef</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnBeanCondition.Spec</span></td><td><code>9318310bee0f681a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnClassCondition</span></td><td><code>06f11b46b59e12da</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnClassCondition.StandardOutcomesResolver</span></td><td><code>e369542fe1f288dc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnClassCondition.ThreadedOutcomesResolver</span></td><td><code>14cefbf233121629</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnCloudPlatformCondition</span></td><td><code>e979e6b454562c5d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnPropertyCondition</span></td><td><code>bd3931e6dcc4a6ec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnPropertyCondition.Spec</span></td><td><code>6d59c15f11aeeb43</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnResourceCondition</span></td><td><code>429842a1e64f031b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnThreadingCondition</span></td><td><code>80d6e2fcc965d6d6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnWarDeploymentCondition</span></td><td><code>68bc2b433064995f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition</span></td><td><code>1ac03105d01e8ba4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.OnWebApplicationCondition.1</span></td><td><code>c15087c71a8e635f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.SearchStrategy</span></td><td><code>647e89cbece9dfe0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.condition.SpringBootCondition</span></td><td><code>8f72881e3739c8c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration</span></td><td><code>beb575576e8c8a30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.LifecycleAutoConfiguration</span></td><td><code>adb767bcc54fa39e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.LifecycleProperties</span></td><td><code>e39f7e02cb175a66</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration.ResourceBundleCondition</span></td><td><code>77e66e7179c22334</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration</span></td><td><code>dc6cdcfdf448b0a3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializerDatabaseInitializerDetector</span></td><td><code>7a0571f22a3359cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.freemarker.FreeMarkerTemplateAvailabilityProvider</span></td><td><code>107e0cfe6543fbf3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAvailabilityProvider</span></td><td><code>e589843cb601caff</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.ConditionalOnPreferredJsonMapper.JsonMapper</span></td><td><code>50e88bd639f3bcf7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConverters</span></td><td><code>c0239aefb4de8a99</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConverters.1</span></td><td><code>fb1bb7edb2ab375a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration</span></td><td><code>cd3517a680fe0644</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.NotReactiveWebApplicationCondition</span></td><td><code>4d286e4c5ed23eec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.StringHttpMessageConverterConfiguration</span></td><td><code>8678b719ef300cd3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration</span></td><td><code>ce5c67f5dea47b53</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.JacksonHttpMessageConvertersConfiguration.MappingJackson2HttpMessageConverterConfiguration</span></td><td><code>d69ad252b2e23072</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.OnPreferredJsonMapperCondition</span></td><td><code>bf5e70753aba1371</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.AbstractHttpClientProperties</span></td><td><code>ad471f2932b7f36f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.AbstractHttpClientProperties.Ssl</span></td><td><code>903381a8ac9b1efb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.AbstractHttpRequestFactoryProperties</span></td><td><code>8ad18618ed43027d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.ClientHttpRequestFactories</span></td><td><code>7bb5d144da5e614f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.HttpClientAutoConfiguration</span></td><td><code>d45175083292e2ba</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.HttpClientProperties</span></td><td><code>669eb2edd5203794</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.http.client.NotReactiveWebApplicationCondition</span></td><td><code>71234ef1e4957aa0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration</span></td><td><code>669c1cd0de1d7269</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoAutoConfiguration.GitResourceAvailableCondition</span></td><td><code>460085765fe709d8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoProperties</span></td><td><code>d9bd098d4f19a25f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoProperties.Build</span></td><td><code>45efb079d7d6c4f9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.info.ProjectInfoProperties.Git</span></td><td><code>6dc49007313f0822</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.integration.IntegrationPropertiesEnvironmentPostProcessor</span></td><td><code>fb32de23d8bba1e4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration</span></td><td><code>c5b7c37c349587c7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.Jackson2ObjectMapperBuilderCustomizerConfiguration</span></td><td><code>30858bf08e63f68e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.Jackson2ObjectMapperBuilderCustomizerConfiguration.StandardJackson2ObjectMapperBuilderCustomizer</span></td><td><code>67c46e65f4e2d68e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.JacksonMixinConfiguration</span></td><td><code>2cf75d58ad144dee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.JacksonObjectMapperBuilderConfiguration</span></td><td><code>c62cbacea2524770</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.JacksonObjectMapperConfiguration</span></td><td><code>4ec704b6c523fe97</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration.ParameterNamesModuleConfiguration</span></td><td><code>72178445c33e8e52</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonProperties</span></td><td><code>1f4861a605123097</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.jackson.JacksonProperties.Datatype</span></td><td><code>0eee981fc84fd84c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLogger</span></td><td><code>61793fd37710b86a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener</span></td><td><code>ae4c8aca2765047e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener.ConditionEvaluationReportListener</span></td><td><code>d3156af08b0b3e5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.mustache.MustacheTemplateAvailabilityProvider</span></td><td><code>0ac59c0ca49164af</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.security.DefaultWebSecurityCondition</span></td><td><code>31622199861a153e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration</span></td><td><code>cd0a30da1a7db584</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration.SqlInitializationModeCondition</span></td><td><code>28599d9ad92f7dc5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.sql.init.SqlInitializationProperties</span></td><td><code>f7374c87c4087a3e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.FileWatcher</span></td><td><code>6057510748147976</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration</span></td><td><code>42dfc31352872f18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslProperties</span></td><td><code>a233dc74a0eb2fc7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslProperties.Bundles</span></td><td><code>e87589568d1143a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslProperties.Bundles.Watch</span></td><td><code>223650ef8d32f035</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslProperties.Bundles.Watch.File</span></td><td><code>8dd53b548a92703e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.ssl.SslPropertiesBundleRegistrar</span></td><td><code>926efe30a6fa3749</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration</span></td><td><code>9c386369119504ba</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties</span></td><td><code>6ded059e9c35f491</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Mode</span></td><td><code>7900afd4446766ea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Pool</span></td><td><code>1c9209596bb23fae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Pool.Shutdown</span></td><td><code>2718acce68359179</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Shutdown</span></td><td><code>f068c4f8587c728a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutionProperties.Simple</span></td><td><code>ada2c0d1d7435497</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.AsyncConfigurerConfiguration</span></td><td><code>b1169e48eb916de1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.AsyncConfigurerConfiguration.1</span></td><td><code>789c3df4c2ce8e18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.BootstrapExecutorConfiguration</span></td><td><code>baf47a6f0606a4e3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.OnExecutorCondition</span></td><td><code>9c61a0fd965b85a2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.SimpleAsyncTaskExecutorBuilderConfiguration</span></td><td><code>6dd7d91ac1eea167</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.TaskExecutorConfiguration</span></td><td><code>267a3be86b75762d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.ThreadPoolTaskExecutorBuilderConfiguration</span></td><td><code>f971e2a4af890750</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingAutoConfiguration</span></td><td><code>275c1a51eec3050a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingConfigurations.SimpleAsyncTaskSchedulerBuilderConfiguration</span></td><td><code>5e2ee7ff0c170e46</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingConfigurations.ThreadPoolTaskSchedulerBuilderConfiguration</span></td><td><code>37639da28e5ce9f4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties</span></td><td><code>05ef9890ac4bbcfc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties.Pool</span></td><td><code>5f43c9e810e3c366</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties.Shutdown</span></td><td><code>047fad834070c900</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.task.TaskSchedulingProperties.Simple</span></td><td><code>3c888f98b1725f77</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.template.PathBasedTemplateAvailabilityProvider</span></td><td><code>c561be71ba36ff4b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.template.TemplateAvailabilityProviders</span></td><td><code>a820e443b94284c7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.template.TemplateAvailabilityProviders.1</span></td><td><code>348d8ad8fc02b5a1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.template.TemplateAvailabilityProviders.NoTemplateAvailabilityProvider</span></td><td><code>93b7562bbed15fdd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thread.Threading</span></td><td><code>3e8be679fc0d8809</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thread.Threading.1</span></td><td><code>151d785baf67fccd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thread.Threading.2</span></td><td><code>b88bee1515cfb75d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.thymeleaf.ThymeleafTemplateAvailabilityProvider</span></td><td><code>0a55ed8b1d8b7739</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ErrorProperties</span></td><td><code>f3ad7a0ba2795a18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ErrorProperties.IncludeAttribute</span></td><td><code>c73e6108ad5c77f3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ErrorProperties.Whitelabel</span></td><td><code>265ef9530d919125</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.OnEnabledResourceChainCondition</span></td><td><code>da3c646695d1ad44</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties</span></td><td><code>ec25554c6723d687</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Jetty</span></td><td><code>213b526e64b3a73f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Jetty.Accesslog</span></td><td><code>edce1a38918e53dc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Jetty.Accesslog.Format</span></td><td><code>a5239a6722067f72</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Jetty.Threads</span></td><td><code>7ee453382fc1432b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Netty</span></td><td><code>dbea8157ceb1cbb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Reactive</span></td><td><code>bb0478f27b1da376</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Reactive.Session</span></td><td><code>949f2ebc47c35bfb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Servlet</span></td><td><code>fd88e08da731bc6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat</span></td><td><code>4eb4011d6014d498</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Accesslog</span></td><td><code>dda05de3b30ecead</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Mbeanregistry</span></td><td><code>053eb46ea2301457</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Remoteip</span></td><td><code>2f5d619755d047ae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Resource</span></td><td><code>dd4970e230f1fb70</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.Threads</span></td><td><code>9a07efc5e700305e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Tomcat.UseApr</span></td><td><code>b7a4f53497f0ca52</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Undertow</span></td><td><code>655ff6ec3def3b91</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Undertow.Accesslog</span></td><td><code>ec8eca8a00219408</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Undertow.Options</span></td><td><code>dbe3b81d3b959d1f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.ServerProperties.Undertow.Threads</span></td><td><code>95f4bab48f4e23bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties</span></td><td><code>c0d705dd89803fe2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.LocaleResolver</span></td><td><code>a5dcbdb7e4302790</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources</span></td><td><code>2b56055ed9ba88ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Cache</span></td><td><code>8a9871e8ba3d7951</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Cache.Cachecontrol</span></td><td><code>7bc70b3e02f87082</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Chain</span></td><td><code>10a035acbaeafc3e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Chain.Strategy</span></td><td><code>0274a896ea05ec39</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Chain.Strategy.Content</span></td><td><code>1c7ce9d025befe30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.WebProperties.Resources.Chain.Strategy.Fixed</span></td><td><code>d25a2221a3b68f5f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.AutoConfiguredRestClientSsl</span></td><td><code>5a834f8b83ee94a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.HttpMessageConvertersRestClientCustomizer</span></td><td><code>9bdf71ff586dbc21</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.NotReactiveWebApplicationCondition</span></td><td><code>5065ebe5e5da6aae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.NotReactiveWebApplicationOrVirtualThreadsExecutorEnabledCondition</span></td><td><code>55aa95afa574482a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration</span></td><td><code>07cfec2e9d4bceea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.RestClientBuilderConfigurer</span></td><td><code>03e1434e08ae3a1d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration</span></td><td><code>a13d835b9a5231f9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.format.DateTimeFormatters</span></td><td><code>f2a1522610921891</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.format.WebConversionService</span></td><td><code>d398d3e72a7f45c7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration</span></td><td><code>7135e858af7ea522</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DefaultDispatcherServletCondition</span></td><td><code>2810a1a1cf06ac57</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DispatcherServletConfiguration</span></td><td><code>f8efeafd94c5a123</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DispatcherServletRegistrationCondition</span></td><td><code>02239c42b4a6d09f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration.DispatcherServletRegistrationConfiguration</span></td><td><code>4b57cc9a91b655e9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath</span></td><td><code>20f6d213e8ee45ad</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.DispatcherServletRegistrationBean</span></td><td><code>629bdad515995bbe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration</span></td><td><code>e688b8e4ee0a1aaa</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.HttpEncodingAutoConfiguration.LocaleCharsetMappingsCustomizer</span></td><td><code>b18fadbe131f9156</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.JspTemplateAvailabilityProvider</span></td><td><code>756f4bca488b2341</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration</span></td><td><code>bfb3b7bc6be9319e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.MultipartProperties</span></td><td><code>729f2eb526ff1364</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration</span></td><td><code>46acba871cb2518c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration.BeanPostProcessorsRegistrar</span></td><td><code>2f00d56d13270c39</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration.EmbeddedTomcat</span></td><td><code>87452cc4db1a2d82</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryCustomizer</span></td><td><code>639a473943a44b79</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.TomcatServletWebServerFactoryCustomizer</span></td><td><code>5dbde47264e62396</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.TomcatServletWebServerFactoryCustomizer.1</span></td><td><code>d19dfe69492c49d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration</span></td><td><code>a9afe385482601cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.EnableWebMvcConfiguration</span></td><td><code>bb4e7dcab434e983</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter</span></td><td><code>8e1246e202f251be</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties</span></td><td><code>bde12a3aa1dbdd5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Async</span></td><td><code>4a9df9f272681796</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Contentnegotiation</span></td><td><code>d411bd94188e291e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Format</span></td><td><code>ac684fcc006a1bb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.MatchingStrategy</span></td><td><code>a154c6208c4d1eec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Pathmatch</span></td><td><code>b2128a7ebf5eda01</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Problemdetails</span></td><td><code>62d37beab1ad8482</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.Servlet</span></td><td><code>7097235dd8bb630d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WebMvcProperties.View</span></td><td><code>0a196bb11bc2759a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WelcomePage</span></td><td><code>a11d1f950e4541d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WelcomePageHandlerMapping</span></td><td><code>222137fd242f3ebe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.WelcomePageNotAcceptableHandlerMapping</span></td><td><code>0e4346818b01b404</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.AbstractErrorController</span></td><td><code>5c265a1c73915f5d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController</span></td><td><code>66e77a010dfe741e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.DefaultErrorViewResolver</span></td><td><code>e1dfd6c5c2c19795</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration</span></td><td><code>909b3dd682f38709</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.DefaultErrorViewResolverConfiguration</span></td><td><code>39f76d0df15a4df8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.ErrorPageCustomizer</span></td><td><code>6b9ab43ef54b5462</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.ErrorTemplateMissingCondition</span></td><td><code>de0861d6e1d27da4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.PreserveErrorControllerTargetClassPostProcessor</span></td><td><code>3bce9b4f0d162fec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.StaticView</span></td><td><code>4afba41a6554209a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration.WhitelabelErrorViewConfiguration</span></td><td><code>cc9d861453d0391e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.websocket.servlet.TomcatWebSocketServletWebServerCustomizer</span></td><td><code>2e01f480a908dbb2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration</span></td><td><code>951c9585f82f3621</code></td></tr><tr><td><span class="el_class">org.springframework.boot.autoconfigure.websocket.servlet.WebSocketServletAutoConfiguration.TomcatWebSocketConfiguration</span></td><td><code>b2341b649634b8f7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.ApplicationAvailabilityBean</span></td><td><code>6c129ea0a54ad19b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.AvailabilityChangeEvent</span></td><td><code>cb61f36beda58bb0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.LivenessState</span></td><td><code>6a55cf1387dbd503</code></td></tr><tr><td><span class="el_class">org.springframework.boot.availability.ReadinessState</span></td><td><code>58034c0032c5906b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.builder.ParentContextCloserApplicationListener</span></td><td><code>bc0f14f8d12f46cd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor</span></td><td><code>14bda110560501f6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform</span></td><td><code>891a0d4268ce7022</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.1</span></td><td><code>63004af9531502bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.2</span></td><td><code>6dac6be7aa9fddb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.3</span></td><td><code>24bd8eb0b10d11fc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.4</span></td><td><code>367a684dde57aa35</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.5</span></td><td><code>4d7ad8bbdee2b58a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.6</span></td><td><code>688e726437b1cede</code></td></tr><tr><td><span class="el_class">org.springframework.boot.cloud.CloudPlatform.7</span></td><td><code>9b3795c89ca001c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer</span></td><td><code>7ad07a9fee1f2273</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer.ComponentScanPackageCheck</span></td><td><code>6126ab97fd3178d5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer.ConfigurationWarningsPostProcessor</span></td><td><code>0b1f744143e8d9f1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ContextIdApplicationContextInitializer</span></td><td><code>11911d6d42f13e67</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.ContextIdApplicationContextInitializer.ContextId</span></td><td><code>15890a27a7cc84ad</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.FileEncodingApplicationListener</span></td><td><code>d0baf011fa99e823</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.TypeExcludeFilter</span></td><td><code>b4eed95da5b806c4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.annotation.ImportCandidates</span></td><td><code>cee7c1cc6bb1cd12</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.AnsiOutputApplicationListener</span></td><td><code>ec0c64b41f513b06</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData</span></td><td><code>40abf2f3601a885e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.AlwaysPropertySourceOptions</span></td><td><code>9ada25c7f75ecab3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.Option</span></td><td><code>b7daba09c8ad34fe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.Options</span></td><td><code>c08530a47e55c316</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigData.PropertySourceOptions</span></td><td><code>dd1855f2d016b0ea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataActivationContext</span></td><td><code>6e883c1ce11dd99e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironment</span></td><td><code>b6273263c5d0ee43</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor</span></td><td><code>75eabd2b1c3efd91</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor.ContributorIterator</span></td><td><code>05d92e44b14aae7e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor.ImportPhase</span></td><td><code>629b0a95892bc3d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributor.Kind</span></td><td><code>393ffc692f765197</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributorPlaceholdersResolver</span></td><td><code>fdd6ee9d3bdfc6e8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors</span></td><td><code>686652c8150f44ec</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.BinderOption</span></td><td><code>81044c5a6cbea247</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.ContributorConfigDataLocationResolverContext</span></td><td><code>7e1f14f7fbe81cc8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.ContributorDataLoaderContext</span></td><td><code>e68a12eb418c917b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentContributors.InactiveSourceChecker</span></td><td><code>59f0be1f93883fd3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor</span></td><td><code>b8e3ed1436a2e874</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentUpdateListener</span></td><td><code>16b67e91fee787c9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataEnvironmentUpdateListener.1</span></td><td><code>0b3e030bf8e7f0e5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataImporter</span></td><td><code>92d6fca8e117c8bb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLoader</span></td><td><code>ab5a87d543c42212</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLoaders</span></td><td><code>6903efd06a753dbb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLocation</span></td><td><code>990a5bdb14ac5cdd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLocationBindHandler</span></td><td><code>f21e70110a176fcc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataLocationResolvers</span></td><td><code>95523125dec7895d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataNotFoundAction</span></td><td><code>a5d86e60b3a63279</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataNotFoundAction.1</span></td><td><code>704bb3f1383b061d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataNotFoundAction.2</span></td><td><code>89a0b0e0309f92d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataProperties</span></td><td><code>ffd64fe49ddc840a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataResolutionResult</span></td><td><code>98b3371dfaf4d39d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataResource</span></td><td><code>9062c7a148798454</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigDataResourceNotFoundException</span></td><td><code>ad9813dca44a406c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigTreeConfigDataLoader</span></td><td><code>7a3361ece8901ad5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ConfigTreeConfigDataLocationResolver</span></td><td><code>973d2bd7a6aea3a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.InvalidConfigDataPropertyException</span></td><td><code>6eabc8029b2d0a1e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.LocationResourceLoader</span></td><td><code>40df8bf8338e4579</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.LocationResourceLoader.ResourceType</span></td><td><code>83a19cfca5bbcdfb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.Profiles</span></td><td><code>9323c1b5c4b01ca9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.Profiles.Type</span></td><td><code>4bfbd695364ad709</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.ProfilesValidator</span></td><td><code>b532bc038997ad87</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataLoader</span></td><td><code>0de34bd274d13aa0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataLocationResolver</span></td><td><code>c8dfc52d959ed40c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataReference</span></td><td><code>796db020d93a948e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.StandardConfigDataResource</span></td><td><code>0fb3621ff96350f0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.SystemEnvironmentConfigDataLoader</span></td><td><code>06d115d0241794d9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.config.SystemEnvironmentConfigDataLocationResolver</span></td><td><code>a0f01b0ec6a9d3ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationContextInitializedEvent</span></td><td><code>aa45162d42e4a105</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent</span></td><td><code>4115987fedc4b24f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationPreparedEvent</span></td><td><code>feeb1d3d2de3528f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationReadyEvent</span></td><td><code>7905a0af04155507</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationStartedEvent</span></td><td><code>7e00ed39979f6ae9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.ApplicationStartingEvent</span></td><td><code>9cb8c2863cb35846</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.EventPublishingRunListener</span></td><td><code>6e495382d4d076a0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.event.SpringApplicationEvent</span></td><td><code>2585f1c827933614</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.logging.LoggingApplicationListener</span></td><td><code>94ba216e487dc3da</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.logging.LoggingApplicationListener.Lifecycle</span></td><td><code>dc32b8d73f88d655</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.BindMethodAttribute</span></td><td><code>26326db649cf9ac9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.BoundConfigurationProperties</span></td><td><code>2db9a65f1cae5fe9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBean</span></td><td><code>c160bb2179c32547</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar</span></td><td><code>2695ba0fe0bdc317</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBinder</span></td><td><code>b322f253646bd928</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBinder.ConfigurationPropertiesBindHandler</span></td><td><code>36404796a79d6bde</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBinder.ConfigurationPropertiesBinderFactory</span></td><td><code>7fb3284398ea2a64</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor</span></td><td><code>7ddfb6732a143a0f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesCharSequenceToObjectConverter</span></td><td><code>da94d2f67d3ad81f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator</span></td><td><code>d21703ee55186d4f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.ConversionServiceDeducer</span></td><td><code>03d387f82c8b0481</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar</span></td><td><code>a85e7383b8da579a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertyMapper</span></td><td><code>1935b86fa7221f6a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertyMapper.NullPointerExceptionSafeSupplier</span></td><td><code>d6a931abdc2c66ee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertyMapper.Source</span></td><td><code>f16bfeee92a52f30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.PropertySourcesDeducer</span></td><td><code>1681077cefa8da40</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.AbstractBindHandler</span></td><td><code>7bce870e5cee66a4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.AggregateBinder</span></td><td><code>913f52383febba83</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.AggregateBinder.AggregateSupplier</span></td><td><code>c922e8a1a12f13ee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ArrayBinder</span></td><td><code>996c4293d821bfa9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConstructorProvider</span></td><td><code>e5e6f63a208f0704</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter</span></td><td><code>8fb7b597ee8c423d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter.ResolvableTypeDescriptor</span></td><td><code>323e0b3ad1809eee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter.TypeConverterConversionService</span></td><td><code>17ac4b6b5a299889</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindConverter.TypeConverterConverter</span></td><td><code>556d290fd2340e3b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindHandler</span></td><td><code>05956f60a1c20c5f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindHandler.1</span></td><td><code>6f9c1907b224fb33</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindMethod</span></td><td><code>e42b748f4b5f98fb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BindResult</span></td><td><code>6ad21e71d10363cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Bindable</span></td><td><code>0a32441054f83bb5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Bindable.BindRestriction</span></td><td><code>3bf64cc53e7b7470</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Binder</span></td><td><code>05f890dfd74248cd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.Binder.Context</span></td><td><code>a336d4e18530e8ae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.BoundPropertiesTrackingBindHandler</span></td><td><code>0821c9766787af15</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.CollectionBinder</span></td><td><code>bada0940c13c2357</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.DataObjectPropertyName</span></td><td><code>84fe4975400834b6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider</span></td><td><code>048579cbb4d1f272</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.DefaultBindConstructorProvider.Constructors</span></td><td><code>821c43a31ebf0c84</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.IndexedElementsBinder</span></td><td><code>4e16bc2ab56fec3e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.IndexedElementsBinder.IndexedCollectionSupplier</span></td><td><code>77b0c738746066d3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder</span></td><td><code>e435f0f2eb1e27a0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.Bean</span></td><td><code>49c416ae6f9dc102</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.Bean.CacheKey</span></td><td><code>cf29c912e8a4a5b2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.BeanProperties</span></td><td><code>d725f31ecd38cb39</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.BeanProperty</span></td><td><code>83f947f5a8024b70</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.JavaBeanBinder.BeanSupplier</span></td><td><code>f08bc0c33552dac8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.MapBinder</span></td><td><code>ce57ab494bb5923c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.MapBinder.EntryBinder</span></td><td><code>36de54fe8fd3dec7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.PlaceholdersResolver</span></td><td><code>696d7b39b3c4d959</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.PropertySourcesPlaceholdersResolver</span></td><td><code>336a855cfe85a01e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder</span></td><td><code>c2686329b35c5eee</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.ConstructorParameter</span></td><td><code>b384bbbb476a3274</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.DefaultValueObject</span></td><td><code>b8455f50cd430d06</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.Discoverer</span></td><td><code>327230395761e218</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.ValueObject</span></td><td><code>5c992e39d4d5fa2d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.ValueObjectBinder.ValueObject.CacheKey</span></td><td><code>818d1a309a7d9fd8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.handler.IgnoreTopLevelConverterNotFoundBindHandler</span></td><td><code>06aa8baed6d167e7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.bind.handler.NoUnboundElementsBindHandler</span></td><td><code>17e8c4a6f3f7e3df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.CachingConfigurationPropertySource</span></td><td><code>9584eab6ef02d841</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationProperty</span></td><td><code>64b9edc0cb1ab771</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyCaching</span></td><td><code>5b9e013257acea8e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName</span></td><td><code>8dc16a4830c8337d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.1</span></td><td><code>d857791d129fa43f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.ElementType</span></td><td><code>9eacf88e5dc7f129</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.Elements</span></td><td><code>91c711dda579da8b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.ElementsParser</span></td><td><code>acb9d95c2d2d2b66</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.Form</span></td><td><code>7851489c2696b21e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyName.ToStringFormat</span></td><td><code>473a11feb41088da</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySource</span></td><td><code>feb58c28122fc73e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySources</span></td><td><code>b0c87b6f052ad05c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesCaching</span></td><td><code>0b3db6600ad6ced9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesCaching.CacheOverrides</span></td><td><code>825bfe2dfe46607b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertyResolver</span></td><td><code>ac75219ed06942f4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertyResolver.DefaultResolver</span></td><td><code>ab812d5695ef6f15</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertySourcesPropertySource</span></td><td><code>490b0c9fc91212d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.ConfigurationPropertyState</span></td><td><code>e594f57fa5c2ec3d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.DefaultPropertyMapper</span></td><td><code>c1ee41c9989f4df9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.DefaultPropertyMapper.LastMapping</span></td><td><code>90617b10f68ce700</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.FilteredConfigurationPropertiesSource</span></td><td><code>d8186a8fe0102145</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.FilteredIterableConfigurationPropertiesSource</span></td><td><code>15207ee10ac4da76</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.IterableConfigurationPropertySource</span></td><td><code>dd15ddd797ad2a6b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.MapConfigurationPropertySource</span></td><td><code>1ce33f9b4aa0f7a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.MutuallyExclusiveConfigurationPropertiesException</span></td><td><code>e1baef8bb29647e1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.PropertyMapper</span></td><td><code>0be0213eb293fddb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SoftReferenceConfigurationPropertyCache</span></td><td><code>c73d62097c2197f4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SoftReferenceConfigurationPropertyCache.ActiveCacheOverride</span></td><td><code>3f7d4a9e328f6e59</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringConfigurationPropertySource</span></td><td><code>54c29b2f35b17983</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringConfigurationPropertySources</span></td><td><code>27e20e1b9b1f8a0e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringConfigurationPropertySources.SourcesIterator</span></td><td><code>e5a15b0c6fccbd0f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource</span></td><td><code>9584a79b94f725bc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource.Cache</span></td><td><code>d78e1fde548eed66</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource.Cache.Data</span></td><td><code>710bdf1730bb4ecb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SpringIterableConfigurationPropertySource.ConfigurationPropertyNamesIterator</span></td><td><code>894ebf1a4d56bf53</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.SystemEnvironmentPropertyMapper</span></td><td><code>862edc8c26d9cc30</code></td></tr><tr><td><span class="el_class">org.springframework.boot.context.properties.source.UnboundElementsSourceFilter</span></td><td><code>c9f412e6c4580972</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.ApplicationConversionService</span></td><td><code>c7cf15aa4bd9a1b5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.ArrayToDelimitedStringConverter</span></td><td><code>f800e4a819a44399</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.CharArrayFormatter</span></td><td><code>256b25307f202cd2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.CharSequenceToObjectConverter</span></td><td><code>2d1de97ec1eb2d24</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.CollectionToDelimitedStringConverter</span></td><td><code>93c91aef260ef064</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DelimitedStringToArrayConverter</span></td><td><code>debf19f30633eb23</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DelimitedStringToCollectionConverter</span></td><td><code>9293241d90fc01d7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DurationToNumberConverter</span></td><td><code>f4eea37ba4014bd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.DurationToStringConverter</span></td><td><code>eb1d30806d12368b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.InetAddressFormatter</span></td><td><code>e82071252b43257e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.InputStreamSourceToByteArrayConverter</span></td><td><code>c204b4e6477fbeb5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.IsoOffsetFormatter</span></td><td><code>ab74230de5e10821</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.LenientBooleanToEnumConverterFactory</span></td><td><code>f3ae6a00dcba2e54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.LenientObjectToEnumConverterFactory</span></td><td><code>5bc1bdabc27c8f89</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.LenientStringToEnumConverterFactory</span></td><td><code>e3a45cfb069e1c99</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.NumberToDataSizeConverter</span></td><td><code>2d70574a262a692e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.NumberToDurationConverter</span></td><td><code>87dcc75d61bea269</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.NumberToPeriodConverter</span></td><td><code>8ce5113c43b9fe11</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.PeriodToStringConverter</span></td><td><code>f8a16a79cc1415e6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToDataSizeConverter</span></td><td><code>f8a8adbb1de57ebc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToDurationConverter</span></td><td><code>0ad73980bf176d36</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToFileConverter</span></td><td><code>e4f3969bb5332337</code></td></tr><tr><td><span class="el_class">org.springframework.boot.convert.StringToPeriodConverter</span></td><td><code>c7e437633ed6bbd2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.EnvironmentPostProcessorApplicationListener</span></td><td><code>abee60c7f94d2baf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.EnvironmentPostProcessorsFactory</span></td><td><code>ecad713cb9743653</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedMapPropertySource</span></td><td><code>1526025012be12c0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedPropertiesLoader</span></td><td><code>bcce76d1ab5e8e7f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedPropertiesLoader.CharacterReader</span></td><td><code>cf809278fafdbed3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.OriginTrackedPropertiesLoader.Document</span></td><td><code>292ddaa942290d38</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.PropertiesPropertySourceLoader</span></td><td><code>6d46cb1fd06aaeed</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.RandomValuePropertySource</span></td><td><code>7df92a8c8a88fad9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.RandomValuePropertySourceEnvironmentPostProcessor</span></td><td><code>2e8ce1b488df1241</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SpringApplicationJsonEnvironmentPostProcessor</span></td><td><code>e8bdf1c4ba9e2e25</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SpringApplicationJsonEnvironmentPostProcessor.JsonPropertyValue</span></td><td><code>7158134e3a12de31</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SpringFactoriesEnvironmentPostProcessorsFactory</span></td><td><code>a9057a56716d6e5f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor</span></td><td><code>d5cc4cf4d87eeb18</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.SystemEnvironmentPropertySourceEnvironmentPostProcessor.OriginAwareSystemEnvironmentPropertySource</span></td><td><code>ab4732ab0310baa8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.env.YamlPropertySourceLoader</span></td><td><code>74e075f6dcad5b2d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.flyway.FlywayDatabaseInitializerDetector</span></td><td><code>2e4441728b46c2cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.AbstractClientHttpRequestFactoryBuilder</span></td><td><code>ace6feb0764bd77f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder</span></td><td><code>9430eeea783f2ad5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.ClientHttpRequestFactorySettings</span></td><td><code>06f16a20e2e4abae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.ClientHttpRequestFactorySettings.Redirects</span></td><td><code>c2327c0bcdeca799</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.Empty</span></td><td><code>914890ccdd6e94c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.HttpComponentsClientHttpRequestFactoryBuilder.Classes</span></td><td><code>3df7c1837baebbb2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.HttpRedirects</span></td><td><code>77bc34bf1ac4e943</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.JdkClientHttpRequestFactoryBuilder</span></td><td><code>d9a422378d99fc84</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.JdkClientHttpRequestFactoryBuilder.Classes</span></td><td><code>9982605db933c80b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.JdkHttpClientBuilder</span></td><td><code>be5f54a76d8f6070</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.JettyClientHttpRequestFactoryBuilder.Classes</span></td><td><code>a6c2d4f035a43669</code></td></tr><tr><td><span class="el_class">org.springframework.boot.http.client.ReactorClientHttpRequestFactoryBuilder.Classes</span></td><td><code>d7768fdab2f11716</code></td></tr><tr><td><span class="el_class">org.springframework.boot.info.SslInfo</span></td><td><code>1d6f55311a9b8f6f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.ApplicationResourceLoader</span></td><td><code>70696a5dd0109173</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.ApplicationResourceLoader.ProtocolResolvingResourceLoader</span></td><td><code>7c6062778d2c725e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.Base64ProtocolResolver</span></td><td><code>39015d98d0c1d6c8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.ClassPathResourceFilePathResolver</span></td><td><code>bdeeddc18653fa6e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.io.ProtocolResolverApplicationContextInitializer</span></td><td><code>6343356e4157152a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonComponentModule</span></td><td><code>7941f5b8ca0c0c25</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonMixinModule</span></td><td><code>72d39618ab99736c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonMixinModuleEntries</span></td><td><code>6dc4bca98bbdfc2d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonMixinModuleEntries.Builder</span></td><td><code>5f1a39bab7a89dfe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jackson.JsonMixinModuleEntries.JsonMixinComponentScanner</span></td><td><code>e98059e5936c71e8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.jdbc.init.DataSourceScriptDatabaseInitializerDetector</span></td><td><code>271d86a71af7dd54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.liquibase.LiquibaseDatabaseInitializerDetector</span></td><td><code>8205f7212c8584df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.AbstractLoggingSystem</span></td><td><code>c2260b9d41ff4da1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.AbstractLoggingSystem.LogLevels</span></td><td><code>3f25f528869c0432</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog</span></td><td><code>7ecf130d402f28ad</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog.Line</span></td><td><code>44433d364d4b4f2e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLog.Lines</span></td><td><code>937d1c4939fb65cc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DeferredLogs</span></td><td><code>35c11e71110b20fb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.DelegatingLoggingSystemFactory</span></td><td><code>8f72255d0775cd51</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LogFile</span></td><td><code>de26a526b039726f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LogLevel</span></td><td><code>fb641f6a6c2d05bf</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggerConfigurationComparator</span></td><td><code>3abe8778108f2d4a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggerGroup</span></td><td><code>19bc1d1726ecdd45</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggerGroups</span></td><td><code>60bb3b173020653e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingInitializationContext</span></td><td><code>7228c7f9d727ea05</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystem</span></td><td><code>8e11a6b08c4c3f3b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystemFactory</span></td><td><code>6db1520727073045</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystemProperties</span></td><td><code>304d11b096fdb1d3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.LoggingSystemProperty</span></td><td><code>3051ca9df3f7fc7f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.java.JavaLoggingSystem.Factory</span></td><td><code>a531d538ff7e7729</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.Factory</span></td><td><code>7a0703ee04cdd3f1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.ColorConverter</span></td><td><code>7f7e29dd836bb5f4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.DefaultLogbackConfiguration</span></td><td><code>15518e27fc161683</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.EnclosedInSquareBracketsConverter</span></td><td><code>b89ecb2ef6fce0a4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter</span></td><td><code>4ef002e4fe617e74</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackConfigurator</span></td><td><code>8623c888c461eeda</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystem</span></td><td><code>2d89ff8ef08ac3b7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystem.1</span></td><td><code>b2faab3073ac8316</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystem.Factory</span></td><td><code>eeca67019a164f8e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.LogbackLoggingSystemProperties</span></td><td><code>78acbce5f7f39b3b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.RollingPolicySystemProperty</span></td><td><code>522383e1376b4dab</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.RootLogLevelConfigurator</span></td><td><code>f395258742c62ae3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.logging.logback.SystemStatusListener</span></td><td><code>31fc5622fc9e5f33</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.Origin</span></td><td><code>d664adff8c9cda9e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginLookup</span></td><td><code>702ce5155c3f843e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginTrackedResource</span></td><td><code>e1d1f193ddedee52</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginTrackedValue</span></td><td><code>c571e8b04de5e95a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.OriginTrackedValue.OriginTrackedCharSequence</span></td><td><code>47fb531f63c4dad8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.PropertySourceOrigin</span></td><td><code>999b19578c5d15cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.TextResourceOrigin</span></td><td><code>7d64ef4e21bdce78</code></td></tr><tr><td><span class="el_class">org.springframework.boot.origin.TextResourceOrigin.Location</span></td><td><code>ff228570998c16d9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.orm.jpa.JpaDatabaseInitializerDetector</span></td><td><code>10cf3dfd445f8e4d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.r2dbc.init.R2dbcScriptDatabaseInitializerDetector</span></td><td><code>db93923b205898f2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.reactor.ReactorEnvironmentPostProcessor</span></td><td><code>d1a0764eaea7d6d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.rsocket.context.RSocketPortInfoApplicationContextInitializer</span></td><td><code>823d0c64ae4d12d6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.rsocket.context.RSocketPortInfoApplicationContextInitializer.Listener</span></td><td><code>5ec1540b60e6c3ae</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.DatabaseInitializationMode</span></td><td><code>54ea5cbe28372dbe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.AbstractBeansOfTypeDatabaseInitializerDetector</span></td><td><code>dcf48396a0bebcd6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.BeansOfTypeDetector</span></td><td><code>51333ac97c8c0eea</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer</span></td><td><code>82aaa3994562c4ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer.DependsOnDatabaseInitializationPostProcessor</span></td><td><code>88d680c09353f4b4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer.DependsOnDatabaseInitializationPostProcessor.InitializerBeanNames</span></td><td><code>6520b4bebc66535d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector</span></td><td><code>035ff519e10e73b9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.ssl.DefaultSslBundleRegistry</span></td><td><code>bd8b6db29b41d579</code></td></tr><tr><td><span class="el_class">org.springframework.boot.system.ApplicationHome</span></td><td><code>d562d333b2665499</code></td></tr><tr><td><span class="el_class">org.springframework.boot.system.ApplicationPid</span></td><td><code>c978d508dd144684</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.SimpleAsyncTaskExecutorBuilder</span></td><td><code>f656dbcedf7bfcdc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.SimpleAsyncTaskSchedulerBuilder</span></td><td><code>0c439ae7c3666a8c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.ThreadPoolTaskExecutorBuilder</span></td><td><code>5285fe29d2991a21</code></td></tr><tr><td><span class="el_class">org.springframework.boot.task.ThreadPoolTaskSchedulerBuilder</span></td><td><code>7a646f65d71c3e44</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory</span></td><td><code>43eb5a87f7dfa0e3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory.ApplicationFailureListener</span></td><td><code>f8b1b8040251813f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory.OnFailureConditionReportContextCustomizer</span></td><td><code>6d378bf942017915</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OverrideAutoConfigurationContextCustomizerFactory</span></td><td><code>782adc9a4e8d4000</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.OverrideAutoConfigurationContextCustomizerFactory.DisableAutoConfigurationContextCustomizer</span></td><td><code>0d13fe4bf647a76c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory</span></td><td><code>e366ea765a44b53e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory.DisableObservabilityContextCustomizer</span></td><td><code>f0ad41c2832b8350</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.AnnotationCustomizableTypeExcludeFilter</span></td><td><code>677548cb2a3e8906</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.AnnotationCustomizableTypeExcludeFilter.FilterType</span></td><td><code>b16fbc6f42c3f373</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.FilterAnnotations</span></td><td><code>7fd3be4fc624ee03</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.StandardAnnotationCustomizableTypeExcludeFilter</span></td><td><code>8fbbd1ea8d519975</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizer</span></td><td><code>6f275db19d34d23f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizer.1</span></td><td><code>67d370d455f26503</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizerFactory</span></td><td><code>219555f4958f8a54</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.AnnotationsPropertySource</span></td><td><code>a80de7e22cb4af6c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer</span></td><td><code>af9b0e4e55d37cb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer.PropertyMappingCheckBeanPostProcessor</span></td><td><code>5a61a1ea5b738bf8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizerFactory</span></td><td><code>c21bdd8667a46386</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.properties.SkipPropertyMapping</span></td><td><code>99be9d09cbd18ab5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener</span></td><td><code>0125a1e4e2d87f64</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener</span></td><td><code>94ea9e423e72e464</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcAutoConfiguration</span></td><td><code>92652968d89a1363</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcConfiguration</span></td><td><code>478699918aa48443</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcConfiguration.MockMvcDispatcherServletCustomizer</span></td><td><code>19267ddcbdf571fa</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrint</span></td><td><code>9421498b0cecc9db</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener</span></td><td><code>59cd6f8fe4c9d972</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.MockMvcTesterConfiguration</span></td><td><code>a737294f13307a43</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer</span></td><td><code>3d0a6783701e0395</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.DeferredLinesWriter</span></td><td><code>b13e4d56af1e7282</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.FilterRegistrationBeans</span></td><td><code>fa1674957b543f15</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.FilterRegistrationBeans.FilterRegistrationBeanAdapter</span></td><td><code>90d73b4cf433917a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.LinesWritingResultHandler</span></td><td><code>819d7f71c88b1330</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.LinesWritingResultHandler.LinesPrintingResultHandler</span></td><td><code>c714ae91b643e463</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.LinesWritingResultHandler.LinesPrintingResultHandler.Printer</span></td><td><code>5bc0d7b127003194</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.SpringBootMockMvcBuilderCustomizer.SystemLinesWriter</span></td><td><code>f2b21e15962336f9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer</span></td><td><code>9288623d89c5c20e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory</span></td><td><code>8fd7e5451b41c822</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverScope</span></td><td><code>99469c4012a7ffb8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener</span></td><td><code>e0310fe8bb20e9c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTestContextBootstrapper</span></td><td><code>81726052530ed957</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTypeExcludeFilter</span></td><td><code>49a347f3c66a70b5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener</span></td><td><code>b1d7b9a2001483dd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.AnnotatedClassFinder</span></td><td><code>a1a3f3816d9357c1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.AnnotatedClassFinder.Cache</span></td><td><code>d1563b4821e474b3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer</span></td><td><code>78522625fca318be</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer.ContextCustomizerKey</span></td><td><code>7879cc276f8da731</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer.ImportsCleanupPostProcessor</span></td><td><code>3533f0fb67f9234f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer.ImportsConfiguration</span></td><td><code>24c7d29340b05df1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizer.ImportsSelector</span></td><td><code>ad8d4f05a348cc27</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.ImportsContextCustomizerFactory</span></td><td><code>c76ff191ba02bb17</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader</span></td><td><code>6a111db339c5873b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.ContextCustomizerAdapter</span></td><td><code>53ddaeab2f4e4af6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.ContextLoaderHook</span></td><td><code>ac3c6522a7a4ffe3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.ContextLoaderHook.1</span></td><td><code>dd476ee0e66d41cb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.Mode</span></td><td><code>df8029012fa124f1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.PrepareEnvironmentListener</span></td><td><code>e0bbc8b9506d8872</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.WebConfigurer</span></td><td><code>c6bf20fab9bb767c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootContextLoader.WebConfigurer.DefensiveWebApplicationContextInitializer</span></td><td><code>041c2e341bf84285</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTest.UseMainMethod</span></td><td><code>806284d771af572e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTest.WebEnvironment</span></td><td><code>ae42f14fb6ffacfa</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTestAnnotation</span></td><td><code>d6364615be0be61d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.SpringBootTestContextBootstrapper</span></td><td><code>b5c198cb8c68f4fe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.ExcludeFilterApplicationContextInitializer</span></td><td><code>fffd49a47b07a6db</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer</span></td><td><code>157c0df80f48fb1e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizerFactory</span></td><td><code>509dc6c3a864c994</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.context.filter.TestTypeExcludeFilter</span></td><td><code>b7f0f97728f58898</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.graphql.tester.HttpGraphQlTesterContextCustomizerFactory</span></td><td><code>9e86d9afdba653cc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory</span></td><td><code>6b27bd651e15184a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory.DuplicateJsonObjectContextCustomizer</span></td><td><code>b2fc4eee80e3ee1a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.DefinitionsParser</span></td><td><code>007a1e594652f4a6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockReset</span></td><td><code>97aedbda9b6f5109</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoBeans</span></td><td><code>e3d184a86423dffc</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoContextCustomizer</span></td><td><code>a94a6a11d3f1c2bd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoContextCustomizerFactory</span></td><td><code>62f3b683e39490b4</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoPostProcessor</span></td><td><code>cfd54dad20a64bd8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoPostProcessor.SpyPostProcessor</span></td><td><code>56c98ebb59ba47ca</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener</span></td><td><code>91932632f0ddfd5a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.MockitoAnnotationCollection</span></td><td><code>b38f0f2110f076bd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener</span></td><td><code>63443a7dcc87337d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.mock.web.SpringBootMockServletContext</span></td><td><code>edb2ff1e9b1f611c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.util.TestPropertyValues</span></td><td><code>e46f7b1d5a0a9df8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.util.TestPropertyValues.Pair</span></td><td><code>1d474e79c5db354a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.util.TestPropertyValues.Type</span></td><td><code>251ad2ec5b927733</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.SpringBootTestRandomPortEnvironmentPostProcessor</span></td><td><code>e4d152aeac5c0622</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer</span></td><td><code>d065ecb7ba72d127</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.client.TestRestTemplateContextCustomizerFactory</span></td><td><code>6b9ce82869876eed</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.reactive.server.WebTestClientContextCustomizerFactory</span></td><td><code>3ee29d74588add08</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesBeanPostProcessor</span></td><td><code>55830050dc9f21a7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesContextCustomizerFactory</span></td><td><code>a23ba72e63bd5319</code></td></tr><tr><td><span class="el_class">org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesContextCustomizerFactory.DisableReactorResourceFactoryGlobalResourcesContextCustomizerCustomizer</span></td><td><code>72e87f49a57f09c0</code></td></tr><tr><td><span class="el_class">org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory</span></td><td><code>4e4be8559822fe3d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe</span></td><td><code>ba94f7532872dfcd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.Callback</span></td><td><code>5681021acaea87c9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.Callbacks</span></td><td><code>2e1235b29c14f827</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.GenericTypeFilter</span></td><td><code>43ad77137335d9bd</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.InvocationResult</span></td><td><code>d798148364d9e78f</code></td></tr><tr><td><span class="el_class">org.springframework.boot.util.LambdaSafe.LambdaSafeCallback</span></td><td><code>fef94945730469d2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.validation.beanvalidation.MethodValidationExcludeFilter</span></td><td><code>f5069cd3e79e2542</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.context.ServerPortInfoApplicationContextInitializer</span></td><td><code>f9bf82671b26f677</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.context.WebServerApplicationContext</span></td><td><code>5ddb16a21c9a5cef</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.embedded.tomcat.TldPatterns</span></td><td><code>5fae5c445f8e7d1a</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory</span></td><td><code>cac50b6a4e018b5b</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.reactive.context.FilteredReactiveWebContextResourceFilePathResolver</span></td><td><code>7a6f8fb5a2e9ce79</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContextFactory</span></td><td><code>cdb98a0754e624e5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.AbstractConfigurableWebServerFactory</span></td><td><code>2f732a33a1c677c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.Compression</span></td><td><code>76949840ebca81e8</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.Cookie</span></td><td><code>b96188d43dd8876c</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.ErrorPage</span></td><td><code>5c91b6260f2a5da6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.ErrorPageRegistrarBeanPostProcessor</span></td><td><code>863e411c5657a013</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.Http2</span></td><td><code>a2332ded6c232252</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.MimeMappings</span></td><td><code>8cad3d1eb42866f2</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.MimeMappings.DefaultMimeMappings</span></td><td><code>a23a54932c3a36c6</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.MimeMappings.LazyMimeMappingsCopy</span></td><td><code>3974624416994250</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.MimeMappings.Mapping</span></td><td><code>45a899e0ce667463</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.Shutdown</span></td><td><code>d305aaaffff2e7d5</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.server.WebServerFactoryCustomizerBeanPostProcessor</span></td><td><code>a59f55c4c90d392e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.AbstractFilterRegistrationBean</span></td><td><code>8a05df570456d240</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.DynamicRegistrationBean</span></td><td><code>4012e9761bea31c3</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.FilterRegistrationBean</span></td><td><code>e2683c4137876ed9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.MultipartConfigFactory</span></td><td><code>40d4bff1eed62db7</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.RegistrationBean</span></td><td><code>23a0f1d69d5a3442</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.ServletContextInitializerBeans</span></td><td><code>6f43c5c3e41eb8e1</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.ServletContextInitializerBeans.1</span></td><td><code>22854467d5fb56c9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.ServletContextInitializerBeans.Seen</span></td><td><code>395376d709077321</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.ServletRegistrationBean</span></td><td><code>0fb27429af42da06</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.context.ApplicationServletEnvironment</span></td><td><code>e272e384f6f3c027</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.context.ServletContextResourceFilePathResolver</span></td><td><code>6297006271dd90fb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.context.ServletWebServerApplicationContextFactory</span></td><td><code>f8d8fb6adfd8ca24</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.error.DefaultErrorAttributes</span></td><td><code>bf700ee88a2759df</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.filter.OrderedCharacterEncodingFilter</span></td><td><code>8101f91bfa6ad6ed</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.filter.OrderedFormContentFilter</span></td><td><code>8683b0d891398e10</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.filter.OrderedRequestContextFilter</span></td><td><code>235ec95210e5eef9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.AbstractServletWebServerFactory</span></td><td><code>0ef614dfd1137c08</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.DocumentRoot</span></td><td><code>735342eae420db5d</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Encoding</span></td><td><code>da8a79e773c3852e</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Encoding.Type</span></td><td><code>3e62d8b0e8000d73</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Jsp</span></td><td><code>972960598f4c7afe</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Session</span></td><td><code>a77fab40adf2efce</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.Session.Cookie</span></td><td><code>38405292980fe6a9</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.SessionStoreDirectory</span></td><td><code>851b814381275595</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.server.StaticResourceJars</span></td><td><code>839444fae3003bfb</code></td></tr><tr><td><span class="el_class">org.springframework.boot.web.servlet.support.ServletContextApplicationContextInitializer</span></td><td><code>9eea0568d1230cd2</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator</span></td><td><code>f8cbad5adde4effe</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator.ClassLoaderData</span></td><td><code>b278f2a305be8b74</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AbstractClassGenerator.Source</span></td><td><code>44b7e2d9b16f0a12</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.AsmApi</span></td><td><code>fdf9e5e0e23c9ef3</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter</span></td><td><code>d0dd058340d2034c</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.1</span></td><td><code>45aae3e94f94e74f</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.2</span></td><td><code>118f45da258133d5</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.3</span></td><td><code>d023e1876c784d25</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassEmitter.FieldInfo</span></td><td><code>764777d5ae1f3f43</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassInfo</span></td><td><code>caf674d51eaa8049</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassLoaderAwareGeneratorStrategy</span></td><td><code>15c2c57d960e3c7a</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassNameReader</span></td><td><code>167d2185cd3e0060</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassNameReader.1</span></td><td><code>421fcdda2d2fc2df</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassNameReader.EarlyExitException</span></td><td><code>8dc706ed9a28a46e</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ClassTransformer</span></td><td><code>83223051ca220521</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.CodeEmitter</span></td><td><code>9f76d609d30241f8</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.CodeEmitter.State</span></td><td><code>63de6f58fb20273d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.CollectionUtils</span></td><td><code>28849b006e692049</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.Constants</span></td><td><code>f1eb51bd9b6cdb9d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DebuggingClassWriter</span></td><td><code>61847aa847b59639</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DefaultGeneratorStrategy</span></td><td><code>263baa7d12abae86</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DefaultNamingPolicy</span></td><td><code>b0ab3a17d5c2f2b8</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.DuplicatesPredicate</span></td><td><code>5b757f199360e500</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils</span></td><td><code>0ecd9b816d9cb4b0</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.3</span></td><td><code>7634e63ffa7e1a0f</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.EmitUtils.ArrayDelimiters</span></td><td><code>73f6ba6091db58b0</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.Local</span></td><td><code>16b8ff3fcbf00f15</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.LocalVariablesSorter</span></td><td><code>1a654109c0a5cf7c</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.LocalVariablesSorter.State</span></td><td><code>df45b2dbc9144bdb</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodInfo</span></td><td><code>197ecdddbfc5f02e</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodInfoTransformer</span></td><td><code>ccc3f8615baacc2b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodWrapper</span></td><td><code>6b70147c94944fa3</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.MethodWrapper.MethodWrapperKey</span></td><td><code>a363bb8983fbbcbc</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils</span></td><td><code>cf1ca650cd881ae2</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.3</span></td><td><code>152217d56b832a93</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.ReflectUtils.4</span></td><td><code>5986e30b26c9c052</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.RejectModifierPredicate</span></td><td><code>544962bd46d62420</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.Signature</span></td><td><code>3b345092b92692bc</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.SpringNamingPolicy</span></td><td><code>a46f428c01075f64</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.TypeUtils</span></td><td><code>9d9e505238f3ae76</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.VisibilityPredicate</span></td><td><code>43376478ce654efb</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.WeakCacheKey</span></td><td><code>6b2cedf96bca5cfc</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.core.internal.LoadingCache</span></td><td><code>d6c01554badd2bbb</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.BridgeMethodResolver</span></td><td><code>0e2167337556055b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.CallbackInfo</span></td><td><code>bdb24bc543166ff9</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.DispatcherGenerator</span></td><td><code>cac7fdb23452dd4d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer</span></td><td><code>f5530d24431571c9</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.4</span></td><td><code>89e1e07499f55f53</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.EnhancerFactoryData</span></td><td><code>2fd50c88c0d8a873</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.Enhancer.EnhancerKey</span></td><td><code>394e4c248eaa5b61</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.FixedValueGenerator</span></td><td><code>4ec5960d28b3a530</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.InvocationHandlerGenerator</span></td><td><code>e077b50f246d79d9</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.LazyLoaderGenerator</span></td><td><code>d367eb445dad1b41</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodInterceptorGenerator</span></td><td><code>0e1acc7f50b42004</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodInterceptorGenerator.1</span></td><td><code>712c8dec417dbb0e</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodProxy</span></td><td><code>b9d885612a671394</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.MethodProxy.CreateInfo</span></td><td><code>6a77f3278f0f594d</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.NoOp</span></td><td><code>2072c4e15800eb7b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.NoOp.1</span></td><td><code>f51086386b10f167</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.proxy.NoOpGenerator</span></td><td><code>0e6388a5ea8b6f9b</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.transform.ClassEmitterTransformer</span></td><td><code>6933afd7072880e1</code></td></tr><tr><td><span class="el_class">org.springframework.cglib.transform.TransformingClassGenerator</span></td><td><code>fc36649bb747f8f4</code></td></tr><tr><td><span class="el_class">org.springframework.context.ApplicationEvent</span></td><td><code>52e40864a2e651d6</code></td></tr><tr><td><span class="el_class">org.springframework.context.PayloadApplicationEvent</span></td><td><code>b60694342787279b</code></td></tr><tr><td><span class="el_class">org.springframework.context.SmartLifecycle</span></td><td><code>17d027458a0ace22</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotatedBeanDefinitionReader</span></td><td><code>5f791fa028e60aed</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationBeanNameGenerator</span></td><td><code>0c9fb2319e468635</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationConfigUtils</span></td><td><code>d2651073d2918bee</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.AnnotationScopeMetadataResolver</span></td><td><code>668202606e595cd6</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.Bean.Bootstrap</span></td><td><code>c04e70548a9210ce</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.BeanAnnotationHelper</span></td><td><code>18ab4e322702713c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.BeanMethod</span></td><td><code>fb379a95cecb07f5</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ClassPathBeanDefinitionScanner</span></td><td><code>bb1f90f494ba0c62</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider</span></td><td><code>ab6b6944105ef5b1</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.CommonAnnotationBeanPostProcessor</span></td><td><code>06927929416f0bcc</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ComponentScanAnnotationParser</span></td><td><code>4daa8529862ca532</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ComponentScanAnnotationParser.1</span></td><td><code>c4e83be2438faca3</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConditionEvaluator</span></td><td><code>b3104cc9229d2fa8</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConditionEvaluator.ConditionContextImpl</span></td><td><code>8c94a44e3681afb7</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClass</span></td><td><code>a10aa2bddba60376</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader</span></td><td><code>fffe4055ada5598c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.ConfigurationClassBeanDefinition</span></td><td><code>c2f0daaf4ba4c562</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.TrackedConditionEvaluator</span></td><td><code>8d7aa69d25827694</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer</span></td><td><code>06e13c413576ab43</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanFactoryAwareGeneratorStrategy</span></td><td><code>0bdcc4dd5aa82e51</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanFactoryAwareGeneratorStrategy.1</span></td><td><code>25d01046ca0ed1cb</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanFactoryAwareMethodInterceptor</span></td><td><code>b15c22d8e46a1dd2</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.BeanMethodInterceptor</span></td><td><code>95e4ece823ea2ce5</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassEnhancer.ConditionalCallbackFilter</span></td><td><code>b2999fc0880e2b11</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser</span></td><td><code>a1aa49931a7a7cac</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DefaultDeferredImportSelectorGroup</span></td><td><code>c9f4bf37c6e09832</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorGrouping</span></td><td><code>0037c8ac929f6897</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorGroupingHandler</span></td><td><code>50bdd84225154031</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorHandler</span></td><td><code>0071c27377810352</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.DeferredImportSelectorHolder</span></td><td><code>08121bc7f8a069d2</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.ImportStack</span></td><td><code>6dafa5ac8e9afb65</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassParser.SourceClass</span></td><td><code>96d39624a339e045</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassPostProcessor</span></td><td><code>8339b4c10fe01f31</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassPostProcessor.ImportAwareBeanPostProcessor</span></td><td><code>8373d1a62458d5dd</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationClassUtils</span></td><td><code>2204b23d95a86405</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationCondition.ConfigurationPhase</span></td><td><code>65b15496bdf89d3c</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ConfigurationMethod</span></td><td><code>96619d9a8747baa0</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ContextAnnotationAutowireCandidateResolver</span></td><td><code>9a8bb86eb6e3bd4e</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.DeferredImportSelector</span></td><td><code>053d07fe3ec870e8</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.DeferredImportSelector.Group.Entry</span></td><td><code>addf7ea789c1dcfc</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.FilterType</span></td><td><code>f37fd43e21bb0074</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.FullyQualifiedAnnotationBeanNameGenerator</span></td><td><code>0c7765376dd2e406</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ImportBeanDefinitionRegistrar</span></td><td><code>bd2ecf3c55df8c0d</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ImportSelector</span></td><td><code>313abf5d1ced9f46</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ParserStrategyUtils</span></td><td><code>1081e7096fa05183</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.PropertySourceRegistry</span></td><td><code>d67828b9b80929f5</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ScannedGenericBeanDefinition</span></td><td><code>bbd27af9752c1593</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ScopeMetadata</span></td><td><code>8e679a257092036e</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.ScopedProxyMode</span></td><td><code>41a24973ddcf073e</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.TypeFilterUtils</span></td><td><code>a967742acccd918a</code></td></tr><tr><td><span class="el_class">org.springframework.context.annotation.TypeFilterUtils.1</span></td><td><code>f401be51a7119563</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster</span></td><td><code>8f0a518048375e86</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster.CachedListenerRetriever</span></td><td><code>ad6bc2e2d615b191</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster.DefaultListenerRetriever</span></td><td><code>9d6e3595159c2fd3</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.AbstractApplicationEventMulticaster.ListenerCacheKey</span></td><td><code>c24df5aac6ba6061</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.ApplicationContextEvent</span></td><td><code>6bbee34ea8dd2700</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.ContextClosedEvent</span></td><td><code>ab93420f444215c1</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.ContextRefreshedEvent</span></td><td><code>d4731f8bce856949</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.DefaultEventListenerFactory</span></td><td><code>e4102e55667431b2</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.EventExpressionEvaluator</span></td><td><code>30f9e50d3cf82dab</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.EventListenerMethodProcessor</span></td><td><code>a938316ab2d7f5c2</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.GenericApplicationListenerAdapter</span></td><td><code>03d2268316819a9d</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.SimpleApplicationEventMulticaster</span></td><td><code>4a4952c5a75a0018</code></td></tr><tr><td><span class="el_class">org.springframework.context.event.SmartApplicationListener</span></td><td><code>3a92dda867c82722</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.BeanExpressionContextAccessor</span></td><td><code>0f6da3df5c89a946</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.BeanFactoryAccessor</span></td><td><code>33eb804be3540076</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.BeanFactoryResolver</span></td><td><code>5cb60662b88d6756</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.CachedExpressionEvaluator</span></td><td><code>3b9d461d2c3ccd59</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.EnvironmentAccessor</span></td><td><code>4349b6736e609f77</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.MapAccessor</span></td><td><code>6c13874376bec82c</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.StandardBeanExpressionResolver</span></td><td><code>0023e2bff54afdfd</code></td></tr><tr><td><span class="el_class">org.springframework.context.expression.StandardBeanExpressionResolver.1</span></td><td><code>f702074cb1834393</code></td></tr><tr><td><span class="el_class">org.springframework.context.i18n.LocaleContextHolder</span></td><td><code>470161f38b51ee0c</code></td></tr><tr><td><span class="el_class">org.springframework.context.i18n.SimpleLocaleContext</span></td><td><code>ef0e9531d942dfb7</code></td></tr><tr><td><span class="el_class">org.springframework.context.index.CandidateComponentsIndexLoader</span></td><td><code>4f5787b0db22e125</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.AbstractApplicationContext</span></td><td><code>b9b4d13ff65010fd</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.AbstractApplicationContext.1</span></td><td><code>e7d75e7b35cdcd2f</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.ApplicationContextAwareProcessor</span></td><td><code>e4c1b48df862bd5b</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.ApplicationListenerDetector</span></td><td><code>2e9cf98180fb262d</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.ApplicationObjectSupport</span></td><td><code>237cdde79c395f13</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DefaultLifecycleProcessor</span></td><td><code>c34ee21109a294a8</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DefaultLifecycleProcessor.LifecycleGroup</span></td><td><code>3145629c72ff4200</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DefaultLifecycleProcessor.LifecycleGroupMember</span></td><td><code>c74fada3352c9545</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.DelegatingMessageSource</span></td><td><code>a4bb14bfcc6929aa</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.EmbeddedValueResolutionSupport</span></td><td><code>edb11aeeaf9fc985</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.GenericApplicationContext</span></td><td><code>fe7c5fc2aea1647a</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.MessageSourceAccessor</span></td><td><code>5b6df864404b4007</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.MessageSourceSupport</span></td><td><code>8ac7c6d6049b7663</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PostProcessorRegistrationDelegate</span></td><td><code>8dcf0a0173ec09ca</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PostProcessorRegistrationDelegate.BeanPostProcessorChecker</span></td><td><code>de4a3ad21e72a04a</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PropertySourcesPlaceholderConfigurer</span></td><td><code>46ed771d3009e93a</code></td></tr><tr><td><span class="el_class">org.springframework.context.support.PropertySourcesPlaceholderConfigurer.ConfigurableEnvironmentPropertySource</span></td><td><code>ee39d8913bc31a3b</code></td></tr><tr><td><span class="el_class">org.springframework.core.AttributeAccessorSupport</span></td><td><code>119db3fce8bcb0c8</code></td></tr><tr><td><span class="el_class">org.springframework.core.BridgeMethodResolver</span></td><td><code>22ee68b4adfd423a</code></td></tr><tr><td><span class="el_class">org.springframework.core.CollectionFactory</span></td><td><code>f082b912f0bfc707</code></td></tr><tr><td><span class="el_class">org.springframework.core.Conventions</span></td><td><code>ff2d38d11c6c3921</code></td></tr><tr><td><span class="el_class">org.springframework.core.DefaultParameterNameDiscoverer</span></td><td><code>8054c8436c497f84</code></td></tr><tr><td><span class="el_class">org.springframework.core.ExceptionDepthComparator</span></td><td><code>210f597534afba54</code></td></tr><tr><td><span class="el_class">org.springframework.core.GenericTypeResolver</span></td><td><code>3712585ba3baa91d</code></td></tr><tr><td><span class="el_class">org.springframework.core.KotlinDetector</span></td><td><code>700afa997e7d0122</code></td></tr><tr><td><span class="el_class">org.springframework.core.MethodIntrospector</span></td><td><code>45f077c2de0cbae5</code></td></tr><tr><td><span class="el_class">org.springframework.core.MethodParameter</span></td><td><code>ee0d367f5d883ee5</code></td></tr><tr><td><span class="el_class">org.springframework.core.NamedInheritableThreadLocal</span></td><td><code>67d73839b416bbdb</code></td></tr><tr><td><span class="el_class">org.springframework.core.NamedThreadLocal</span></td><td><code>86749c93668ec888</code></td></tr><tr><td><span class="el_class">org.springframework.core.NamedThreadLocal.SuppliedNamedThreadLocal</span></td><td><code>4b07287db8edb6d0</code></td></tr><tr><td><span class="el_class">org.springframework.core.NativeDetector</span></td><td><code>714d853f108ed862</code></td></tr><tr><td><span class="el_class">org.springframework.core.NativeDetector.Context</span></td><td><code>76f384ff5b526dae</code></td></tr><tr><td><span class="el_class">org.springframework.core.NestedExceptionUtils</span></td><td><code>f307c06f48fa6327</code></td></tr><tr><td><span class="el_class">org.springframework.core.NestedRuntimeException</span></td><td><code>a9e3c65443ed11a1</code></td></tr><tr><td><span class="el_class">org.springframework.core.OrderComparator</span></td><td><code>e3930e000aa9d72e</code></td></tr><tr><td><span class="el_class">org.springframework.core.ParameterizedTypeReference</span></td><td><code>81fd75ecde230704</code></td></tr><tr><td><span class="el_class">org.springframework.core.PrioritizedParameterNameDiscoverer</span></td><td><code>383db6ee2a4285a9</code></td></tr><tr><td><span class="el_class">org.springframework.core.ReactiveAdapterRegistry</span></td><td><code>0372db29326e6c43</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType</span></td><td><code>376af282d95972dd</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.1</span></td><td><code>48e5bd1164686df8</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.DefaultVariableResolver</span></td><td><code>63a109a637d60744</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.EmptyType</span></td><td><code>622822a20c51cf74</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.SyntheticParameterizedType</span></td><td><code>05aa4594bcf4fb6c</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.TypeVariablesVariableResolver</span></td><td><code>0303801379056e3c</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.WildcardBounds</span></td><td><code>6703219b93305ea3</code></td></tr><tr><td><span class="el_class">org.springframework.core.ResolvableType.WildcardBounds.Kind</span></td><td><code>c8c63b923128004f</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper</span></td><td><code>28cb9dec48843133</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.FieldTypeProvider</span></td><td><code>acae099e7ef2af4a</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.MethodInvokeTypeProvider</span></td><td><code>54ca8a2cd3ada573</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.MethodParameterTypeProvider</span></td><td><code>b0cd52425ef329e5</code></td></tr><tr><td><span class="el_class">org.springframework.core.SerializableTypeWrapper.TypeProxyInvocationHandler</span></td><td><code>9e204056453eef88</code></td></tr><tr><td><span class="el_class">org.springframework.core.SimpleAliasRegistry</span></td><td><code>db0a2951867ad3b7</code></td></tr><tr><td><span class="el_class">org.springframework.core.SpringProperties</span></td><td><code>ea3a9533922780bf</code></td></tr><tr><td><span class="el_class">org.springframework.core.StandardReflectionParameterNameDiscoverer</span></td><td><code>7ee4c190d395fc4f</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AbstractMergedAnnotation</span></td><td><code>0197b0b962667c08</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedElementUtils</span></td><td><code>2acddc7817f987e6</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedElementUtils.AnnotatedElementForAnnotations</span></td><td><code>df8ea4ba23924d40</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedMethod</span></td><td><code>0ca65f171b1d495c</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedMethod.AnnotatedMethodParameter</span></td><td><code>b94551ebcbafaf48</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotatedMethod.ReturnValueMethodParameter</span></td><td><code>b58f8f20019287ca</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationAttributes</span></td><td><code>fdda550d75102198</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationAwareOrderComparator</span></td><td><code>14bb5ba6f68da7f6</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationFilter</span></td><td><code>00465e4ed141a958</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationFilter.1</span></td><td><code>8aa9ec668f47e382</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationFilter.2</span></td><td><code>bc3aa320a9ff7cac</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMapping</span></td><td><code>2aaa18f5659ad89c</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMapping.MirrorSets</span></td><td><code>666be3cc692d8eda</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMapping.MirrorSets.MirrorSet</span></td><td><code>6fa3c5ad7b3f3c9e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMappings</span></td><td><code>51b61fcf38dc4070</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationTypeMappings.Cache</span></td><td><code>9c4f2f8676181ded</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationUtils</span></td><td><code>b9e1159a8a3a1bc0</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationsProcessor</span></td><td><code>3b364083a589faec</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationsScanner</span></td><td><code>6626783b34675d86</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AnnotationsScanner.1</span></td><td><code>84df1b746d414391</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.AttributeMethods</span></td><td><code>619a10cdbe6ea7d6</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.IntrospectionFailureLogger</span></td><td><code>692575db130f9a48</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.IntrospectionFailureLogger.1</span></td><td><code>f5bc2694c2e3403d</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.IntrospectionFailureLogger.2</span></td><td><code>ee5b8174a8264f26</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotation</span></td><td><code>ce7b487ae33f35df</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotation.Adapt</span></td><td><code>a73340172028ec6e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationCollectors</span></td><td><code>20b3ca0e78c9def6</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationPredicates</span></td><td><code>32df342d21f90e3d</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationPredicates.FirstRunOfPredicate</span></td><td><code>3f468969744f5e50</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationPredicates.UniquePredicate</span></td><td><code>4d0d67431ae568b9</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationSelectors</span></td><td><code>92ea0ff5423de08c</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationSelectors.FirstDirectlyDeclared</span></td><td><code>d3d7e5cd1ed22566</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationSelectors.Nearest</span></td><td><code>b0013a8a31242b02</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotations</span></td><td><code>03c04aa71b1b2476</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotations.Search</span></td><td><code>4bcfcf21dde88702</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotations.SearchStrategy</span></td><td><code>ae1ead28a4dc6fe8</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationsCollection</span></td><td><code>00b963c5f330af7d</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MergedAnnotationsCollection.AnnotationsSpliterator</span></td><td><code>cb5c13e2ffe83737</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.MissingMergedAnnotation</span></td><td><code>f222ac229fbc2d13</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.OrderUtils</span></td><td><code>64fd41a2ad53635e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.PackagesAnnotationFilter</span></td><td><code>50e0b1ad05805490</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.RepeatableContainers</span></td><td><code>104798acf2a2cb4e</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.RepeatableContainers.NoRepeatableContainers</span></td><td><code>418c82647839396a</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.RepeatableContainers.StandardRepeatableContainers</span></td><td><code>1db61b2f008866df</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.SynthesizedMergedAnnotationInvocationHandler</span></td><td><code>b84da3bec79e1636</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.SynthesizingMethodParameter</span></td><td><code>bd4766eadd829a3d</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotation</span></td><td><code>e371820fa3aa4153</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations</span></td><td><code>3b2b692c7ea71e51</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.Aggregate</span></td><td><code>5fceff7a34172acb</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.AggregatesCollector</span></td><td><code>23eba2037fc973bd</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.AggregatesSpliterator</span></td><td><code>4bd3c8e42ece46f5</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.IsPresent</span></td><td><code>fdca6fb28056a061</code></td></tr><tr><td><span class="el_class">org.springframework.core.annotation.TypeMappedAnnotations.MergedAnnotationFinder</span></td><td><code>db650b60c7702177</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.ConversionException</span></td><td><code>a826780bc904a6c8</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.ConversionFailedException</span></td><td><code>e769ca183bad7a43</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.Property</span></td><td><code>380c361c7187425c</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.TypeDescriptor</span></td><td><code>bf0b2e6a3f6cbe3d</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.TypeDescriptor.AnnotatedElementAdapter</span></td><td><code>bba3439575fe78e3</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.converter.GenericConverter.ConvertiblePair</span></td><td><code>9db788b9412ea497</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.AbstractConditionalEnumConverter</span></td><td><code>c154f575ae7a6067</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToArrayConverter</span></td><td><code>be8d6762a8100646</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToCollectionConverter</span></td><td><code>6b9aa034560d1881</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToObjectConverter</span></td><td><code>3367694275a79a3e</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ArrayToStringConverter</span></td><td><code>313bd6288cd6f772</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ByteBufferConverter</span></td><td><code>045fa244dee5e958</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CharacterToNumberFactory</span></td><td><code>5b4f0d7407565051</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToArrayConverter</span></td><td><code>3ecfea6c5d5b0957</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToCollectionConverter</span></td><td><code>61dcb24621eb0c3a</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToObjectConverter</span></td><td><code>3ecd1e5cd3046948</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.CollectionToStringConverter</span></td><td><code>48cb3843a55d9fc9</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ConversionUtils</span></td><td><code>48af11fc8c314956</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.DateToInstantConverter</span></td><td><code>46d774223904a0b2</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.DefaultConversionService</span></td><td><code>f6eb58d0f884f590</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.EnumToIntegerConverter</span></td><td><code>872e436c230b84ca</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.EnumToStringConverter</span></td><td><code>8c2532570461fbe8</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.FallbackObjectToStringConverter</span></td><td><code>08dcbdd7688d80e7</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService</span></td><td><code>442d5cff8444b25b</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConverterAdapter</span></td><td><code>d9c5666f70f0ba46</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConverterCacheKey</span></td><td><code>fa6b67d5ee3ef525</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConverterFactoryAdapter</span></td><td><code>4daef2773e44611b</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.Converters</span></td><td><code>fc564892bc7bf297</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.ConvertersForPair</span></td><td><code>266c425f2c3d5656</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.GenericConversionService.NoOpConverter</span></td><td><code>c64e3ab83dc82a84</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.IdToEntityConverter</span></td><td><code>a8879ce2512b3162</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.InstantToDateConverter</span></td><td><code>50cdea1ae3a238ca</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.IntegerToEnumConverterFactory</span></td><td><code>4cb3bd8735edec65</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.MapToMapConverter</span></td><td><code>1d3ea46062a80085</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.MapToMapConverter.MapEntry</span></td><td><code>7136a9b22e451037</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.NumberToCharacterConverter</span></td><td><code>e5e7a2f3b312dcb9</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.NumberToNumberConverterFactory</span></td><td><code>501b0d11661ca8d6</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.NumberToNumberConverterFactory.NumberToNumber</span></td><td><code>7dd6abff120374e4</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToArrayConverter</span></td><td><code>f57311830294bcb5</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToCollectionConverter</span></td><td><code>85d6a9166662d742</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToObjectConverter</span></td><td><code>59505a74a00a9dfa</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToOptionalConverter</span></td><td><code>e12de4886e1d3f77</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ObjectToStringConverter</span></td><td><code>1f9c1ff43044d9a3</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.PropertiesToStringConverter</span></td><td><code>ecc34a0dddf4a6dd</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StreamConverter</span></td><td><code>85c0d73f1761b64d</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToArrayConverter</span></td><td><code>703e9665fd9f762e</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToBooleanConverter</span></td><td><code>516d6957a0e25700</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCharacterConverter</span></td><td><code>5eaf8c92bcd33d32</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCharsetConverter</span></td><td><code>cb10ccd3d1ce2e07</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCollectionConverter</span></td><td><code>ab2972b892b58eb5</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToCurrencyConverter</span></td><td><code>6fe56e6a7945507c</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToEnumConverterFactory</span></td><td><code>64e81f95b4583f8f</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToLocaleConverter</span></td><td><code>943b668bc20d207f</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToNumberConverterFactory</span></td><td><code>2ee8f61639cc1a2b</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToPatternConverter</span></td><td><code>ce0d184b957565e2</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToPropertiesConverter</span></td><td><code>5e431a31ac000f8a</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToTimeZoneConverter</span></td><td><code>9d8103fdabdc3baa</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.StringToUUIDConverter</span></td><td><code>d2a4e4b870cafcca</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ZoneIdToTimeZoneConverter</span></td><td><code>52542c8aef4da35d</code></td></tr><tr><td><span class="el_class">org.springframework.core.convert.support.ZonedDateTimeToCalendarConverter</span></td><td><code>2985c822b23456cf</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.AbstractEnvironment</span></td><td><code>88f103b4d9e687cc</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.AbstractPropertyResolver</span></td><td><code>71499abfb71b63cb</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.CommandLineArgs</span></td><td><code>89d1a5922b79039e</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.CommandLinePropertySource</span></td><td><code>4cae8c696f6466a2</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.EnumerablePropertySource</span></td><td><code>0e61e57f76c90009</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.MapPropertySource</span></td><td><code>ea1a757b6cacab34</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.MissingRequiredPropertiesException</span></td><td><code>216b45e7630c8b4f</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.MutablePropertySources</span></td><td><code>13c42d45ac1cecde</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertiesPropertySource</span></td><td><code>4a78f77715b82b2b</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySource</span></td><td><code>7309c6e1170cfc1f</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySource.ComparisonPropertySource</span></td><td><code>c60ebc5fb639fee0</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySource.StubPropertySource</span></td><td><code>b5747968ff83eb09</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.PropertySourcesPropertyResolver</span></td><td><code>62e3862dadd956ca</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.SimpleCommandLineArgsParser</span></td><td><code>0887eabb697d39cb</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.SimpleCommandLinePropertySource</span></td><td><code>cae5f3f1cf66229a</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.StandardEnvironment</span></td><td><code>47de85a4756fdbd3</code></td></tr><tr><td><span class="el_class">org.springframework.core.env.SystemEnvironmentPropertySource</span></td><td><code>83bbbbbff8886746</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.AbstractFileResolvingResource</span></td><td><code>9b32e31f9d8b6776</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.AbstractResource</span></td><td><code>c832f1b74540f436</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.ClassPathResource</span></td><td><code>6d4dcd3bc6d7372d</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.DefaultResourceLoader</span></td><td><code>15bdd89f9d530650</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.DefaultResourceLoader.ClassPathContextResource</span></td><td><code>eeeffdee66bba1a3</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.DescriptiveResource</span></td><td><code>9723108be2e30f4a</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileSystemResource</span></td><td><code>68d15c1e2604d9e7</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileSystemResourceLoader</span></td><td><code>cca3e35d41eb9afb</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileSystemResourceLoader.FileSystemContextResource</span></td><td><code>7275299ce6bd0912</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.FileUrlResource</span></td><td><code>50c7557f049840f7</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.ResourceEditor</span></td><td><code>93d7ed9663d3c904</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.UrlResource</span></td><td><code>7afecdde8396b79b</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.DefaultPropertySourceFactory</span></td><td><code>b0b5310335615a05</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PathMatchingResourcePatternResolver</span></td><td><code>1e459023978c902d</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PropertiesLoaderSupport</span></td><td><code>07504bc3fe5c17b9</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PropertiesLoaderUtils</span></td><td><code>b92ae09258891e70</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.PropertySourceProcessor</span></td><td><code>4fde129fc0e6e2ef</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.ResourceArrayPropertyEditor</span></td><td><code>efdd8b276dc5897e</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.ResourcePatternUtils</span></td><td><code>d08ec492a3b7c0c9</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader</span></td><td><code>37b9cb66c8a997b0</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.ArgumentResolver</span></td><td><code>c0c948f557dc13c2</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.ArgumentResolver.1</span></td><td><code>8a852418dfa384c6</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.Factories</span></td><td><code>c061e96575c1f429</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.FactoryInstantiator</span></td><td><code>9a45c63986380256</code></td></tr><tr><td><span class="el_class">org.springframework.core.io.support.SpringFactoriesLoader.FailureHandler</span></td><td><code>14e316dc7bd16540</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.CompositeLog</span></td><td><code>4b57dfa26d44d630</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogDelegateFactory</span></td><td><code>80da975791fa9b8e</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogFormatUtils</span></td><td><code>651bd0c165938e0b</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage</span></td><td><code>52a55a9257c110d2</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.FormatMessage</span></td><td><code>18cc4f6dc39b7068</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.FormatMessage1</span></td><td><code>04b9bf1cca0c81b0</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.FormatMessage2</span></td><td><code>52c0247a4c9e520e</code></td></tr><tr><td><span class="el_class">org.springframework.core.log.LogMessage.SupplierMessage</span></td><td><code>87b639a2ab02b6f2</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.ApplicationStartup</span></td><td><code>90d803088eb92c18</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.DefaultApplicationStartup</span></td><td><code>d96d3e4ba486bedb</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.DefaultApplicationStartup.DefaultStartupStep</span></td><td><code>f41c2f81cd0c076a</code></td></tr><tr><td><span class="el_class">org.springframework.core.metrics.DefaultApplicationStartup.DefaultStartupStep.DefaultTags</span></td><td><code>6e0a18f2be8888f4</code></td></tr><tr><td><span class="el_class">org.springframework.core.task.SimpleAsyncTaskExecutor</span></td><td><code>a6ee6061cf40215e</code></td></tr><tr><td><span class="el_class">org.springframework.core.task.SimpleAsyncTaskExecutor.ConcurrencyThrottleAdapter</span></td><td><code>e656588b2f6f1072</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.AnnotatedTypeMetadata</span></td><td><code>75b3ae89e437dd1b</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.AnnotationMetadata</span></td><td><code>7e14c151850c33b8</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.ClassMetadata</span></td><td><code>8d617cb0fb1eeb3e</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.StandardAnnotationMetadata</span></td><td><code>205f5cc9719500ec</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.StandardClassMetadata</span></td><td><code>0c2b0c27fa6f54c0</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.CachingMetadataReaderFactory</span></td><td><code>6fb4c140a73526f3</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.CachingMetadataReaderFactory.LocalResourceCache</span></td><td><code>370c985935c1aa77</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.MergedAnnotationReadingVisitor</span></td><td><code>7c75c4c39c321bf1</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.MergedAnnotationReadingVisitor.ArrayVisitor</span></td><td><code>658c13f0e50fd12e</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleAnnotationMetadata</span></td><td><code>98d76f7b635225c0</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleAnnotationMetadataReadingVisitor</span></td><td><code>838deb47f316e2ef</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleAnnotationMetadataReadingVisitor.Source</span></td><td><code>1559250e2a365528</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMetadataReader</span></td><td><code>e4fde1062e4a225d</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMetadataReaderFactory</span></td><td><code>1e3a77d274434210</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMethodMetadata</span></td><td><code>1f469d25dde2d662</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMethodMetadataReadingVisitor</span></td><td><code>31a1e76139ba707a</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.classreading.SimpleMethodMetadataReadingVisitor.Source</span></td><td><code>88d7899b4a0bb424</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.filter.AbstractTypeHierarchyTraversingFilter</span></td><td><code>c85d39470a41bcfe</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.filter.AnnotationTypeFilter</span></td><td><code>769509d7293835b1</code></td></tr><tr><td><span class="el_class">org.springframework.core.type.filter.AssignableTypeFilter</span></td><td><code>a9b8bfd8def9e21a</code></td></tr><tr><td><span class="el_class">org.springframework.expression.TypedValue</span></td><td><code>35438560f539156d</code></td></tr><tr><td><span class="el_class">org.springframework.expression.common.LiteralExpression</span></td><td><code>d44a8fcbbe70d64a</code></td></tr><tr><td><span class="el_class">org.springframework.expression.common.TemplateAwareExpressionParser</span></td><td><code>e36174fc83e52eb1</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.SpelCompilerMode</span></td><td><code>e07a59aacacc79c2</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.SpelParserConfiguration</span></td><td><code>efa0c7191a7a13fc</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.standard.SpelExpressionParser</span></td><td><code>6fe6a3d3cebfe3d6</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.ReflectivePropertyAccessor</span></td><td><code>112596eb4515eb29</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardEvaluationContext</span></td><td><code>0ee491959435276f</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardOperatorOverloader</span></td><td><code>285d5d419bcb6945</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardTypeComparator</span></td><td><code>6833f35f579c4976</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardTypeConverter</span></td><td><code>db4b3deccd8df243</code></td></tr><tr><td><span class="el_class">org.springframework.expression.spel.support.StandardTypeLocator</span></td><td><code>43c6cdca5d072fbf</code></td></tr><tr><td><span class="el_class">org.springframework.format.annotation.DurationFormat.Style</span></td><td><code>4466b077408e7a1b</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar</span></td><td><code>e04dd30f81f6bd82</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.CalendarToDateConverter</span></td><td><code>05d72e188dc5c915</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.CalendarToLongConverter</span></td><td><code>0cc91de60ab7a4d0</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.DateToCalendarConverter</span></td><td><code>97c472ebeec58965</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.DateToLongConverter</span></td><td><code>5d4856e633a7266b</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.LongToCalendarConverter</span></td><td><code>695766394b90838e</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateFormatterRegistrar.LongToDateConverter</span></td><td><code>b1976b8d4a5e418a</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.DateTimeFormatAnnotationFormatterFactory</span></td><td><code>537616af6ec85718</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters</span></td><td><code>378af10c838dfccb</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToInstantConverter</span></td><td><code>74aed3ecb510e72d</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToLocalDateConverter</span></td><td><code>55bb8ac8b07d7f7f</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToLocalDateTimeConverter</span></td><td><code>c47dfb7d2a68d83e</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToLocalTimeConverter</span></td><td><code>a8132c03b39b92fd</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToOffsetDateTimeConverter</span></td><td><code>6acfcad58cdc03be</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.CalendarToZonedDateTimeConverter</span></td><td><code>94dae872a7c8bba8</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.InstantToLongConverter</span></td><td><code>48eda1d7d0c127de</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.LocalDateTimeToLocalDateConverter</span></td><td><code>800f4e7215c9ab26</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.LocalDateTimeToLocalTimeConverter</span></td><td><code>79a1c84eddb729ac</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.LongToInstantConverter</span></td><td><code>bea7675f59b13d08</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToInstantConverter</span></td><td><code>07a0d7eae108dcc4</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToLocalDateConverter</span></td><td><code>a6ed2aad9b784c3c</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToLocalDateTimeConverter</span></td><td><code>1c3ada25bd70d431</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToLocalTimeConverter</span></td><td><code>e83469e481803125</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.OffsetDateTimeToZonedDateTimeConverter</span></td><td><code>2d5b43a14128169e</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToInstantConverter</span></td><td><code>be5fd7abe17f0c2d</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToLocalDateConverter</span></td><td><code>886febe05a8c15c0</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToLocalDateTimeConverter</span></td><td><code>74601cfa46f93103</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToLocalTimeConverter</span></td><td><code>1c5f316e83674497</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeConverters.ZonedDateTimeToOffsetDateTimeConverter</span></td><td><code>d07e903d9f899ae1</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterFactory</span></td><td><code>f00f83ca5261300b</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterRegistrar</span></td><td><code>e4068c0361e42681</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterRegistrar.1</span></td><td><code>2b780f00fa3fc0cb</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DateTimeFormatterRegistrar.Type</span></td><td><code>a80961bc935a2dfe</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DurationFormatAnnotationFormatterFactory</span></td><td><code>49888f967c319e68</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.DurationFormatter</span></td><td><code>d8b01ef3f8f8ea61</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.InstantFormatter</span></td><td><code>c89b9925f116b746</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.Jsr310DateTimeFormatAnnotationFormatterFactory</span></td><td><code>122efc1fd75a7e2e</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.MonthDayFormatter</span></td><td><code>950594bf77014f89</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.MonthFormatter</span></td><td><code>edcfbeb1d5c0111a</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.PeriodFormatter</span></td><td><code>ef90b20a8fb964e8</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.TemporalAccessorParser</span></td><td><code>ade731e2a7d86881</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.TemporalAccessorPrinter</span></td><td><code>626891a25afe8739</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.YearFormatter</span></td><td><code>ee641eb3f193f459</code></td></tr><tr><td><span class="el_class">org.springframework.format.datetime.standard.YearMonthFormatter</span></td><td><code>a7b412f1d64de4d6</code></td></tr><tr><td><span class="el_class">org.springframework.format.number.NumberFormatAnnotationFormatterFactory</span></td><td><code>8c3de3b7113d8454</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.DefaultFormattingConversionService</span></td><td><code>3fc855cf34694dc8</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService</span></td><td><code>21ea6c634c74e36c</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.AnnotationParserConverter</span></td><td><code>4a6e23a06b514ce8</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.AnnotationPrinterConverter</span></td><td><code>8bb222af98f814de</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.ParserConverter</span></td><td><code>3084cb39fdcd36f2</code></td></tr><tr><td><span class="el_class">org.springframework.format.support.FormattingConversionService.PrinterConverter</span></td><td><code>637045e175bf68e1</code></td></tr><tr><td><span class="el_class">org.springframework.http.CacheControl</span></td><td><code>ce58fea16bfd1061</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpEntity</span></td><td><code>8002c1a600a5e586</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpHeaders</span></td><td><code>235340fe217f3c93</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpLogging</span></td><td><code>1184924f1dcdca25</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpMethod</span></td><td><code>20e4e4f9e26f0c0d</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpStatus</span></td><td><code>12aa0e3ab2fabde8</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpStatus.Series</span></td><td><code>65e70f0d823c4208</code></td></tr><tr><td><span class="el_class">org.springframework.http.HttpStatusCode</span></td><td><code>a743df4068b44dd1</code></td></tr><tr><td><span class="el_class">org.springframework.http.MediaType</span></td><td><code>fb19988e5311d0af</code></td></tr><tr><td><span class="el_class">org.springframework.http.MediaType.1</span></td><td><code>685a2d7fa916161c</code></td></tr><tr><td><span class="el_class">org.springframework.http.ReadOnlyHttpHeaders</span></td><td><code>fc3ea060c0ac74bf</code></td></tr><tr><td><span class="el_class">org.springframework.http.ResponseEntity</span></td><td><code>41c04d8a02a7e9f7</code></td></tr><tr><td><span class="el_class">org.springframework.http.ResponseEntity.DefaultBuilder</span></td><td><code>82d4685c71bd638a</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.AbstractClientHttpRequest</span></td><td><code>1964697487b47257</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.AbstractStreamingClientHttpRequest</span></td><td><code>4a93f3d388708ff0</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.SimpleClientHttpRequest</span></td><td><code>b5619dab671ba697</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.SimpleClientHttpRequestFactory</span></td><td><code>45301303bfb60822</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.SimpleClientHttpResponse</span></td><td><code>ad78769f1d8bf71f</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation</span></td><td><code>ca469acabfdc7485</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.1</span></td><td><code>cbc43928b4fe25b4</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.HighCardinalityKeyNames</span></td><td><code>835c2dcb8ab49a79</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.HighCardinalityKeyNames.1</span></td><td><code>cbd8961aa7d1d5c8</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames</span></td><td><code>e93a4ef669de1cef</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.1</span></td><td><code>2dbaef1c8cb1c511</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.2</span></td><td><code>ecb054bf6ea65c78</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.3</span></td><td><code>2e50f6621d9058e8</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.4</span></td><td><code>87b9dbca72dca94d</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.5</span></td><td><code>183b86cf959b3c4f</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientHttpObservationDocumentation.LowCardinalityKeyNames.6</span></td><td><code>3b1f3dd1198fb87d</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.ClientRequestObservationContext</span></td><td><code>794b7930a99fd6e8</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.observation.DefaultClientRequestObservationConvention</span></td><td><code>140a65a46f6d1891</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.support.HttpAccessor</span></td><td><code>03e20a2fe667e36b</code></td></tr><tr><td><span class="el_class">org.springframework.http.client.support.InterceptingHttpAccessor</span></td><td><code>0d88ec45f5a76956</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.AbstractGenericHttpMessageConverter</span></td><td><code>a5ad0df67dd9b02d</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.AbstractHttpMessageConverter</span></td><td><code>95f772ebf2639511</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.ByteArrayHttpMessageConverter</span></td><td><code>051d396639f02003</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.FormHttpMessageConverter</span></td><td><code>27d9b70a50d01c70</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.HttpMessageConversionException</span></td><td><code>3e5b28f88269b5e7</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.HttpMessageConverter</span></td><td><code>5009a5c02bd0ddcf</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.HttpMessageNotReadableException</span></td><td><code>80b3ef5d64b8f610</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.ResourceHttpMessageConverter</span></td><td><code>cab4613f190d8d18</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.ResourceRegionHttpMessageConverter</span></td><td><code>6714cd31670e14ce</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.StringHttpMessageConverter</span></td><td><code>98dfe2755f9e089d</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter</span></td><td><code>c5c8c6ef72025958</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.AbstractJsonHttpMessageConverter</span></td><td><code>f6974848ed413347</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.Jackson2ObjectMapperBuilder</span></td><td><code>c082d33fbb9c462a</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.MappingJackson2HttpMessageConverter</span></td><td><code>e2a61811f42b0f31</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.json.SpringHandlerInstantiator</span></td><td><code>4c0e56e2a69fa194</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter</span></td><td><code>70dbc8247dbc2738</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.xml.AbstractJaxb2HttpMessageConverter</span></td><td><code>92a6a1046675721a</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.xml.AbstractXmlHttpMessageConverter</span></td><td><code>d9d4266b85429298</code></td></tr><tr><td><span class="el_class">org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter</span></td><td><code>9ff539fd0047a104</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.DefaultPathContainer</span></td><td><code>28cb4e98b12dd8a7</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.DefaultPathContainer.DefaultPathSegment</span></td><td><code>24f7778c567597d3</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.DefaultPathContainer.DefaultSeparator</span></td><td><code>07a565767dadcd0d</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.DefaultRequestPath</span></td><td><code>77b285ea80ca8ab4</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.PathContainer</span></td><td><code>e3e3dee52de6fa6e</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.PathContainer.Options</span></td><td><code>ab4a6de0bf2bdfee</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.RequestPath</span></td><td><code>f170ae7e2b82bae9</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.ServletServerHttpRequest</span></td><td><code>16134c191e422e01</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.ServletServerHttpResponse</span></td><td><code>1640c53c26fb4d92</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.ServletServerHttpResponse.ServletResponseHttpHeaders</span></td><td><code>5cdaca1f79f983b6</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.DefaultServerRequestObservationConvention</span></td><td><code>6aa9dbd91250f524</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.DefaultServerRequestObservationConvention.HttpOutcome</span></td><td><code>f05938c624f8f9b8</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation</span></td><td><code>3a43d4d067a53be9</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.1</span></td><td><code>3eb530dc2c8cea07</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.HighCardinalityKeyNames</span></td><td><code>7b22182751cab4e3</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.HighCardinalityKeyNames.1</span></td><td><code>7f45357034c11ea0</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames</span></td><td><code>674ba8bd8d8383be</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.1</span></td><td><code>2cb6d33209dd1929</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.2</span></td><td><code>377bbc5dcbaeee0a</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.3</span></td><td><code>19410cb534885c86</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.4</span></td><td><code>776a531862c0d532</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerHttpObservationDocumentation.LowCardinalityKeyNames.5</span></td><td><code>4d8783761e780091</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerRequestObservationContext</span></td><td><code>c6f0d2374979a5b1</code></td></tr><tr><td><span class="el_class">org.springframework.http.server.observation.ServerRequestObservationConvention</span></td><td><code>48da5a66719ce0c0</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiAccessor</span></td><td><code>dfe4cc428b168cdb</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiLocatorDelegate</span></td><td><code>21bee06754bebd88</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiLocatorSupport</span></td><td><code>8678eb4a244c3734</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.JndiTemplate</span></td><td><code>586afcc6a448bf9d</code></td></tr><tr><td><span class="el_class">org.springframework.jndi.support.SimpleJndiBeanFactory</span></td><td><code>53d5fa7b1292fe63</code></td></tr><tr><td><span class="el_class">org.springframework.mock.http.MockHttpInputMessage</span></td><td><code>c446a80f7ad695eb</code></td></tr><tr><td><span class="el_class">org.springframework.mock.http.MockHttpOutputMessage</span></td><td><code>a083f608269aa929</code></td></tr><tr><td><span class="el_class">org.springframework.mock.http.client.MockClientHttpRequest</span></td><td><code>07f8cda988b68c8f</code></td></tr><tr><td><span class="el_class">org.springframework.mock.http.client.MockClientHttpResponse</span></td><td><code>934a7ae257ed5469</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.DelegatingServletInputStream</span></td><td><code>50cce851ce42e878</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.DelegatingServletOutputStream</span></td><td><code>2da441af72e7de9b</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.HeaderValueHolder</span></td><td><code>9e3b0604ca45f4e7</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockFilterChain</span></td><td><code>a36cd7bff8e24816</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockFilterChain.ServletFilterProxy</span></td><td><code>83d0356b15a389c2</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockFilterConfig</span></td><td><code>ea80aa4eda06a4ed</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockFilterRegistration</span></td><td><code>d06ca7c17cf4fd45</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockHttpServletMapping</span></td><td><code>b55e7b6d5eee2aea</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockHttpServletRequest</span></td><td><code>42821b99b7e735b2</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockHttpServletResponse</span></td><td><code>f2ea87914b9cf9b7</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockHttpServletResponse.ResponseServletOutputStream</span></td><td><code>22b8d9f550076a6d</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockRequestDispatcher</span></td><td><code>cfd15a0d52f9a25a</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockServletConfig</span></td><td><code>9afa2b0c6df4d63b</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockServletContext</span></td><td><code>cb51fc631ace02b8</code></td></tr><tr><td><span class="el_class">org.springframework.mock.web.MockSessionCookieConfig</span></td><td><code>b9ed5f0374bfa655</code></td></tr><tr><td><span class="el_class">org.springframework.objenesis.SpringObjenesis</span></td><td><code>4f20c71da20620f9</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>9e24ffb9abc24a6b</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.CustomizableThreadFactory</span></td><td><code>24925c553f7dc7ee</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.ExecutorConfigurationSupport</span></td><td><code>c89b80ac7735edc7</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.ExecutorLifecycleDelegate</span></td><td><code>e1000f5e77b99f61</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor</span></td><td><code>f9e43c37d8236499</code></td></tr><tr><td><span class="el_class">org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor.1</span></td><td><code>02f6aa0fae940836</code></td></tr><tr><td><span class="el_class">org.springframework.test.annotation.DirtiesContext.ClassMode</span></td><td><code>350decde4ac1356d</code></td></tr><tr><td><span class="el_class">org.springframework.test.annotation.DirtiesContext.MethodMode</span></td><td><code>65f0bd60b728b7b2</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.BootstrapUtils</span></td><td><code>09e8e9823bbe7493</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.ContextConfigurationAttributes</span></td><td><code>45d673b7a61e0bf8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.DefaultMethodInvoker</span></td><td><code>9c6f9d2ab87083e6</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.MergedContextConfiguration</span></td><td><code>ed8ba52de7020be3</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.MethodInvoker</span></td><td><code>76d0f95e4657bfac</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.NestedTestConfiguration.EnclosingConfiguration</span></td><td><code>cb9200b5f402248f</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContext</span></td><td><code>f1dc08635075e211</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextAnnotationUtils</span></td><td><code>8ad9353b4ac57056</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextAnnotationUtils.AnnotationDescriptor</span></td><td><code>85528ecbd577a8e3</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.TestContextManager</span></td><td><code>ba5f2b9f24256d06</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.AotTestAttributes</span></td><td><code>372484bac57853a7</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.AotTestAttributesFactory</span></td><td><code>aa9316a4073f678b</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.AotTestContextInitializers</span></td><td><code>50f7c585d5416cef</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.AotTestContextInitializersFactory</span></td><td><code>ecaaa0b42407d0d2</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.aot.DefaultAotTestAttributes</span></td><td><code>9a49cee5605f7edc</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideBeanFactoryPostProcessor</span></td><td><code>a92388e9bb182eb2</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideBeanFactoryPostProcessor.1</span></td><td><code>4949f843d3689993</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideContextCustomizer</span></td><td><code>000d21df591fa097</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideContextCustomizerFactory</span></td><td><code>b0fffcf933c35624</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideHandler</span></td><td><code>7c8a3c5ccb0dce49</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideRegistry</span></td><td><code>fbea1a03223b6599</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideStrategy</span></td><td><code>470a98f2762ed5c9</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.BeanOverrideTestExecutionListener</span></td><td><code>491b050a15d3d5d8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.WrapEarlyBeanPostProcessor</span></td><td><code>4319dfd381c85687</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.AbstractMockitoBeanOverrideHandler</span></td><td><code>6d9555f9af15fcf5</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockBeans</span></td><td><code>70f369db7a219fed</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockReset</span></td><td><code>419a2aad20524d56</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockReset.ResetInvocationListener</span></td><td><code>918079f3e1d2bdd8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockitoBeanOverrideHandler</span></td><td><code>cdab048435bf5c29</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockitoBeanOverrideProcessor</span></td><td><code>d0da6dc7485b1ccd</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.MockitoResetTestExecutionListener</span></td><td><code>9ce12f47a3383175</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.bean.override.mockito.SpringMockResolver</span></td><td><code>dc74bdc03ebd8048</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.ContextCacheUtils</span></td><td><code>e8acfdd26a2f8e24</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate</span></td><td><code>22ad636319e6ef98</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.DefaultContextCache</span></td><td><code>a1a8ca9c44060d0d</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.cache.DefaultContextCache.LruCache</span></td><td><code>f48bb63fd622a5a1</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.AfterTestClassEvent</span></td><td><code>71f4f61cf6698e7b</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.AfterTestExecutionEvent</span></td><td><code>5c7ad61d5caf9a62</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.AfterTestMethodEvent</span></td><td><code>a8b6c31bc20f7a55</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.ApplicationEventsTestExecutionListener</span></td><td><code>5751ed3e72f4bf32</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.BeforeTestClassEvent</span></td><td><code>dd3a83f930034109</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.BeforeTestExecutionEvent</span></td><td><code>e01b97b0f54587d4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.BeforeTestMethodEvent</span></td><td><code>5b4a9ac1b1f153c8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.EventPublishingTestExecutionListener</span></td><td><code>3f800e116b8620e4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.PrepareTestInstanceEvent</span></td><td><code>1e945fc2520ab482</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.event.TestContextEvent</span></td><td><code>0caa7efaa2032ddd</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.junit.jupiter.SpringExtension</span></td><td><code>3a28d52d4c1fc455</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.observation.MicrometerObservationRegistryTestExecutionListener</span></td><td><code>98f06494957f64a5</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractContextLoader</span></td><td><code>4192459d68c086ac</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractDelegatingSmartContextLoader</span></td><td><code>d1fd337a1ec5a58d</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener</span></td><td><code>afe16ea5cab5dbc8</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractGenericContextLoader</span></td><td><code>bba25ccd2d768722</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractTestContextBootstrapper</span></td><td><code>87f6ff207fda6069</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AbstractTestExecutionListener</span></td><td><code>9d17f86db27f4485</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.ActiveProfilesUtils</span></td><td><code>6d023e11650e9823</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AnnotationConfigContextLoader</span></td><td><code>f0bf12b79796f408</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.AnnotationConfigContextLoaderUtils</span></td><td><code>a33c51d9d70b2ce5</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.ApplicationContextInitializerUtils</span></td><td><code>c78b21651e372e6c</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.CommonCachesTestExecutionListener</span></td><td><code>fc10553726f9fd0a</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultActiveProfilesResolver</span></td><td><code>74c67af034d6f62e</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultBootstrapContext</span></td><td><code>e9c0cd186dada73d</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultTestContext</span></td><td><code>3051b0c8e87979fb</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DefaultTestContextBootstrapper</span></td><td><code>724f451263eaadb4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DelegatingSmartContextLoader</span></td><td><code>15b6476f6d8b02c0</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DependencyInjectionTestExecutionListener</span></td><td><code>8183f997dad3d05c</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener</span></td><td><code>19c79bc9111bd19e</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DirtiesContextTestExecutionListener</span></td><td><code>ecdaa929104b3928</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DynamicPropertiesContextCustomizer</span></td><td><code>3deb231bce895be4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DynamicPropertiesContextCustomizerFactory</span></td><td><code>1d60d365beb0feb4</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.DynamicPropertyRegistrarBeanInitializer</span></td><td><code>659575aa24e18071</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.GenericXmlContextLoader</span></td><td><code>1c2f4860846114e3</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.MergedTestPropertySources</span></td><td><code>d62b8f1ed57890a1</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.TestPropertySourceUtils</span></td><td><code>123ab050b69d0790</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.support.TestPropertySourceUtils.SequencedProperties</span></td><td><code>817b9f8f9baf6fcb</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.util.TestContextFailureHandler</span></td><td><code>cf705a85e38a8689</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.util.TestContextSpringFactoriesUtils</span></td><td><code>5a1c9fe84011f438</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.web.ServletTestExecutionListener</span></td><td><code>46a7488d593f3c85</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.web.WebMergedContextConfiguration</span></td><td><code>377b38f3ff346433</code></td></tr><tr><td><span class="el_class">org.springframework.test.context.web.socket.MockServerContainerContextCustomizerFactory</span></td><td><code>0e9cf8f8fd96f3e8</code></td></tr><tr><td><span class="el_class">org.springframework.test.http.HttpMessageContentConverter</span></td><td><code>2b262333499c9957</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonAssert</span></td><td><code>92139820c0161b43</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonAssert.JsonAssertJsonComparator</span></td><td><code>78c870f8c7b0bcac</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonComparator</span></td><td><code>20b9021dca0e2f8e</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonCompareMode</span></td><td><code>e385cce5711b50a7</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonComparison</span></td><td><code>1db31b129c5955af</code></td></tr><tr><td><span class="el_class">org.springframework.test.json.JsonComparison.Result</span></td><td><code>6a70dc5fd5542b0a</code></td></tr><tr><td><span class="el_class">org.springframework.test.util.AopTestUtils</span></td><td><code>a3fd2ace8790e9b1</code></td></tr><tr><td><span class="el_class">org.springframework.test.util.AssertionErrors</span></td><td><code>0340965560bc975f</code></td></tr><tr><td><span class="el_class">org.springframework.test.util.ReflectionTestUtils</span></td><td><code>593efeb4db4c1b4d</code></td></tr><tr><td><span class="el_class">org.springframework.test.util.XmlExpectationsHelper</span></td><td><code>aedd60b33ec5c177</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.AbstractRequestExpectationManager</span></td><td><code>3bd056e42b5927ce</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.AbstractRequestExpectationManager.RequestExpectationGroup</span></td><td><code>275f87b93fe03238</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.DefaultRequestExpectation</span></td><td><code>2586343e8f62bc89</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.DefaultRequestExpectation.RequestCount</span></td><td><code>9b73dfac02466f55</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.ExpectedCount</span></td><td><code>f2ddbf3feacadd3b</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer</span></td><td><code>cc253bf85acc7e36</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer.AbstractMockRestServiceServerBuilder</span></td><td><code>9a30442e3d233ba5</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer.MockClientHttpRequestFactory</span></td><td><code>2afac7de52eea40f</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer.MockClientHttpRequestFactory.1</span></td><td><code>5b74cc8aa2a151bd</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.MockRestServiceServer.RestTemplateMockRestServiceServerBuilder</span></td><td><code>150866f1be08b0ec</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.SimpleRequestExpectationManager</span></td><td><code>c1ba2c86b377d9a3</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.match.MockRestRequestMatchers</span></td><td><code>3961a5ccf37ccfa9</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.response.DefaultResponseCreator</span></td><td><code>aedd33a3cbf2fd74</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.client.response.MockRestResponseCreators</span></td><td><code>db3131052fe708ec</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.DefaultMvcResult</span></td><td><code>74bd24cb3ba84d61</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.MockMvc</span></td><td><code>74c38d8361e1b658</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.MockMvc.1</span></td><td><code>a6bdcfdcea927c17</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.MockMvcBuilderSupport</span></td><td><code>9cae95977b2b78e5</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.TestDispatcherServlet</span></td><td><code>4704fa16086aa7be</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.TestDispatcherServlet.1</span></td><td><code>a02be40acae68749</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.TestDispatcherServlet.2</span></td><td><code>a42908c522b3d9f3</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.assertj.MockMvcTester</span></td><td><code>0a11a7671a3e99f9</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.request.AbstractMockHttpServletRequestBuilder</span></td><td><code>b2610cc413a8aa44</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder</span></td><td><code>d183dae4f50f0cfb</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.request.MockMvcRequestBuilders</span></td><td><code>b11fe3ea3d5e88a4</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.ContentResultMatchers</span></td><td><code>9a18cc38cf1f1046</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.MockMvcResultHandlers</span></td><td><code>a9c4de47cc837711</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.MockMvcResultHandlers.PrintWriterPrintingResultHandler</span></td><td><code>4c6ac363024f9709</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.MockMvcResultHandlers.PrintWriterPrintingResultHandler.1</span></td><td><code>9fde017aaa7feddc</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.MockMvcResultMatchers</span></td><td><code>70fbd2d3df048be6</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.PrintingResultHandler</span></td><td><code>90c79e8159fe6377</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.result.StatusResultMatchers</span></td><td><code>65b19ac2d43a93c7</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.setup.AbstractMockMvcBuilder</span></td><td><code>439a00ac5d5bddc1</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder</span></td><td><code>ed8452373832681d</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.setup.MockMvcBuilders</span></td><td><code>895196a2494ffa33</code></td></tr><tr><td><span class="el_class">org.springframework.test.web.servlet.setup.MockMvcFilterDecorator</span></td><td><code>a3cc20c0b1dfc904</code></td></tr><tr><td><span class="el_class">org.springframework.ui.ExtendedModelMap</span></td><td><code>a9bd85d9c3f45a0e</code></td></tr><tr><td><span class="el_class">org.springframework.ui.ModelMap</span></td><td><code>68255da0125245cb</code></td></tr><tr><td><span class="el_class">org.springframework.ui.context.support.ResourceBundleThemeSource</span></td><td><code>2c4835fcae9480e8</code></td></tr><tr><td><span class="el_class">org.springframework.ui.context.support.UiApplicationContextUtils</span></td><td><code>46167db42670c374</code></td></tr><tr><td><span class="el_class">org.springframework.util.AntPathMatcher</span></td><td><code>2711e0de5eb7665d</code></td></tr><tr><td><span class="el_class">org.springframework.util.AntPathMatcher.AntPathStringMatcher</span></td><td><code>4ff413e373ffd8ec</code></td></tr><tr><td><span class="el_class">org.springframework.util.AntPathMatcher.PathSeparatorPatternCache</span></td><td><code>c4eb4f9173bd4ac5</code></td></tr><tr><td><span class="el_class">org.springframework.util.Assert</span></td><td><code>2e1248d2d1526e84</code></td></tr><tr><td><span class="el_class">org.springframework.util.ClassUtils</span></td><td><code>c44f95e948b24673</code></td></tr><tr><td><span class="el_class">org.springframework.util.CollectionUtils</span></td><td><code>702b1708f49908a6</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrencyThrottleSupport</span></td><td><code>dc8e5d61914bf811</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache</span></td><td><code>fc8fd9f95e86479c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.AddTask</span></td><td><code>9787ce91bcc9c029</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.CacheEntry</span></td><td><code>8c2a30bf95fd3747</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.CacheEntryState</span></td><td><code>8fd1493dbe25b369</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.DrainStatus</span></td><td><code>4e8cbd38122e581d</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.DrainStatus.1</span></td><td><code>b95aacc7c78a68ae</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.DrainStatus.2</span></td><td><code>e5b7610cd3301a8c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.DrainStatus.3</span></td><td><code>2d357d08eabaad36</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.EvictionQueue</span></td><td><code>0d8fba71dbe887a5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.Node</span></td><td><code>2bb77316b840ee2f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.ReadOperations</span></td><td><code>2916f6a8a859081f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentLruCache.WriteOperations</span></td><td><code>1bdd5f5883488bc8</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap</span></td><td><code>722cd58749bce5da</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.1</span></td><td><code>b28453beffe0567b</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Entry</span></td><td><code>1ebf1a19741551e5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.EntryIterator</span></td><td><code>3671e0887b913e43</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.EntrySet</span></td><td><code>bc332fb6ea536f7d</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceManager</span></td><td><code>35eb6b9c1f2eedb5</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.ReferenceType</span></td><td><code>5b823be241865c2f</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Restructure</span></td><td><code>bec31619a87761cd</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Segment</span></td><td><code>5daee5d71f2a6fe2</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.SoftEntryReference</span></td><td><code>90553b95ca65098e</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.Task</span></td><td><code>e696f4462c902646</code></td></tr><tr><td><span class="el_class">org.springframework.util.ConcurrentReferenceHashMap.TaskOption</span></td><td><code>617a93a5edd02c5d</code></td></tr><tr><td><span class="el_class">org.springframework.util.CustomizableThreadCreator</span></td><td><code>143b3d3fa7c3cae2</code></td></tr><tr><td><span class="el_class">org.springframework.util.DefaultPropertiesPersister</span></td><td><code>b7427e68e6821db1</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap</span></td><td><code>52504fea98decea2</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap.1</span></td><td><code>91801a6f81bb94f9</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap.EntryIterator</span></td><td><code>eb75ecf0259104a1</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap.KeySet</span></td><td><code>f1969e13e921b35b</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedCaseInsensitiveMap.KeySetIterator</span></td><td><code>729a11d591c351c5</code></td></tr><tr><td><span class="el_class">org.springframework.util.LinkedMultiValueMap</span></td><td><code>44d5eddf78a031a1</code></td></tr><tr><td><span class="el_class">org.springframework.util.MethodInvoker</span></td><td><code>28f381bcf283657a</code></td></tr><tr><td><span class="el_class">org.springframework.util.MimeType</span></td><td><code>e4d1ce0eae1d0476</code></td></tr><tr><td><span class="el_class">org.springframework.util.MimeType.SpecificityComparator</span></td><td><code>e99b29c1a1762df2</code></td></tr><tr><td><span class="el_class">org.springframework.util.MimeTypeUtils</span></td><td><code>665994a8ee784530</code></td></tr><tr><td><span class="el_class">org.springframework.util.MultiValueMapAdapter</span></td><td><code>7d7830d4d4d7a9dd</code></td></tr><tr><td><span class="el_class">org.springframework.util.NumberUtils</span></td><td><code>16e3b8305f6ed19c</code></td></tr><tr><td><span class="el_class">org.springframework.util.ObjectUtils</span></td><td><code>bb4156812cde3217</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser</span></td><td><code>3f277e665da31ab9</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.AbstractPart</span></td><td><code>6ab347b56a31e343</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.NestedPlaceholderPart</span></td><td><code>5f4825b63f2184f4</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.ParsedSection</span></td><td><code>200afa50502233b7</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.ParsedValue</span></td><td><code>fdbb76264632df68</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.Part</span></td><td><code>25217b44df39a50a</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.PartResolutionContext</span></td><td><code>1b1112b9a169e076</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.SimplePlaceholderPart</span></td><td><code>a0f7a14985b50c2d</code></td></tr><tr><td><span class="el_class">org.springframework.util.PlaceholderParser.TextPart</span></td><td><code>21add2c96405b1f9</code></td></tr><tr><td><span class="el_class">org.springframework.util.PropertyPlaceholderHelper</span></td><td><code>71d73d6ee11b1d0b</code></td></tr><tr><td><span class="el_class">org.springframework.util.ReflectionUtils</span></td><td><code>b3705306ddd2d2c6</code></td></tr><tr><td><span class="el_class">org.springframework.util.ReflectionUtils.MethodFilter</span></td><td><code>e6bb9effc94796c8</code></td></tr><tr><td><span class="el_class">org.springframework.util.ResourceUtils</span></td><td><code>acc1d471d7d0c720</code></td></tr><tr><td><span class="el_class">org.springframework.util.StreamUtils</span></td><td><code>f4186e18fc55ed8d</code></td></tr><tr><td><span class="el_class">org.springframework.util.StreamUtils.NonClosingInputStream</span></td><td><code>e9c6ce59f9cd8a02</code></td></tr><tr><td><span class="el_class">org.springframework.util.StreamUtils.NonClosingOutputStream</span></td><td><code>b56212e2bd4dfef6</code></td></tr><tr><td><span class="el_class">org.springframework.util.StringUtils</span></td><td><code>524f0e9093d3c709</code></td></tr><tr><td><span class="el_class">org.springframework.util.SystemPropertyUtils</span></td><td><code>2709a5d62b892e69</code></td></tr><tr><td><span class="el_class">org.springframework.util.TypeUtils</span></td><td><code>1f6eb116b16edc7c</code></td></tr><tr><td><span class="el_class">org.springframework.util.UnmodifiableMultiValueMap</span></td><td><code>674588712080d6e6</code></td></tr><tr><td><span class="el_class">org.springframework.util.function.SingletonSupplier</span></td><td><code>f0da9b709c43f885</code></td></tr><tr><td><span class="el_class">org.springframework.util.function.ThrowingSupplier</span></td><td><code>7ab8f07f14e9ba72</code></td></tr><tr><td><span class="el_class">org.springframework.util.unit.DataSize</span></td><td><code>a1033e5a9544f231</code></td></tr><tr><td><span class="el_class">org.springframework.util.xml.SimpleSaxErrorHandler</span></td><td><code>2d5bd64ab23bc9e7</code></td></tr><tr><td><span class="el_class">org.springframework.util.xml.XmlValidationModeDetector</span></td><td><code>0a9e7b8529351439</code></td></tr><tr><td><span class="el_class">org.springframework.validation.AbstractBindingResult</span></td><td><code>bface5dc34afefb5</code></td></tr><tr><td><span class="el_class">org.springframework.validation.AbstractErrors</span></td><td><code>9c4feb43674923f4</code></td></tr><tr><td><span class="el_class">org.springframework.validation.AbstractPropertyBindingResult</span></td><td><code>666a957752444060</code></td></tr><tr><td><span class="el_class">org.springframework.validation.BeanPropertyBindingResult</span></td><td><code>a78eab25e6f4dd9b</code></td></tr><tr><td><span class="el_class">org.springframework.validation.BindingResult</span></td><td><code>ebce903723c85d58</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DataBinder</span></td><td><code>3a6a57d2372c833e</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DataBinder.ExtendedTypeConverter</span></td><td><code>dc21ef1249fbde00</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultBindingErrorProcessor</span></td><td><code>0bf94c918bd140c5</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultMessageCodesResolver</span></td><td><code>c4f74083fa9a6157</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultMessageCodesResolver.Format</span></td><td><code>f157dfb0e8b967c5</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultMessageCodesResolver.Format.1</span></td><td><code>5cf8b021827fd75b</code></td></tr><tr><td><span class="el_class">org.springframework.validation.DefaultMessageCodesResolver.Format.2</span></td><td><code>1970d690a3636b99</code></td></tr><tr><td><span class="el_class">org.springframework.validation.annotation.ValidationAnnotationUtils</span></td><td><code>81f5c30cc9b651bf</code></td></tr><tr><td><span class="el_class">org.springframework.validation.support.BindingAwareModelMap</span></td><td><code>9bf8e4150b4d5ba0</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.ContentNegotiationManager</span></td><td><code>d9b94c458772fdf8</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.ContentNegotiationManagerFactoryBean</span></td><td><code>cb95beaa3b857196</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.ContentNegotiationStrategy</span></td><td><code>923328c39a2e16ea</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.HeaderContentNegotiationStrategy</span></td><td><code>d8710d4d13893291</code></td></tr><tr><td><span class="el_class">org.springframework.web.accept.MappingMediaTypeFileExtensionResolver</span></td><td><code>8822a21557632872</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.ServletRequestDataBinder</span></td><td><code>19bdb9e7c9cbcf57</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.WebDataBinder</span></td><td><code>9c21ac0be0b59dd5</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.annotation.RequestMethod</span></td><td><code>8eee18fd12143097</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.BindParamNameResolver</span></td><td><code>15285cfb99d2cc1f</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.ConfigurableWebBindingInitializer</span></td><td><code>85109227644a494f</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.DefaultDataBinderFactory</span></td><td><code>8aa4d0fe234100ab</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.DefaultSessionAttributeStore</span></td><td><code>d2ea6318ceb8a199</code></td></tr><tr><td><span class="el_class">org.springframework.web.bind.support.SimpleSessionStatus</span></td><td><code>a3177fc1ca0faebc</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.ClientHttpResponseDecorator</span></td><td><code>4523b51674279564</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.DefaultResponseErrorHandler</span></td><td><code>e07f53c3bcdffdbd</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.HttpMessageConverterExtractor</span></td><td><code>6789aa709ca50935</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.IntrospectingClientHttpResponse</span></td><td><code>c2bf6af5cc35264c</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.RestTemplate</span></td><td><code>c989076c7ffbcf2f</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.RestTemplate.AcceptHeaderRequestCallback</span></td><td><code>f902fd8330e43013</code></td></tr><tr><td><span class="el_class">org.springframework.web.client.RestTemplate.HeadersExtractor</span></td><td><code>181371a7657ee1e6</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.WebApplicationContext</span></td><td><code>2c2637bf43ecf527</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.AbstractRequestAttributes</span></td><td><code>d35a7dd410ac7993</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.AbstractRequestAttributesScope</span></td><td><code>7b9e34f5472d2862</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.RequestContextHolder</span></td><td><code>b1aa9846214e69c0</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.RequestScope</span></td><td><code>da7d203b76302a6e</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.ServletRequestAttributes</span></td><td><code>7cfde03152a787c5</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.ServletWebRequest</span></td><td><code>434f09a2802ec7c1</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.SessionScope</span></td><td><code>a5146caff16a8a53</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.CallableProcessingInterceptor</span></td><td><code>89255d764886293e</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.StandardServletAsyncWebRequest</span></td><td><code>904cf35e7af67e1a</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.StandardServletAsyncWebRequest.LifecycleHttpServletResponse</span></td><td><code>ecadcc3c58512d09</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.StandardServletAsyncWebRequest.LifecycleServletOutputStream</span></td><td><code>272fbe0ea1adf70f</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.StandardServletAsyncWebRequest.State</span></td><td><code>bf7148309a9bc15a</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.TimeoutCallableProcessingInterceptor</span></td><td><code>a6b5b3574f0a4a01</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.TimeoutDeferredResultProcessingInterceptor</span></td><td><code>07597e9b942addf0</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.WebAsyncManager</span></td><td><code>aa55b41b93f2fbb0</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.WebAsyncManager.State</span></td><td><code>6a0678fc613484c1</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.request.async.WebAsyncUtils</span></td><td><code>e9719030a1514fa8</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.GenericWebApplicationContext</span></td><td><code>bbac6c1dbe6cae04</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.RequestHandledEvent</span></td><td><code>db5c5358c4bd29ac</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextAwareProcessor</span></td><td><code>dbf711ad776e03c6</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextPropertySource</span></td><td><code>b369a2fd6c3ecece</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextResource</span></td><td><code>5ded92d29104e3c5</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextResourcePatternResolver</span></td><td><code>8f798de16a4f6638</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletContextScope</span></td><td><code>b179ea89feb99054</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.ServletRequestHandledEvent</span></td><td><code>b1d6579d9d6f3958</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.StandardServletEnvironment</span></td><td><code>cda31b77e534bae5</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils</span></td><td><code>a8e4043b6a4b16b4</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils.RequestObjectFactory</span></td><td><code>ea8d3e9493a1b66c</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils.ResponseObjectFactory</span></td><td><code>40a6e7a1481ff545</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils.SessionObjectFactory</span></td><td><code>b2a2ae81983b5c9d</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationContextUtils.WebRequestObjectFactory</span></td><td><code>424d696eee385a4d</code></td></tr><tr><td><span class="el_class">org.springframework.web.context.support.WebApplicationObjectSupport</span></td><td><code>00043b1966037482</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.CorsConfiguration</span></td><td><code>df05d5722229be6c</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.CorsConfiguration.OriginPattern</span></td><td><code>37902b89bbf6aea9</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.CorsUtils</span></td><td><code>7e63423048eb4077</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.DefaultCorsProcessor</span></td><td><code>7a634b60dfecdfe6</code></td></tr><tr><td><span class="el_class">org.springframework.web.cors.UrlBasedCorsConfigurationSource</span></td><td><code>40f7257aba99bc4d</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.CharacterEncodingFilter</span></td><td><code>e0f0c8866522f6b2</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.FormContentFilter</span></td><td><code>45a25645696bec8c</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.GenericFilterBean</span></td><td><code>bbcad52051ff2c6d</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.GenericFilterBean.FilterConfigPropertyValues</span></td><td><code>d2b0f137a8b5f1a3</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.OncePerRequestFilter</span></td><td><code>9a27fb1546349102</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.RequestContextFilter</span></td><td><code>943d50654a00a4e5</code></td></tr><tr><td><span class="el_class">org.springframework.web.filter.ServerHttpObservationFilter</span></td><td><code>75ba8ceefbba020f</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.ControllerAdviceBean</span></td><td><code>21bcad8fe023d07c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.HandlerMethod</span></td><td><code>ef11a047a9c896aa</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.HandlerMethod.MethodValidationInitializer</span></td><td><code>35880169e6d9d065</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.HandlerTypePredicate</span></td><td><code>02b009a029d73281</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.HandlerTypePredicate.Builder</span></td><td><code>1bad5d50201fb337</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.AbstractCookieValueMethodArgumentResolver</span></td><td><code>66a8fb80dabb744c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver</span></td><td><code>c9f86fe2a454351a</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.NamedValueInfo</span></td><td><code>17a22381720ebf7c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ErrorsMethodArgumentResolver</span></td><td><code>663bb8f611915d8d</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExceptionHandlerMappingInfo</span></td><td><code>aed1814045046699</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExceptionHandlerMethodResolver</span></td><td><code>4c9158cb36ed76df</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExceptionHandlerMethodResolver.ExceptionMapingComparator</span></td><td><code>8c3071b2cecbad87</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExceptionHandlerMethodResolver.ExceptionMapping</span></td><td><code>18e8f5f1b8372a6f</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ExpressionValueMethodArgumentResolver</span></td><td><code>a479715de553f58d</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.InitBinderDataBinderFactory</span></td><td><code>67c4b3b10fa6c43b</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.MapMethodProcessor</span></td><td><code>2fa21b62cd6b3815</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.MethodArgumentTypeMismatchException</span></td><td><code>33a73620f2e625e0</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ModelAttributeMethodProcessor</span></td><td><code>eafa679b0d047d6c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ModelFactory</span></td><td><code>e7590a7d634d13ff</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.ModelMethodProcessor</span></td><td><code>0e16d7e1ab9418b6</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.RequestHeaderMapMethodArgumentResolver</span></td><td><code>73f4817910ed621e</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.RequestHeaderMethodArgumentResolver</span></td><td><code>713f14fc839f7659</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.RequestParamMapMethodArgumentResolver</span></td><td><code>59bd78f390176a95</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.RequestParamMethodArgumentResolver</span></td><td><code>5f97742691423a3d</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.SessionAttributesHandler</span></td><td><code>e0186d2fea30a4b0</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.annotation.SessionStatusMethodArgumentResolver</span></td><td><code>4143e363b99d8718</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.CompositeUriComponentsContributor</span></td><td><code>03a3ede9254e9d49</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.HandlerMethodArgumentResolverComposite</span></td><td><code>be9c4005070d6d0c</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite</span></td><td><code>f002e6593db83da2</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.InvocableHandlerMethod</span></td><td><code>641da1676f2d4144</code></td></tr><tr><td><span class="el_class">org.springframework.web.method.support.ModelAndViewContainer</span></td><td><code>465d18530f9d8544</code></td></tr><tr><td><span class="el_class">org.springframework.web.multipart.support.MultipartResolutionDelegate</span></td><td><code>df74c7e11162ee33</code></td></tr><tr><td><span class="el_class">org.springframework.web.multipart.support.StandardServletMultipartResolver</span></td><td><code>00d0336171b446c1</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.DispatcherServlet</span></td><td><code>0150d7556610b9a9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.FlashMap</span></td><td><code>9a3392ac2faf3339</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.FrameworkServlet</span></td><td><code>e7c01a561045bef0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.FrameworkServlet.RequestBindingInterceptor</span></td><td><code>b4feb8ba7cb31474</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HandlerExecutionChain</span></td><td><code>c45414b412ba103b</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HandlerInterceptor</span></td><td><code>b8cc9be96948efa8</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HandlerMapping</span></td><td><code>7368c92fb88dc00e</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HttpServletBean</span></td><td><code>f9e4cd4a3b78c1e2</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.HttpServletBean.ServletConfigPropertyValues</span></td><td><code>8b5277d961afa559</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.ModelAndView</span></td><td><code>7f20f8a82b69c673</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.View</span></td><td><code>c4777f758c51c4e3</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.AsyncSupportConfigurer</span></td><td><code>05599ca66ac876ca</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer</span></td><td><code>75215f69342f3023</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.CorsRegistration</span></td><td><code>7281222b16894406</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.CorsRegistry</span></td><td><code>ee337e95e7af0a42</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer</span></td><td><code>2287ac2a418e3163</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration</span></td><td><code>743104417628387d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.InterceptorRegistration</span></td><td><code>7dc7c52f6c48dfb6</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.InterceptorRegistry</span></td><td><code>39656fc60a96ad25</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.PathMatchConfigurer</span></td><td><code>9d026fcc3d0391de</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ResourceHandlerRegistration</span></td><td><code>880237c8f2e184cc</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry</span></td><td><code>2101dc44d4184c4f</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ViewControllerRegistry</span></td><td><code>9e1e4786e9b0d480</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.ViewResolverRegistry</span></td><td><code>37ed31887a36899c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport</span></td><td><code>8deb8e0e653b1ab8</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport.NoOpValidator</span></td><td><code>010e469449704c0c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.WebMvcConfigurer</span></td><td><code>394bb6ebc2033425</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.config.annotation.WebMvcConfigurerComposite</span></td><td><code>b0db08cde547850a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.function.support.HandlerFunctionAdapter</span></td><td><code>74acb66b98a380a8</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.function.support.RouterFunctionMapping</span></td><td><code>b62b9ef24e271669</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractDetectingUrlHandlerMapping</span></td><td><code>400fce1da57519fe</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver</span></td><td><code>1114d1c187844f01</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMapping</span></td><td><code>35a4c66effb36947</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMapping.CorsInterceptor</span></td><td><code>4b6d1523b94a2114</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver</span></td><td><code>44a67b0b12cf03bb</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping</span></td><td><code>05e3154efa34627a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.EmptyHandler</span></td><td><code>83c7f3c959df4926</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.MappingRegistration</span></td><td><code>80571ebe186ae7f0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.MappingRegistry</span></td><td><code>e605ebf9c35e9d61</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.Match</span></td><td><code>2a344a7542e410e2</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.AbstractUrlHandlerMapping</span></td><td><code>006f9b9892e7f00c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping</span></td><td><code>d427c907a9864ec3</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.ConversionServiceExposingInterceptor</span></td><td><code>601a9f2eae40110a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.HandlerExceptionResolverComposite</span></td><td><code>96812211c340e708</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.handler.SimpleUrlHandlerMapping</span></td><td><code>401d26ed4b5b0906</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.i18n.AbstractLocaleResolver</span></td><td><code>4f854a9a22c63159</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver</span></td><td><code>468d7faaf581e03b</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter</span></td><td><code>031a965c689cbddf</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter</span></td><td><code>72d083bfd3571ce4</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver</span></td><td><code>53a9ec21142d2252</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.AbstractMediaTypeExpression</span></td><td><code>341f447d549e4614</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.AbstractRequestCondition</span></td><td><code>87217158ce885d9d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition</span></td><td><code>f233c2e7020cb958</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.HeadersRequestCondition</span></td><td><code>920257d4ec782377</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.ParamsRequestCondition</span></td><td><code>aa26e91eaf69d3a5</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.PathPatternsRequestCondition</span></td><td><code>ba81499b7838414c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.PatternsRequestCondition</span></td><td><code>936071437c8acdb9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.ProducesRequestCondition</span></td><td><code>70cbe5fafaeac498</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.ProducesRequestCondition.ProduceMediaTypeExpression</span></td><td><code>d2971c2f755bb48a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.RequestConditionHolder</span></td><td><code>1e8fbb93b45003b0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.condition.RequestMethodsRequestCondition</span></td><td><code>3423f41d9d64b90c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter</span></td><td><code>12f8de65516447fd</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfo</span></td><td><code>35e615fbab8f2972</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfo.BuilderConfiguration</span></td><td><code>5da168c1f089cc7d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfo.DefaultBuilder</span></td><td><code>9dab907b7eeab7f2</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping</span></td><td><code>475b39f52e4909e6</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMethodMappingNamingStrategy</span></td><td><code>decf41ef221065ae</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMappingJacksonResponseBodyAdvice</span></td><td><code>fb79b2db23807a96</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver</span></td><td><code>e24025e8b28aba01</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.1</span></td><td><code>8a19a2f4dee7c77a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.ConverterType</span></td><td><code>144fb8a137cb76a4</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.EmptyBodyCheckingHttpInputMessage</span></td><td><code>98aca497992d31c9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor</span></td><td><code>8115f51f4a9c7dbf</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.1</span></td><td><code>c2967be2dfc46aad</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.2</span></td><td><code>0086df5101af9e23</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.AsyncTaskMethodReturnValueHandler</span></td><td><code>8393ad919f1ad51a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.CallableMethodReturnValueHandler</span></td><td><code>43f27fd87e620603</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.DeferredResultMethodReturnValueHandler</span></td><td><code>dd32bd763a3e9eca</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver</span></td><td><code>bf492239debabc80</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder</span></td><td><code>958b191dd423b41b</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor</span></td><td><code>7aa8c0908474146a</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.HttpHeadersReturnValueHandler</span></td><td><code>b92d5992c41c2765</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.JsonViewRequestBodyAdvice</span></td><td><code>cb3c132b7c32aedd</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.JsonViewResponseBodyAdvice</span></td><td><code>b4aec4bba8fa7f17</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.MatrixVariableMapMethodArgumentResolver</span></td><td><code>a8041a565d071009</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.MatrixVariableMethodArgumentResolver</span></td><td><code>a036e984098faeef</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ModelAndViewMethodReturnValueHandler</span></td><td><code>5593113b39b6a476</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.PathVariableMapMethodArgumentResolver</span></td><td><code>5a2ca984eb6ec937</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.PathVariableMethodArgumentResolver</span></td><td><code>6ff8e4715ea2827d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.PathVariableMethodArgumentResolver.PathVariableNamedValueInfo</span></td><td><code>78060e777d0bed41</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.PrincipalMethodArgumentResolver</span></td><td><code>4439b777bf15aa75</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ReactiveTypeHandler</span></td><td><code>b26831ca12089993</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RedirectAttributesMethodArgumentResolver</span></td><td><code>dc287425af5ff206</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestAttributeMethodArgumentResolver</span></td><td><code>bdf7fd66ef529185</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter</span></td><td><code>0bcafb4c5f516d48</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter</span></td><td><code>23cb7a9ddd4732cd</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.MvcSimpleAsyncTaskExecutor</span></td><td><code>b83f6818c9299332</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping</span></td><td><code>dbf91edadd6a4c01</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.AnnotationDescriptor</span></td><td><code>de30bec99001bd78</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestPartMethodArgumentResolver</span></td><td><code>4de23c97b06600a9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyAdviceChain</span></td><td><code>36ba62869cd26652</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor</span></td><td><code>8e5740a5d116ccc6</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ResponseBodyEmitterReturnValueHandler</span></td><td><code>4f5c7b546abf141c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ResponseEntityReturnValueHandler</span></td><td><code>e64796235b243804</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletCookieValueMethodArgumentResolver</span></td><td><code>5d63d3e04ee20145</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod</span></td><td><code>100299cc271e6383</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor</span></td><td><code>f09fca1d0800ebb5</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletRequestDataBinderFactory</span></td><td><code>d971e0bda53b3ca0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletRequestMethodArgumentResolver</span></td><td><code>ff946dd30f23386e</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ServletResponseMethodArgumentResolver</span></td><td><code>8d5da721b6f23379</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.SessionAttributeMethodArgumentResolver</span></td><td><code>f50e49c2b9807406</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBodyReturnValueHandler</span></td><td><code>477f089c6ef569b1</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.UriComponentsBuilderMethodArgumentResolver</span></td><td><code>10f679a247f41ce0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ViewMethodReturnValueHandler</span></td><td><code>f835bf7839e5a0bc</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.method.annotation.ViewNameMethodReturnValueHandler</span></td><td><code>6aad8f8654801154</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver</span></td><td><code>dc8415664ae2cc8c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.AbstractResourceResolver</span></td><td><code>c8d08bd2b084bd4d</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.DefaultResourceResolverChain</span></td><td><code>d5f5a7df264b04ef</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.DefaultResourceTransformerChain</span></td><td><code>840033f6794f6b92</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.PathResourceResolver</span></td><td><code>f00036fde50d01e0</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.ResourceHandlerUtils</span></td><td><code>d2e95fae118d4056</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.ResourceHttpRequestHandler</span></td><td><code>64f624ec0507a109</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.ResourceUrlProvider</span></td><td><code>7f12aedb5e0da614</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.resource.ResourceUrlProviderExposingInterceptor</span></td><td><code>e4b7326361742b50</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.support.AbstractFlashMapManager</span></td><td><code>f3d59eb18b4159ab</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.support.RequestContextUtils</span></td><td><code>1d2fe4d771659abd</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.support.SessionFlashMapManager</span></td><td><code>75d602c46776faeb</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.support.WebContentGenerator</span></td><td><code>aa232892443866c4</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.theme.AbstractThemeResolver</span></td><td><code>8518a78276d6dc1e</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.theme.FixedThemeResolver</span></td><td><code>04b75b872c6c4e96</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.AbstractCachingViewResolver</span></td><td><code>dae53995dab037fb</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.AbstractCachingViewResolver.1</span></td><td><code>c936a65ed976f37c</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.AbstractCachingViewResolver.2</span></td><td><code>508bac0cb53a9af6</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.BeanNameViewResolver</span></td><td><code>fa6a4df9e665c246</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.ContentNegotiatingViewResolver</span></td><td><code>b81d1509954b0232</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.ContentNegotiatingViewResolver.1</span></td><td><code>c95264b08dcbd8cc</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator</span></td><td><code>0dfeaa9a4eb3cfe9</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.InternalResourceViewResolver</span></td><td><code>8b3e917727eff1d3</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.UrlBasedViewResolver</span></td><td><code>f4b6b6163effa180</code></td></tr><tr><td><span class="el_class">org.springframework.web.servlet.view.ViewResolverComposite</span></td><td><code>a456f3c7d75f1a2d</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.DefaultUriBuilderFactory</span></td><td><code>90793328808666f2</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.DefaultUriBuilderFactory.EncodingMode</span></td><td><code>9e4dd1cc7ea75eb6</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.DisconnectedClientHelper</span></td><td><code>b362e2ad22d764d8</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents</span></td><td><code>fdc9964cb1bb5579</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.1</span></td><td><code>0584c021b64b1fdf</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.EncodeState</span></td><td><code>7fc072f697c2368a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.FullPathComponent</span></td><td><code>41e1fd53c192c68d</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.QueryUriTemplateVariables</span></td><td><code>d0c52fe869ba1c0a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type</span></td><td><code>986b274351319592</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.1</span></td><td><code>5648dcea72ecc939</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.10</span></td><td><code>949c8532c108d762</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.11</span></td><td><code>ee82a796e32448c4</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.12</span></td><td><code>10a49ba3cbd86958</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.2</span></td><td><code>cfacfb7d4ed05117</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.3</span></td><td><code>8a059729510947d3</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.4</span></td><td><code>46ac555501345140</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.5</span></td><td><code>4702427fe97b4c90</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.6</span></td><td><code>157b5f285ce1953a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.7</span></td><td><code>6ac087f5e6475fc0</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.8</span></td><td><code>91c9c2dda14fe329</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.HierarchicalUriComponents.Type.9</span></td><td><code>49d5ee1324797e03</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser</span></td><td><code>66a969b4803d61a0</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.InternalParser</span></td><td><code>ebe8e357cf3b12b2</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State</span></td><td><code>391eef153fc9273f</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.1</span></td><td><code>d3835fe9e901984a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.10</span></td><td><code>c16a423799ceafcb</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.2</span></td><td><code>7f8cc67b54686d32</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.3</span></td><td><code>afb8d179f1575c48</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.4</span></td><td><code>cc147f958553e9c2</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.5</span></td><td><code>a13b6c567c8533b9</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.6</span></td><td><code>77c39ac82908ab63</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.7</span></td><td><code>c452ea0882baa862</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.8</span></td><td><code>c8c5ae2aea7f2fee</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.State.9</span></td><td><code>967a05ad8715f453</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.RfcUriParser.UriRecord</span></td><td><code>f34f328f1d2b3da9</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.ServletRequestPathUtils</span></td><td><code>539193a56522bc02</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.ServletRequestPathUtils.ServletRequestPath</span></td><td><code>f517bcc104ba3e4a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponents</span></td><td><code>fd0e7bf5d4936cb4</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponents.VarArgsTemplateVariables</span></td><td><code>d401bf17abdca188</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder</span></td><td><code>f59547c83f33fbde</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.1</span></td><td><code>8d4699a338626992</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.CompositePathComponentBuilder</span></td><td><code>d5fac4531cbd023c</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.EncodingHint</span></td><td><code>3facba362d370241</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.FullPathComponentBuilder</span></td><td><code>70aba5c14e95a333</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriComponentsBuilder.ParserType</span></td><td><code>e973da01eeafdf1b</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UriUtils</span></td><td><code>ef2afd7430306f9c</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UrlPathHelper</span></td><td><code>38ebfc0bec216934</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.UrlPathHelper.1</span></td><td><code>34ab82ce744ca035</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.WebUtils</span></td><td><code>0d191c8529b88ac8</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.CaptureVariablePathElement</span></td><td><code>34ef3fbd31197ea1</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.InternalPathPatternParser</span></td><td><code>c2ccafa0ae7eaa92</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.LiteralPathElement</span></td><td><code>362bd37ecdf0393a</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathElement</span></td><td><code>102c103b231eab88</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPattern</span></td><td><code>9ce3eda7ee4e2f77</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPattern.MatchingContext</span></td><td><code>cd7dd7a5abd5c44f</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPattern.PathMatchInfo</span></td><td><code>58980da0b7cbfe2b</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPatternParser</span></td><td><code>5e7ad88ab1307ca5</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.PathPatternParser.1</span></td><td><code>1a3e94bb5f5a4004</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.SeparatorPathElement</span></td><td><code>af11f5d67ce873cc</code></td></tr><tr><td><span class="el_class">org.springframework.web.util.pattern.WildcardTheRestPathElement</span></td><td><code>d83311a40e557675</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDHKeyAgreement</span></td><td><code>90853ec316442961</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature</span></td><td><code>f4b57d788a7a5a90</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.Raw</span></td><td><code>08cd635dd9ec5983</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.RawECDSA</span></td><td><code>c769e3f97c1883d3</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA1</span></td><td><code>3abfa4adf9c4ade2</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA224</span></td><td><code>933dfac664ea28a8</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA256</span></td><td><code>baab9083293eb9eb</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA384</span></td><td><code>b63b62cbfb0ca132</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECDSASignature.SHA512</span></td><td><code>3d8302a46ea0fc51</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECKeyFactory</span></td><td><code>6e7ca880787b81b2</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECKeyPairGenerator</span></td><td><code>de4177bc3b47c92f</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations</span></td><td><code>1061bb3860fc74e0</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations.PointMultiplier</span></td><td><code>f1e922908436d0a4</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations.PointMultiplier.Default</span></td><td><code>fadecb11e4c738e9</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations.PointMultiplier.Secp256R1GeneratorMultiplier</span></td><td><code>6c78b75c41bbc221</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECOperations.PointMultiplier.Secp256R1GeneratorMultiplier.P256</span></td><td><code>273486fca7141e93</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECPrivateKeyImpl</span></td><td><code>a64d159b26a95bb2</code></td></tr><tr><td><span class="el_class">sun.security.ec.ECPublicKeyImpl</span></td><td><code>03c5f5d819e098b3</code></td></tr><tr><td><span class="el_class">sun.security.ec.ParametersMap</span></td><td><code>e56e1e4f9118e91d</code></td></tr><tr><td><span class="el_class">sun.security.ec.ParametersMap.1</span></td><td><code>e6501af6bd3d6f84</code></td></tr><tr><td><span class="el_class">sun.security.ec.SunEC</span></td><td><code>68c46e83f562a8e3</code></td></tr><tr><td><span class="el_class">sun.security.ec.SunEC.1</span></td><td><code>8ac81549806b31e1</code></td></tr><tr><td><span class="el_class">sun.security.ec.SunEC.ProviderService</span></td><td><code>2dfac80a07c2a37e</code></td></tr><tr><td><span class="el_class">sun.security.ec.SunEC.ProviderServiceA</span></td><td><code>0c531391998db416</code></td></tr><tr><td><span class="el_class">sun.security.ec.XDHKeyPairGenerator</span></td><td><code>202946da6f13b9dc</code></td></tr><tr><td><span class="el_class">sun.security.ec.XDHPrivateKeyImpl</span></td><td><code>5cec3940bdc443e6</code></td></tr><tr><td><span class="el_class">sun.security.ec.XDHPublicKeyImpl</span></td><td><code>d1c7bec9db488ba9</code></td></tr><tr><td><span class="el_class">sun.security.ec.XECOperations</span></td><td><code>3b9b4e8fb8f32d3d</code></td></tr><tr><td><span class="el_class">sun.security.ec.XECParameters</span></td><td><code>277aa75ccd752cb0</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.Ed25519Operations</span></td><td><code>93d232f2d9cb0d33</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.Ed448Operations</span></td><td><code>a0e6fad4cfa5cbe6</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSAParameters</span></td><td><code>6948c799a7d1a442</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSAParameters.SHA512DigesterFactory</span></td><td><code>15a5f4199c5abb13</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSAParameters.SHAKE256DigesterFactory</span></td><td><code>454e26bf2513f1e1</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSASignature</span></td><td><code>bc455ad44d460396</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSASignature.Ed25519</span></td><td><code>f16c0a7a5b7a75b7</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdDSASignature.Ed448</span></td><td><code>af905f21b60f41e8</code></td></tr><tr><td><span class="el_class">sun.security.ec.ed.EdECOperations</span></td><td><code>204273e897b7ccf9</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.AffinePoint</span></td><td><code>7ae32c0d50b3b15e</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ExtendedHomogeneousPoint</span></td><td><code>283da87589ffc795</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ExtendedHomogeneousPoint.Immutable</span></td><td><code>b4771c0bc2bce08c</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ProjectivePoint</span></td><td><code>caa2439e1f92792e</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ProjectivePoint.Immutable</span></td><td><code>7d9233993ce1a960</code></td></tr><tr><td><span class="el_class">sun.security.ec.point.ProjectivePoint.Mutable</span></td><td><code>4fb5a4eee9aa7da0</code></td></tr><tr><td><span class="el_class">sun.security.jgss.SunProvider</span></td><td><code>8d9a06b412ba029c</code></td></tr><tr><td><span class="el_class">sun.security.jgss.SunProvider.ProviderService</span></td><td><code>3ebef2c3c6f69a54</code></td></tr><tr><td><span class="el_class">sun.security.pkcs11.SunPKCS11</span></td><td><code>c600de7568cc9ad7</code></td></tr><tr><td><span class="el_class">sun.security.pkcs11.SunPKCS11.Descriptor</span></td><td><code>9e1cbf39adfded46</code></td></tr><tr><td><span class="el_class">sun.security.smartcardio.SunPCSC</span></td><td><code>02588d556ebf08eb</code></td></tr><tr><td><span class="el_class">sun.security.smartcardio.SunPCSC.1</span></td><td><code>b2870d346d9a946c</code></td></tr><tr><td><span class="el_class">sun.security.smartcardio.SunPCSC.ProviderService</span></td><td><code>5174e24e4c379a7d</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_en_001</span></td><td><code>0b9d9badf759ff3f</code></td></tr><tr><td><span class="el_class">sun.text.resources.cldr.ext.FormatData_en_GB</span></td><td><code>c14e38b962763eee</code></td></tr><tr><td><span class="el_class">sun.util.resources.cldr.provider.CLDRLocaleDataMetaInfo</span></td><td><code>cea799461486d92b</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.LocaleDataProvider</span></td><td><code>b4998bcaf6bc697c</code></td></tr><tr><td><span class="el_class">sun.util.resources.provider.NonBaseLocaleDataMetaInfo</span></td><td><code>054ae92f6b367f49</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.JavaVersion</span></td><td><code>6444045275aae40b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.api.internal.jvm.JavaVersionParser</span></td><td><code>1206b4dd1a2e9827</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderSpec</span></td><td><code>cb374b01ccbebc0b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils</span></td><td><code>8203100709821636</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.AbstractClassLoaderLookuper</span></td><td><code>c285dc94ede87ba6</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.Java9PackagesFetcher</span></td><td><code>66503273ab6df058</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.ClassLoaderUtils.LookupClassDefiner</span></td><td><code>101fed03f270a39f</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader</span></td><td><code>60efc1577bff24c0</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.RetrieveSystemPackagesClassLoader</span></td><td><code>f37f538880fb8032</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Spec</span></td><td><code>66254ecaab39094b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Trie</span></td><td><code>d8a5448b9f881d5b</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.Trie.Builder</span></td><td><code>c8dff2dff6ca0a46</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.classloader.FilteringClassLoader.TrieSet</span></td><td><code>9a9aec377ecda35c</code></td></tr><tr><td><span class="el_class">worker.org.gradle.internal.stream.EncodedStream.EncodedInput</span></td><td><code>9af7c11b2107c234</code></td></tr><tr><td><span class="el_class">worker.org.gradle.process.internal.worker.GradleWorkerMain</span></td><td><code>232767ef46e8d7ca</code></td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>
    \ No newline at end of file
    diff --git a/docs/reports/jacoco/test/jacocoTestReport.xml b/docs/reports/jacoco/test/jacocoTestReport.xml
    new file mode 100644
    index 0000000..e63af65
    --- /dev/null
    +++ b/docs/reports/jacoco/test/jacocoTestReport.xml
    @@ -0,0 +1 @@
    +<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE report PUBLIC "-//JACOCO//DTD Report 1.1//EN" "report.dtd"><report name="ilp-coursework"><sessioninfo id="zephyrus-b3d5005c" start="1769073072115" dump="1769073078168"/><package name="io/github/js0ny/ilp_coursework/service"><class name="io/github/js0ny/ilp_coursework/service/PathFinderService$TripResult" sourcefilename="PathFinderService.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse$DronePath;IF)V" line="548"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/DroneAttrComparatorService" sourcefilename="DroneAttrComparatorService.java"><method name="&lt;init&gt;" desc="()V" line="27"><counter type="INSTRUCTION" missed="13" covered="20"/><counter type="BRANCH" missed="5" covered="1"/><counter type="LINE" missed="3" covered="7"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesWithAttribute" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" line="57"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesSatisfyingAttributes" desc="([Lio/github/js0ny/ilp_coursework/data/request/AttrQueryRequest;)Ljava/util/List;" line="67"><counter type="INSTRUCTION" missed="0" covered="58"/><counter type="BRANCH" missed="0" covered="6"/><counter type="LINE" missed="0" covered="13"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesWithAttributeCompared" desc="(Ljava/lang/String;Ljava/lang/String;Lio/github/js0ny/ilp_coursework/util/AttrOperator;)Ljava/util/List;" line="102"><counter type="INSTRUCTION" missed="4" covered="33"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="8"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesWithAttributeCompared$0" desc="(Lcom/fasterxml/jackson/databind/ObjectMapper;Ljava/lang/String;Ljava/lang/String;Lio/github/js0ny/ilp_coursework/util/AttrOperator;Lio/github/js0ny/ilp_coursework/data/external/Drone;)Z" line="117"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="4"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="19" covered="132"/><counter type="BRANCH" missed="7" covered="9"/><counter type="LINE" missed="5" covered="33"/><counter type="COMPLEXITY" missed="5" covered="8"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/PathFinderService" sourcefilename="PathFinderService.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/service/GpsCalculationService;Lio/github/js0ny/ilp_coursework/service/DroneInfoService;)V" line="75"><counter type="INSTRUCTION" missed="2" covered="122"/><counter type="BRANCH" missed="4" covered="8"/><counter type="LINE" missed="2" covered="26"/><counter type="COMPLEXITY" missed="4" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDeliveryPath" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Lio/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse;" line="122"><counter type="INSTRUCTION" missed="23" covered="166"/><counter type="BRANCH" missed="10" covered="16"/><counter type="LINE" missed="7" covered="36"/><counter type="COMPLEXITY" missed="10" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDeliveryPathAsGeoJson" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/lang/String;" line="203"><counter type="INSTRUCTION" missed="8" covered="150"/><counter type="BRANCH" missed="5" covered="11"/><counter type="LINE" missed="3" covered="27"/><counter type="COMPLEXITY" missed="5" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="assignDeliveries" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/util/Map;" line="256"><counter type="INSTRUCTION" missed="1" covered="39"/><counter type="BRANCH" missed="2" covered="4"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="2" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="findBestDrone" desc="(Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/lang/String;" line="276"><counter type="INSTRUCTION" missed="10" covered="60"/><counter type="BRANCH" missed="5" covered="7"/><counter type="LINE" missed="4" covered="18"/><counter type="COMPLEXITY" missed="5" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="splitTrips" desc="(Ljava/util/List;Lio/github/js0ny/ilp_coursework/data/external/Drone;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Ljava/util/List;" line="320"><counter type="INSTRUCTION" missed="39" covered="55"/><counter type="BRANCH" missed="5" covered="5"/><counter type="LINE" missed="10" covered="12"/><counter type="COMPLEXITY" missed="4" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildTrip" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;Lio/github/js0ny/ilp_coursework/data/common/LngLat;Ljava/util/List;)Lio/github/js0ny/ilp_coursework/service/PathFinderService$TripResult;" line="364"><counter type="INSTRUCTION" missed="19" covered="126"/><counter type="BRANCH" missed="5" covered="7"/><counter type="LINE" missed="5" covered="27"/><counter type="COMPLEXITY" missed="5" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="estimateTripMoves" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Ljava/util/List;)I" line="417"><counter type="INSTRUCTION" missed="2" covered="42"/><counter type="BRANCH" missed="1" covered="3"/><counter type="LINE" missed="1" covered="10"/><counter type="COMPLEXITY" missed="1" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="computePath" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Lio/github/js0ny/ilp_coursework/service/PathFinderService$PathSegment;" line="441"><counter type="INSTRUCTION" missed="11" covered="63"/><counter type="BRANCH" missed="5" covered="7"/><counter type="LINE" missed="3" covered="14"/><counter type="COMPLEXITY" missed="5" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextPosition" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="474"><counter type="INSTRUCTION" missed="3" covered="39"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="2" covered="8"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="buildAngleCandidates" desc="(D)Ljava/util/List;" line="497"><counter type="INSTRUCTION" missed="0" covered="33"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="7"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isRestricted" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Z" line="515"><counter type="INSTRUCTION" missed="13" covered="9"/><counter type="BRANCH" missed="3" covered="1"/><counter type="LINE" missed="3" covered="2"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$assignDeliveries$3" desc="(Ljava/lang/String;)Ljava/util/List;" line="262"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$calculateDeliveryPath$2" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)D" line="165"><counter type="INSTRUCTION" missed="7" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="lambda$new$1" desc="(Lio/github/js0ny/ilp_coursework/data/external/ServicePoint;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="108"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$new$0" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;)Lio/github/js0ny/ilp_coursework/data/external/Drone;" line="89"><counter type="INSTRUCTION" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="138" covered="916"/><counter type="BRANCH" missed="47" covered="73"/><counter type="LINE" missed="43" covered="194"/><counter type="COMPLEXITY" missed="46" covered="30"/><counter type="METHOD" missed="1" covered="15"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/PathFinderService$PathSegment" sourcefilename="PathFinderService.java"><method name="&lt;init&gt;" desc="(Ljava/util/List;I)V" line="530"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="appendSkippingStart" desc="(Ljava/util/List;)V" line="538"><counter type="INSTRUCTION" missed="0" covered="18"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="27"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="2"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/DroneInfoService" sourcefilename="DroneInfoService.java"><method name="&lt;init&gt;" desc="()V" line="33"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;init&gt;" desc="(Lorg/springframework/web/client/RestTemplate;)V" line="25"><counter type="INSTRUCTION" missed="13" covered="18"/><counter type="BRANCH" missed="5" covered="1"/><counter type="LINE" missed="3" covered="7"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesWithCooling" desc="(Z)Ljava/util/List;" line="64"><counter type="INSTRUCTION" missed="4" covered="16"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="1" covered="6"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="droneDetail" desc="(Ljava/lang/String;)Lio/github/js0ny/ilp_coursework/data/external/Drone;" line="89"><counter type="INSTRUCTION" missed="0" covered="26"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="dronesMatchesRequirements" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/util/List;" line="112"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="4"/><counter type="LINE" missed="0" covered="11"/><counter type="COMPLEXITY" missed="0" covered="3"/><counter type="METHOD" missed="0" covered="1"/></method><method name="droneMatchesRequirement" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Z" line="145"><counter type="INSTRUCTION" missed="6" covered="66"/><counter type="BRANCH" missed="9" covered="13"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="8" covered="4"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkAvailability" desc="(Ljava/lang/String;Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Z" line="186"><counter type="INSTRUCTION" missed="8" covered="50"/><counter type="BRANCH" missed="3" covered="3"/><counter type="LINE" missed="1" covered="11"/><counter type="COMPLEXITY" missed="3" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="queryServicePointLocationByDroneId" desc="(Ljava/lang/String;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="206"><counter type="INSTRUCTION" missed="49" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="9" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="queryServicePointLocation" desc="(I)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="223"><counter type="INSTRUCTION" missed="48" covered="0"/><counter type="BRANCH" missed="6" covered="0"/><counter type="LINE" missed="8" covered="0"/><counter type="COMPLEXITY" missed="4" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="fetchAllDrones" desc="()Ljava/util/List;" line="239"><counter type="INSTRUCTION" missed="0" covered="32"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="fetchRestrictedAreas" desc="()Ljava/util/List;" line="248"><counter type="INSTRUCTION" missed="4" covered="19"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="fetchServicePoints" desc="()Ljava/util/List;" line="256"><counter type="INSTRUCTION" missed="4" covered="19"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="fetchDronesForServicePoints" desc="()Ljava/util/List;" line="264"><counter type="INSTRUCTION" missed="4" covered="19"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesMatchesRequirements$4" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;Lio/github/js0ny/ilp_coursework/data/external/Drone;)Z" line="128"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesMatchesRequirements$3" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Z" line="130"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesMatchesRequirements$2" desc="(Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Z" line="129"><counter type="INSTRUCTION" missed="1" covered="8"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesMatchesRequirements$1" desc="(Lio/github/js0ny/ilp_coursework/data/external/Drone;)Z" line="125"><counter type="INSTRUCTION" missed="1" covered="8"/><counter type="BRANCH" missed="2" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="2" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="lambda$dronesWithCooling$0" desc="(ZLio/github/js0ny/ilp_coursework/data/external/Drone;)Z" line="71"><counter type="INSTRUCTION" missed="0" covered="9"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="1"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="142" covered="343"/><counter type="BRANCH" missed="37" covered="37"/><counter type="LINE" missed="22" covered="82"/><counter type="COMPLEXITY" missed="30" covered="26"/><counter type="METHOD" missed="2" covered="17"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/service/GpsCalculationService" sourcefilename="GpsCalculationService.java"><method name="&lt;init&gt;" desc="()V" line="21"><counter type="INSTRUCTION" missed="0" covered="3"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDistance" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)D" line="47"><counter type="INSTRUCTION" missed="0" covered="21"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateSteps" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)D" line="54"><counter type="INSTRUCTION" missed="9" covered="0"/><counter type="LINE" missed="2" covered="0"/><counter type="COMPLEXITY" missed="1" covered="0"/><counter type="METHOD" missed="1" covered="0"/></method><method name="isCloseTo" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Z" line="71"><counter type="INSTRUCTION" missed="0" covered="13"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="nextPosition" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/Angle;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="86"><counter type="INSTRUCTION" missed="0" covered="25"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="checkIsInRegion" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/Region;)Z" line="105"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="BRANCH" missed="0" covered="2"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="2"/><counter type="METHOD" missed="0" covered="1"/></method><method name="rayCasting" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Ljava/util/List;)Z" line="123"><counter type="INSTRUCTION" missed="1" covered="101"/><counter type="BRANCH" missed="1" covered="15"/><counter type="LINE" missed="1" covered="19"/><counter type="COMPLEXITY" missed="1" covered="8"/><counter type="METHOD" missed="0" covered="1"/></method><method name="isPointOnEdge" desc="(Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;Lio/github/js0ny/ilp_coursework/data/common/LngLat;)Z" line="175"><counter type="INSTRUCTION" missed="0" covered="83"/><counter type="BRANCH" missed="1" covered="13"/><counter type="LINE" missed="0" covered="10"/><counter type="COMPLEXITY" missed="1" covered="7"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="10" covered="260"/><counter type="BRANCH" missed="2" covered="32"/><counter type="LINE" missed="3" covered="42"/><counter type="COMPLEXITY" missed="3" covered="22"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="DroneAttrComparatorService.java"><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="28" mi="0" ci="5" mb="0" cb="0"/><line nr="31" mi="0" ci="2" mb="0" cb="0"/><line nr="32" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="3" ci="2" mb="3" cb="1"/><line nr="34" mi="0" ci="4" mb="0" cb="0"/><line nr="37" mi="4" ci="0" mb="2" cb="0"/><line nr="38" mi="3" ci="0" mb="0" cb="0"/><line nr="40" mi="3" ci="0" mb="0" cb="0"/><line nr="42" mi="0" ci="1" mb="0" cb="0"/><line nr="57" mi="0" ci="6" mb="0" cb="0"/><line nr="67" mi="0" ci="2" mb="0" cb="0"/><line nr="68" mi="0" ci="16" mb="0" cb="2"/><line nr="69" mi="0" ci="3" mb="0" cb="0"/><line nr="70" mi="0" ci="3" mb="0" cb="0"/><line nr="71" mi="0" ci="3" mb="0" cb="0"/><line nr="72" mi="0" ci="3" mb="0" cb="0"/><line nr="73" mi="0" ci="6" mb="0" cb="0"/><line nr="74" mi="0" ci="2" mb="0" cb="2"/><line nr="75" mi="0" ci="6" mb="0" cb="0"/><line nr="77" mi="0" ci="4" mb="0" cb="0"/><line nr="80" mi="0" ci="2" mb="0" cb="2"/><line nr="81" mi="0" ci="4" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="102" mi="0" ci="6" mb="0" cb="0"/><line nr="104" mi="0" ci="7" mb="0" cb="0"/><line nr="106" mi="0" ci="2" mb="1" cb="1"/><line nr="107" mi="4" ci="0" mb="0" cb="0"/><line nr="112" mi="0" ci="4" mb="0" cb="0"/><line nr="114" mi="0" ci="8" mb="0" cb="0"/><line nr="115" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="4" mb="0" cb="0"/><line nr="118" mi="0" ci="4" mb="0" cb="0"/><line nr="119" mi="0" ci="2" mb="1" cb="1"/><line nr="121" mi="0" ci="5" mb="0" cb="0"/><line nr="123" mi="2" ci="0" mb="0" cb="0"/><line nr="126" mi="0" ci="1" mb="0" cb="0"/><line nr="127" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="19" covered="132"/><counter type="BRANCH" missed="7" covered="9"/><counter type="LINE" missed="5" covered="33"/><counter type="COMPLEXITY" missed="5" covered="8"/><counter type="METHOD" missed="0" covered="5"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DroneInfoService.java"><line nr="21" mi="0" ci="1" mb="0" cb="0"/><line nr="25" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="5" mb="0" cb="0"/><line nr="34" mi="0" ci="1" mb="0" cb="0"/><line nr="36" mi="0" ci="2" mb="0" cb="0"/><line nr="37" mi="0" ci="3" mb="0" cb="0"/><line nr="38" mi="0" ci="3" mb="0" cb="0"/><line nr="39" mi="3" ci="2" mb="3" cb="1"/><line nr="40" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="4" ci="0" mb="2" cb="0"/><line nr="44" mi="3" ci="0" mb="0" cb="0"/><line nr="46" mi="3" ci="0" mb="0" cb="0"/><line nr="48" mi="0" ci="1" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="2" mb="1" cb="1"/><line nr="67" mi="4" ci="0" mb="0" cb="0"/><line nr="70" mi="0" ci="5" mb="0" cb="0"/><line nr="71" mi="0" ci="11" mb="0" cb="2"/><line nr="72" mi="0" ci="1" mb="0" cb="0"/><line nr="73" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="3" mb="0" cb="0"/><line nr="91" mi="0" ci="10" mb="0" cb="2"/><line nr="92" mi="0" ci="5" mb="0" cb="2"/><line nr="93" mi="0" ci="2" mb="0" cb="0"/><line nr="95" mi="0" ci="1" mb="0" cb="0"/><line nr="98" mi="0" ci="5" mb="0" cb="0"/><line nr="112" mi="0" ci="3" mb="0" cb="0"/><line nr="114" mi="0" ci="5" mb="0" cb="4"/><line nr="115" mi="0" ci="4" mb="0" cb="0"/><line nr="116" mi="0" ci="2" mb="0" cb="0"/><line nr="117" mi="0" ci="1" mb="0" cb="0"/><line nr="118" mi="0" ci="3" mb="0" cb="0"/><line nr="124" mi="0" ci="4" mb="0" cb="0"/><line nr="125" mi="1" ci="12" mb="2" cb="2"/><line nr="126" mi="0" ci="2" mb="0" cb="0"/><line nr="128" mi="0" ci="4" mb="0" cb="0"/><line nr="129" mi="1" ci="12" mb="2" cb="2"/><line nr="130" mi="0" ci="6" mb="0" cb="0"/><line nr="131" mi="0" ci="1" mb="0" cb="0"/><line nr="132" mi="0" ci="3" mb="0" cb="0"/><line nr="145" mi="0" ci="3" mb="0" cb="0"/><line nr="146" mi="0" ci="2" mb="0" cb="2"/><line nr="147" mi="0" ci="5" mb="0" cb="0"/><line nr="149" mi="0" ci="3" mb="0" cb="0"/><line nr="150" mi="0" ci="2" mb="0" cb="2"/><line nr="151" mi="0" ci="5" mb="0" cb="0"/><line nr="154" mi="0" ci="3" mb="0" cb="0"/><line nr="155" mi="0" ci="9" mb="1" cb="3"/><line nr="156" mi="0" ci="2" mb="0" cb="0"/><line nr="160" mi="0" ci="3" mb="0" cb="0"/><line nr="161" mi="0" ci="3" mb="0" cb="0"/><line nr="168" mi="1" ci="8" mb="2" cb="2"/><line nr="169" mi="4" ci="5" mb="3" cb="1"/><line nr="173" mi="1" ci="13" mb="3" cb="3"/><line nr="186" mi="0" ci="6" mb="0" cb="0"/><line nr="187" mi="0" ci="4" mb="0" cb="0"/><line nr="188" mi="0" ci="3" mb="0" cb="0"/><line nr="190" mi="0" ci="3" mb="0" cb="0"/><line nr="191" mi="0" ci="3" mb="0" cb="0"/><line nr="192" mi="0" ci="3" mb="0" cb="0"/><line nr="194" mi="4" ci="3" mb="1" cb="1"/><line nr="195" mi="2" ci="14" mb="1" cb="1"/><line nr="196" mi="0" ci="4" mb="0" cb="0"/><line nr="197" mi="0" ci="2" mb="1" cb="1"/><line nr="198" mi="0" ci="5" mb="0" cb="0"/><line nr="202" mi="2" ci="0" mb="0" cb="0"/><line nr="206" mi="6" ci="0" mb="0" cb="0"/><line nr="207" mi="4" ci="0" mb="0" cb="0"/><line nr="208" mi="3" ci="0" mb="0" cb="0"/><line nr="210" mi="7" ci="0" mb="2" cb="0"/><line nr="211" mi="16" ci="0" mb="2" cb="0"/><line nr="212" mi="4" ci="0" mb="0" cb="0"/><line nr="213" mi="2" ci="0" mb="2" cb="0"/><line nr="214" mi="5" ci="0" mb="0" cb="0"/><line nr="218" mi="2" ci="0" mb="0" cb="0"/><line nr="223" mi="6" ci="0" mb="0" cb="0"/><line nr="225" mi="4" ci="0" mb="0" cb="0"/><line nr="226" mi="3" ci="0" mb="0" cb="0"/><line nr="228" mi="7" ci="0" mb="2" cb="0"/><line nr="229" mi="16" ci="0" mb="2" cb="0"/><line nr="230" mi="4" ci="0" mb="2" cb="0"/><line nr="232" mi="6" ci="0" mb="0" cb="0"/><line nr="235" mi="2" ci="0" mb="0" cb="0"/><line nr="239" mi="0" ci="3" mb="0" cb="0"/><line nr="240" mi="0" ci="2" mb="0" cb="0"/><line nr="241" mi="0" ci="6" mb="0" cb="0"/><line nr="242" mi="0" ci="5" mb="0" cb="0"/><line nr="243" mi="0" ci="7" mb="0" cb="0"/><line nr="244" mi="0" ci="9" mb="0" cb="2"/><line nr="248" mi="0" ci="6" mb="0" cb="0"/><line nr="249" mi="0" ci="4" mb="0" cb="0"/><line nr="250" mi="0" ci="3" mb="0" cb="0"/><line nr="251" mi="4" ci="3" mb="1" cb="1"/><line nr="252" mi="0" ci="3" mb="0" cb="0"/><line nr="256" mi="0" ci="6" mb="0" cb="0"/><line nr="257" mi="0" ci="4" mb="0" cb="0"/><line nr="258" mi="0" ci="3" mb="0" cb="0"/><line nr="259" mi="4" ci="3" mb="1" cb="1"/><line nr="260" mi="0" ci="3" mb="0" cb="0"/><line nr="264" mi="0" ci="6" mb="0" cb="0"/><line nr="265" mi="0" ci="4" mb="0" cb="0"/><line nr="266" mi="0" ci="3" mb="0" cb="0"/><line nr="267" mi="4" ci="3" mb="1" cb="1"/><line nr="268" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="142" covered="343"/><counter type="BRANCH" missed="37" covered="37"/><counter type="LINE" missed="22" covered="82"/><counter type="COMPLEXITY" missed="30" covered="26"/><counter type="METHOD" missed="2" covered="17"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="PathFinderService.java"><line nr="75" mi="0" ci="2" mb="0" cb="0"/><line nr="76" mi="0" ci="3" mb="0" cb="0"/><line nr="77" mi="0" ci="3" mb="0" cb="0"/><line nr="78" mi="0" ci="5" mb="0" cb="0"/><line nr="79" mi="0" ci="7" mb="0" cb="0"/><line nr="80" mi="0" ci="5" mb="0" cb="0"/><line nr="81" mi="0" ci="5" mb="0" cb="0"/><line nr="83" mi="0" ci="4" mb="0" cb="0"/><line nr="84" mi="0" ci="3" mb="0" cb="0"/><line nr="85" mi="0" ci="1" mb="0" cb="0"/><line nr="86" mi="0" ci="2" mb="0" cb="0"/><line nr="87" mi="0" ci="3" mb="0" cb="0"/><line nr="89" mi="0" ci="12" mb="0" cb="0"/><line nr="91" mi="0" ci="5" mb="0" cb="0"/><line nr="92" mi="0" ci="10" mb="0" cb="2"/><line nr="93" mi="0" ci="5" mb="2" cb="2"/><line nr="94" mi="1" ci="0" mb="0" cb="0"/><line nr="96" mi="0" ci="17" mb="0" cb="2"/><line nr="97" mi="0" ci="5" mb="2" cb="2"/><line nr="98" mi="1" ci="0" mb="0" cb="0"/><line nr="100" mi="0" ci="9" mb="0" cb="0"/><line nr="102" mi="0" ci="1" mb="0" cb="0"/><line nr="104" mi="0" ci="2" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="0"/><line nr="106" mi="0" ci="3" mb="0" cb="0"/><line nr="107" mi="0" ci="1" mb="0" cb="0"/><line nr="108" mi="0" ci="6" mb="0" cb="0"/><line nr="110" mi="0" ci="7" mb="0" cb="0"/><line nr="111" mi="0" ci="1" mb="0" cb="0"/><line nr="122" mi="0" ci="5" mb="2" cb="2"/><line nr="123" mi="8" ci="0" mb="0" cb="0"/><line nr="126" mi="0" ci="4" mb="0" cb="0"/><line nr="127" mi="0" ci="16" mb="0" cb="2"/><line nr="128" mi="0" ci="5" mb="1" cb="1"/><line nr="129" mi="3" ci="0" mb="0" cb="0"/><line nr="131" mi="4" ci="0" mb="0" cb="0"/><line nr="134" mi="0" ci="6" mb="2" cb="2"/><line nr="135" mi="0" ci="11" mb="0" cb="0"/><line nr="139" mi="0" ci="4" mb="0" cb="0"/><line nr="141" mi="0" ci="4" mb="0" cb="0"/><line nr="142" mi="0" ci="2" mb="0" cb="0"/><line nr="143" mi="0" ci="2" mb="0" cb="0"/><line nr="145" mi="0" ci="11" mb="0" cb="2"/><line nr="146" mi="0" ci="4" mb="0" cb="0"/><line nr="147" mi="0" ci="6" mb="0" cb="0"/><line nr="148" mi="0" ci="2" mb="1" cb="1"/><line nr="149" mi="1" ci="0" mb="0" cb="0"/><line nr="151" mi="0" ci="6" mb="0" cb="0"/><line nr="152" mi="0" ci="2" mb="1" cb="1"/><line nr="153" mi="1" ci="0" mb="0" cb="0"/><line nr="155" mi="0" ci="6" mb="0" cb="0"/><line nr="156" mi="0" ci="2" mb="1" cb="1"/><line nr="157" mi="1" ci="0" mb="0" cb="0"/><line nr="160" mi="0" ci="1" mb="0" cb="0"/><line nr="161" mi="0" ci="6" mb="0" cb="0"/><line nr="162" mi="0" ci="1" mb="0" cb="0"/><line nr="163" mi="0" ci="1" mb="0" cb="0"/><line nr="165" mi="6" ci="0" mb="0" cb="0"/><line nr="166" mi="1" ci="0" mb="0" cb="0"/><line nr="167" mi="0" ci="2" mb="0" cb="0"/><line nr="169" mi="0" ci="4" mb="0" cb="0"/><line nr="170" mi="0" ci="2" mb="0" cb="0"/><line nr="172" mi="0" ci="10" mb="0" cb="2"/><line nr="173" mi="0" ci="6" mb="0" cb="0"/><line nr="174" mi="0" ci="2" mb="1" cb="1"/><line nr="175" mi="0" ci="5" mb="0" cb="0"/><line nr="176" mi="0" ci="5" mb="0" cb="0"/><line nr="177" mi="0" ci="5" mb="0" cb="0"/><line nr="179" mi="0" ci="1" mb="0" cb="0"/><line nr="180" mi="0" ci="1" mb="0" cb="0"/><line nr="182" mi="0" ci="11" mb="0" cb="0"/><line nr="184" mi="0" ci="3" mb="1" cb="1"/><line nr="185" mi="5" ci="0" mb="0" cb="0"/><line nr="188" mi="0" ci="2" mb="0" cb="0"/><line nr="203" mi="0" ci="4" mb="0" cb="0"/><line nr="204" mi="0" ci="4" mb="0" cb="0"/><line nr="205" mi="0" ci="5" mb="0" cb="0"/><line nr="206" mi="0" ci="4" mb="0" cb="0"/><line nr="208" mi="0" ci="5" mb="2" cb="2"/><line nr="209" mi="0" ci="17" mb="0" cb="2"/><line nr="210" mi="0" ci="5" mb="2" cb="2"/><line nr="211" mi="1" ci="0" mb="0" cb="0"/><line nr="213" mi="0" ci="11" mb="0" cb="2"/><line nr="214" mi="0" ci="4" mb="0" cb="0"/><line nr="215" mi="0" ci="5" mb="0" cb="0"/><line nr="217" mi="0" ci="4" mb="0" cb="0"/><line nr="218" mi="0" ci="7" mb="0" cb="0"/><line nr="219" mi="0" ci="7" mb="0" cb="0"/><line nr="220" mi="0" ci="5" mb="0" cb="0"/><line nr="222" mi="0" ci="4" mb="0" cb="0"/><line nr="223" mi="0" ci="5" mb="0" cb="0"/><line nr="225" mi="0" ci="4" mb="0" cb="0"/><line nr="226" mi="0" ci="3" mb="1" cb="1"/><line nr="227" mi="0" ci="11" mb="0" cb="2"/><line nr="228" mi="0" ci="10" mb="0" cb="0"/><line nr="229" mi="0" ci="1" mb="0" cb="0"/><line nr="231" mi="0" ci="5" mb="0" cb="0"/><line nr="232" mi="0" ci="5" mb="0" cb="0"/><line nr="233" mi="0" ci="4" mb="0" cb="0"/><line nr="234" mi="0" ci="1" mb="0" cb="0"/><line nr="238" mi="0" ci="5" mb="0" cb="0"/><line nr="241" mi="0" ci="5" mb="0" cb="0"/><line nr="242" mi="1" ci="0" mb="0" cb="0"/><line nr="243" mi="6" ci="0" mb="0" cb="0"/><line nr="256" mi="0" ci="4" mb="0" cb="0"/><line nr="257" mi="0" ci="16" mb="0" cb="2"/><line nr="258" mi="0" ci="5" mb="2" cb="2"/><line nr="259" mi="1" ci="0" mb="0" cb="0"/><line nr="261" mi="0" ci="4" mb="0" cb="0"/><line nr="262" mi="0" ci="12" mb="0" cb="0"/><line nr="264" mi="0" ci="2" mb="0" cb="0"/><line nr="276" mi="0" ci="2" mb="0" cb="0"/><line nr="277" mi="0" ci="2" mb="0" cb="0"/><line nr="279" mi="0" ci="11" mb="0" cb="2"/><line nr="280" mi="0" ci="6" mb="1" cb="1"/><line nr="281" mi="1" ci="0" mb="0" cb="0"/><line nr="283" mi="0" ci="3" mb="0" cb="0"/><line nr="284" mi="0" ci="6" mb="0" cb="0"/><line nr="285" mi="0" ci="2" mb="1" cb="1"/><line nr="286" mi="1" ci="0" mb="0" cb="0"/><line nr="288" mi="0" ci="6" mb="0" cb="0"/><line nr="289" mi="0" ci="2" mb="1" cb="1"/><line nr="290" mi="1" ci="0" mb="0" cb="0"/><line nr="293" mi="0" ci="4" mb="0" cb="0"/><line nr="294" mi="0" ci="2" mb="0" cb="0"/><line nr="295" mi="0" ci="1" mb="0" cb="0"/><line nr="297" mi="0" ci="4" mb="1" cb="1"/><line nr="298" mi="0" ci="2" mb="0" cb="0"/><line nr="299" mi="0" ci="2" mb="0" cb="0"/><line nr="301" mi="0" ci="1" mb="0" cb="0"/><line nr="302" mi="0" ci="2" mb="1" cb="1"/><line nr="303" mi="7" ci="0" mb="0" cb="0"/><line nr="305" mi="0" ci="2" mb="0" cb="0"/><line nr="320" mi="0" ci="4" mb="0" cb="0"/><line nr="321" mi="0" ci="4" mb="0" cb="0"/><line nr="322" mi="0" ci="10" mb="0" cb="2"/><line nr="323" mi="0" ci="4" mb="0" cb="0"/><line nr="324" mi="0" ci="5" mb="0" cb="0"/><line nr="325" mi="0" ci="5" mb="1" cb="1"/><line nr="326" mi="7" ci="0" mb="0" cb="0"/><line nr="327" mi="3" ci="0" mb="2" cb="0"/><line nr="328" mi="3" ci="0" mb="0" cb="0"/><line nr="330" mi="2" ci="0" mb="0" cb="0"/><line nr="332" mi="4" ci="0" mb="0" cb="0"/><line nr="335" mi="7" ci="0" mb="0" cb="0"/><line nr="336" mi="2" ci="0" mb="0" cb="0"/><line nr="337" mi="4" ci="0" mb="0" cb="0"/><line nr="339" mi="0" ci="1" mb="0" cb="0"/><line nr="340" mi="0" ci="3" mb="1" cb="1"/><line nr="341" mi="0" ci="5" mb="0" cb="0"/><line nr="342" mi="0" ci="5" mb="1" cb="1"/><line nr="343" mi="3" ci="0" mb="0" cb="0"/><line nr="344" mi="4" ci="0" mb="0" cb="0"/><line nr="346" mi="0" ci="7" mb="0" cb="0"/><line nr="348" mi="0" ci="2" mb="0" cb="0"/><line nr="364" mi="0" ci="5" mb="2" cb="2"/><line nr="365" mi="2" ci="0" mb="0" cb="0"/><line nr="367" mi="0" ci="4" mb="0" cb="0"/><line nr="368" mi="0" ci="2" mb="0" cb="0"/><line nr="369" mi="0" ci="2" mb="0" cb="0"/><line nr="371" mi="0" ci="8" mb="0" cb="2"/><line nr="372" mi="0" ci="5" mb="0" cb="0"/><line nr="373" mi="0" ci="6" mb="0" cb="0"/><line nr="374" mi="0" ci="6" mb="0" cb="0"/><line nr="375" mi="0" ci="3" mb="1" cb="1"/><line nr="376" mi="0" ci="8" mb="0" cb="0"/><line nr="377" mi="0" ci="5" mb="1" cb="1"/><line nr="378" mi="5" ci="0" mb="0" cb="0"/><line nr="380" mi="0" ci="1" mb="0" cb="0"/><line nr="381" mi="4" ci="0" mb="0" cb="0"/><line nr="382" mi="5" ci="0" mb="0" cb="0"/><line nr="384" mi="0" ci="5" mb="0" cb="0"/><line nr="385" mi="0" ci="5" mb="0" cb="0"/><line nr="387" mi="0" ci="6" mb="1" cb="1"/><line nr="388" mi="0" ci="6" mb="0" cb="0"/><line nr="389" mi="0" ci="3" mb="0" cb="0"/><line nr="390" mi="0" ci="5" mb="0" cb="0"/><line nr="391" mi="0" ci="2" mb="0" cb="0"/><line nr="392" mi="0" ci="1" mb="0" cb="0"/><line nr="393" mi="3" ci="0" mb="0" cb="0"/><line nr="395" mi="0" ci="9" mb="0" cb="0"/><line nr="398" mi="0" ci="1" mb="0" cb="0"/><line nr="399" mi="0" ci="3" mb="0" cb="0"/><line nr="400" mi="0" ci="4" mb="0" cb="0"/><line nr="401" mi="0" ci="7" mb="0" cb="0"/><line nr="403" mi="0" ci="7" mb="0" cb="0"/><line nr="405" mi="0" ci="7" mb="0" cb="0"/><line nr="417" mi="0" ci="3" mb="1" cb="1"/><line nr="418" mi="2" ci="0" mb="0" cb="0"/><line nr="420" mi="0" ci="2" mb="0" cb="0"/><line nr="421" mi="0" ci="2" mb="0" cb="0"/><line nr="422" mi="0" ci="10" mb="0" cb="2"/><line nr="423" mi="0" ci="6" mb="0" cb="0"/><line nr="424" mi="0" ci="5" mb="0" cb="0"/><line nr="425" mi="0" ci="3" mb="0" cb="0"/><line nr="426" mi="0" ci="1" mb="0" cb="0"/><line nr="427" mi="0" ci="8" mb="0" cb="0"/><line nr="428" mi="0" ci="2" mb="0" cb="0"/><line nr="441" mi="0" ci="4" mb="0" cb="0"/><line nr="442" mi="0" ci="4" mb="2" cb="2"/><line nr="443" mi="6" ci="0" mb="0" cb="0"/><line nr="445" mi="0" ci="4" mb="0" cb="0"/><line nr="446" mi="0" ci="2" mb="0" cb="0"/><line nr="447" mi="0" ci="2" mb="0" cb="0"/><line nr="448" mi="0" ci="9" mb="1" cb="3"/><line nr="450" mi="0" ci="5" mb="0" cb="0"/><line nr="451" mi="0" ci="4" mb="1" cb="1"/><line nr="452" mi="1" ci="0" mb="0" cb="0"/><line nr="454" mi="0" ci="4" mb="0" cb="0"/><line nr="455" mi="0" ci="2" mb="0" cb="0"/><line nr="456" mi="0" ci="1" mb="0" cb="0"/><line nr="457" mi="0" ci="1" mb="0" cb="0"/><line nr="458" mi="0" ci="10" mb="1" cb="1"/><line nr="459" mi="4" ci="0" mb="0" cb="0"/><line nr="461" mi="0" ci="11" mb="0" cb="0"/><line nr="474" mi="0" ci="1" mb="0" cb="0"/><line nr="475" mi="0" ci="2" mb="0" cb="0"/><line nr="476" mi="0" ci="10" mb="0" cb="0"/><line nr="477" mi="0" ci="4" mb="0" cb="0"/><line nr="478" mi="0" ci="10" mb="1" cb="1"/><line nr="479" mi="0" ci="6" mb="0" cb="0"/><line nr="480" mi="0" ci="4" mb="1" cb="1"/><line nr="481" mi="0" ci="2" mb="0" cb="0"/><line nr="483" mi="1" ci="0" mb="0" cb="0"/><line nr="484" mi="2" ci="0" mb="0" cb="0"/><line nr="497" mi="0" ci="4" mb="0" cb="0"/><line nr="498" mi="0" ci="3" mb="0" cb="0"/><line nr="499" mi="0" ci="4" mb="0" cb="0"/><line nr="500" mi="0" ci="7" mb="0" cb="2"/><line nr="501" mi="0" ci="6" mb="0" cb="0"/><line nr="502" mi="0" ci="7" mb="0" cb="0"/><line nr="504" mi="0" ci="2" mb="0" cb="0"/><line nr="515" mi="4" ci="7" mb="1" cb="1"/><line nr="516" mi="6" ci="0" mb="2" cb="0"/><line nr="517" mi="2" ci="0" mb="0" cb="0"/><line nr="519" mi="1" ci="0" mb="0" cb="0"/><line nr="520" mi="0" ci="2" mb="0" cb="0"/><line nr="530" mi="0" ci="9" mb="0" cb="0"/><line nr="538" mi="0" ci="9" mb="0" cb="2"/><line nr="539" mi="0" ci="8" mb="0" cb="0"/><line nr="541" mi="0" ci="1" mb="0" cb="0"/><line nr="548" mi="0" ci="12" mb="0" cb="0"/><counter type="INSTRUCTION" missed="138" covered="955"/><counter type="BRANCH" missed="47" covered="75"/><counter type="LINE" missed="43" covered="199"/><counter type="COMPLEXITY" missed="46" covered="34"/><counter type="METHOD" missed="1" covered="18"/><counter type="CLASS" missed="0" covered="3"/></sourcefile><sourcefile name="GpsCalculationService.java"><line nr="21" mi="0" ci="3" mb="0" cb="0"/><line nr="47" mi="0" ci="6" mb="0" cb="0"/><line nr="48" mi="0" ci="6" mb="0" cb="0"/><line nr="50" mi="0" ci="9" mb="0" cb="0"/><line nr="54" mi="5" ci="0" mb="0" cb="0"/><line nr="55" mi="4" ci="0" mb="0" cb="0"/><line nr="71" mi="0" ci="5" mb="0" cb="0"/><line nr="72" mi="0" ci="8" mb="0" cb="2"/><line nr="86" mi="0" ci="3" mb="0" cb="0"/><line nr="87" mi="0" ci="8" mb="0" cb="0"/><line nr="88" mi="0" ci="8" mb="0" cb="0"/><line nr="89" mi="0" ci="6" mb="0" cb="0"/><line nr="105" mi="0" ci="3" mb="0" cb="2"/><line nr="107" mi="0" ci="5" mb="0" cb="0"/><line nr="109" mi="0" ci="6" mb="0" cb="0"/><line nr="123" mi="0" ci="2" mb="0" cb="0"/><line nr="124" mi="0" ci="3" mb="0" cb="0"/><line nr="125" mi="0" ci="7" mb="0" cb="2"/><line nr="126" mi="0" ci="5" mb="0" cb="0"/><line nr="127" mi="0" ci="9" mb="0" cb="0"/><line nr="129" mi="0" ci="6" mb="0" cb="2"/><line nr="130" mi="0" ci="2" mb="0" cb="0"/><line nr="134" mi="0" ci="6" mb="0" cb="2"/><line nr="135" mi="0" ci="2" mb="0" cb="0"/><line nr="136" mi="0" ci="2" mb="0" cb="0"/><line nr="137" mi="0" ci="2" mb="0" cb="0"/><line nr="141" mi="0" ci="12" mb="0" cb="4"/><line nr="142" mi="0" ci="1" mb="0" cb="0"/><line nr="146" mi="0" ci="6" mb="1" cb="1"/><line nr="147" mi="1" ci="0" mb="0" cb="0"/><line nr="150" mi="0" ci="1" mb="0" cb="0"/><line nr="151" mi="0" ci="20" mb="0" cb="0"/><line nr="153" mi="0" ci="5" mb="0" cb="2"/><line nr="154" mi="0" ci="1" mb="0" cb="0"/><line nr="160" mi="0" ci="9" mb="0" cb="2"/><line nr="175" mi="0" ci="1" mb="0" cb="0"/><line nr="176" mi="0" ci="11" mb="0" cb="0"/><line nr="177" mi="0" ci="12" mb="0" cb="0"/><line nr="178" mi="0" ci="5" mb="0" cb="2"/><line nr="179" mi="0" ci="2" mb="0" cb="0"/><line nr="182" mi="0" ci="1" mb="0" cb="0"/><line nr="183" mi="0" ci="21" mb="1" cb="3"/><line nr="184" mi="0" ci="1" mb="0" cb="0"/><line nr="185" mi="0" ci="21" mb="0" cb="4"/><line nr="187" mi="0" ci="8" mb="0" cb="4"/><counter type="INSTRUCTION" missed="10" covered="260"/><counter type="BRANCH" missed="2" covered="32"/><counter type="LINE" missed="3" covered="42"/><counter type="COMPLEXITY" missed="3" covered="22"/><counter type="METHOD" missed="1" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="309" covered="1690"/><counter type="BRANCH" missed="93" covered="153"/><counter type="LINE" missed="73" covered="356"/><counter type="COMPLEXITY" missed="84" covered="90"/><counter type="METHOD" missed="4" covered="47"/><counter type="CLASS" missed="0" covered="6"/></package><package name="io/github/js0ny/ilp_coursework/controller"><class name="io/github/js0ny/ilp_coursework/controller/MapMetaController" sourcefilename="MapMetaController.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/service/DroneInfoService;)V" line="23"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getRestrictedAreas" desc="()Ljava/util/List;" line="29"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getServicePoints" desc="()Ljava/util/List;" line="35"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/controller/DroneController" sourcefilename="DroneController.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/service/DroneInfoService;Lio/github/js0ny/ilp_coursework/service/DroneAttrComparatorService;Lio/github/js0ny/ilp_coursework/service/PathFinderService;)V" line="46"><counter type="INSTRUCTION" missed="0" covered="12"/><counter type="LINE" missed="0" covered="5"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDronesWithCoolingCapability" desc="(Z)Ljava/util/List;" line="62"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDroneDetail" desc="(Ljava/lang/String;)Lorg/springframework/http/ResponseEntity;" line="76"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="6"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIdByAttrMap" desc="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" line="96"><counter type="INSTRUCTION" missed="0" covered="11"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIdByAttrMapPost" desc="([Lio/github/js0ny/ilp_coursework/data/request/AttrQueryRequest;)Ljava/util/List;" line="102"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="queryAvailableDrones" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/util/List;" line="109"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDeliveryPath" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Lio/github/js0ny/ilp_coursework/data/response/DeliveryPathResponse;" line="116"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="calculateDeliveryPathAsGeoJson" desc="([Lio/github/js0ny/ilp_coursework/data/request/MedDispatchRecRequest;)Ljava/lang/String;" line="123"><counter type="INSTRUCTION" missed="2" covered="15"/><counter type="BRANCH" missed="1" covered="1"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="1" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="28"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="8" covered="117"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="4" covered="9"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></class><class name="io/github/js0ny/ilp_coursework/controller/ApiController" sourcefilename="ApiController.java"><method name="&lt;init&gt;" desc="(Lio/github/js0ny/ilp_coursework/service/GpsCalculationService;)V" line="41"><counter type="INSTRUCTION" missed="0" covered="6"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getUid" desc="()Ljava/lang/String;" line="52"><counter type="INSTRUCTION" missed="0" covered="5"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getDistance" desc="(Lio/github/js0ny/ilp_coursework/data/request/DistanceRequest;)D" line="64"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIsCloseTo" desc="(Lio/github/js0ny/ilp_coursework/data/request/DistanceRequest;)Z" line="79"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getNextPosition" desc="(Lio/github/js0ny/ilp_coursework/data/request/MovementRequest;)Lio/github/js0ny/ilp_coursework/data/common/LngLat;" line="94"><counter type="INSTRUCTION" missed="0" covered="20"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="getIsInRegion" desc="(Lio/github/js0ny/ilp_coursework/data/request/RegionCheckRequest;)Z" line="108"><counter type="INSTRUCTION" missed="0" covered="17"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="30"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="86"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="ApiController.java"><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="41" mi="0" ci="2" mb="0" cb="0"/><line nr="42" mi="0" ci="3" mb="0" cb="0"/><line nr="43" mi="0" ci="1" mb="0" cb="0"/><line nr="52" mi="0" ci="3" mb="0" cb="0"/><line nr="53" mi="0" ci="2" mb="0" cb="0"/><line nr="64" mi="0" ci="3" mb="0" cb="0"/><line nr="65" mi="0" ci="3" mb="0" cb="0"/><line nr="66" mi="0" ci="5" mb="0" cb="0"/><line nr="67" mi="0" ci="6" mb="0" cb="0"/><line nr="79" mi="0" ci="3" mb="0" cb="0"/><line nr="80" mi="0" ci="3" mb="0" cb="0"/><line nr="81" mi="0" ci="5" mb="0" cb="0"/><line nr="82" mi="0" ci="6" mb="0" cb="0"/><line nr="94" mi="0" ci="3" mb="0" cb="0"/><line nr="95" mi="0" ci="6" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="6" mb="0" cb="0"/><line nr="108" mi="0" ci="3" mb="0" cb="0"/><line nr="109" mi="0" ci="3" mb="0" cb="0"/><line nr="110" mi="0" ci="5" mb="0" cb="0"/><line nr="111" mi="0" ci="6" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="86"/><counter type="LINE" missed="0" covered="22"/><counter type="COMPLEXITY" missed="0" covered="7"/><counter type="METHOD" missed="0" covered="7"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="MapMetaController.java"><line nr="19" mi="0" ci="4" mb="0" cb="0"/><line nr="23" mi="0" ci="2" mb="0" cb="0"/><line nr="24" mi="0" ci="3" mb="0" cb="0"/><line nr="25" mi="0" ci="1" mb="0" cb="0"/><line nr="29" mi="0" ci="3" mb="0" cb="0"/><line nr="30" mi="0" ci="4" mb="0" cb="0"/><line nr="35" mi="0" ci="3" mb="0" cb="0"/><line nr="36" mi="0" ci="4" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="24"/><counter type="LINE" missed="0" covered="8"/><counter type="COMPLEXITY" missed="0" covered="4"/><counter type="METHOD" missed="0" covered="4"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><sourcefile name="DroneController.java"><line nr="28" mi="0" ci="4" mb="0" cb="0"/><line nr="46" mi="0" ci="2" mb="0" cb="0"/><line nr="47" mi="0" ci="3" mb="0" cb="0"/><line nr="48" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="3" mb="0" cb="0"/><line nr="50" mi="0" ci="1" mb="0" cb="0"/><line nr="62" mi="0" ci="5" mb="0" cb="0"/><line nr="63" mi="0" ci="5" mb="0" cb="0"/><line nr="76" mi="0" ci="4" mb="0" cb="0"/><line nr="77" mi="0" ci="5" mb="0" cb="0"/><line nr="78" mi="0" ci="3" mb="0" cb="0"/><line nr="79" mi="0" ci="1" mb="0" cb="0"/><line nr="80" mi="0" ci="4" mb="0" cb="0"/><line nr="81" mi="0" ci="3" mb="0" cb="0"/><line nr="96" mi="0" ci="5" mb="0" cb="0"/><line nr="97" mi="0" ci="6" mb="0" cb="0"/><line nr="102" mi="2" ci="5" mb="1" cb="1"/><line nr="103" mi="0" ci="5" mb="0" cb="0"/><line nr="104" mi="0" ci="5" mb="0" cb="0"/><line nr="109" mi="2" ci="5" mb="1" cb="1"/><line nr="110" mi="0" ci="5" mb="0" cb="0"/><line nr="111" mi="0" ci="5" mb="0" cb="0"/><line nr="116" mi="2" ci="5" mb="1" cb="1"/><line nr="117" mi="0" ci="5" mb="0" cb="0"/><line nr="118" mi="0" ci="5" mb="0" cb="0"/><line nr="123" mi="2" ci="5" mb="1" cb="1"/><line nr="124" mi="0" ci="5" mb="0" cb="0"/><line nr="125" mi="0" ci="5" mb="0" cb="0"/><counter type="INSTRUCTION" missed="8" covered="117"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="0" covered="28"/><counter type="COMPLEXITY" missed="4" covered="9"/><counter type="METHOD" missed="0" covered="9"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="8" covered="227"/><counter type="BRANCH" missed="4" covered="4"/><counter type="LINE" missed="0" covered="58"/><counter type="COMPLEXITY" missed="4" covered="20"/><counter type="METHOD" missed="0" covered="20"/><counter type="CLASS" missed="0" covered="3"/></package><package name="io/github/js0ny/ilp_coursework/exception"><class name="io/github/js0ny/ilp_coursework/exception/GlobalExceptionHandler" sourcefilename="GlobalExceptionHandler.java"><method name="&lt;init&gt;" desc="()V" line="16"><counter type="INSTRUCTION" missed="0" covered="10"/><counter type="LINE" missed="0" covered="3"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleHttpMessageNotReadable" desc="(Lorg/springframework/http/converter/HttpMessageNotReadableException;)Ljava/util/Map;" line="26"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleIllegalArgument" desc="(Ljava/lang/IllegalArgumentException;)Ljava/util/Map;" line="33"><counter type="INSTRUCTION" missed="0" covered="14"/><counter type="LINE" missed="0" covered="4"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleNullPointerException" desc="(Ljava/lang/Exception;)Ljava/util/Map;" line="42"><counter type="INSTRUCTION" missed="0" covered="7"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="handleGeneralException" desc="(Ljava/lang/Exception;)Ljava/util/Map;" line="49"><counter type="INSTRUCTION" missed="0" covered="8"/><counter type="LINE" missed="0" covered="2"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><method name="&lt;clinit&gt;" desc="()V" line="19"><counter type="INSTRUCTION" missed="0" covered="4"/><counter type="LINE" missed="0" covered="1"/><counter type="COMPLEXITY" missed="0" covered="1"/><counter type="METHOD" missed="0" covered="1"/></method><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></class><sourcefile name="GlobalExceptionHandler.java"><line nr="16" mi="0" ci="2" mb="0" cb="0"/><line nr="19" mi="0" ci="4" mb="0" cb="0"/><line nr="20" mi="0" ci="6" mb="0" cb="0"/><line nr="21" mi="0" ci="2" mb="0" cb="0"/><line nr="26" mi="0" ci="5" mb="0" cb="0"/><line nr="27" mi="0" ci="3" mb="0" cb="0"/><line nr="33" mi="0" ci="1" mb="0" cb="0"/><line nr="34" mi="0" ci="6" mb="0" cb="0"/><line nr="35" mi="0" ci="4" mb="0" cb="0"/><line nr="36" mi="0" ci="3" mb="0" cb="0"/><line nr="42" mi="0" ci="4" mb="0" cb="0"/><line nr="43" mi="0" ci="3" mb="0" cb="0"/><line nr="49" mi="0" ci="5" mb="0" cb="0"/><line nr="50" mi="0" ci="3" mb="0" cb="0"/><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></sourcefile><counter type="INSTRUCTION" missed="0" covered="51"/><counter type="LINE" missed="0" covered="14"/><counter type="COMPLEXITY" missed="0" covered="6"/><counter type="METHOD" missed="0" covered="6"/><counter type="CLASS" missed="0" covered="1"/></package><counter type="INSTRUCTION" missed="317" covered="1968"/><counter type="BRANCH" missed="97" covered="157"/><counter type="LINE" missed="73" covered="428"/><counter type="COMPLEXITY" missed="88" covered="116"/><counter type="METHOD" missed="4" covered="73"/><counter type="CLASS" missed="0" covered="10"/></report>
    \ No newline at end of file
    diff --git a/docs/requirements.md b/docs/requirements.md
    new file mode 100644
    index 0000000..054b2a6
    --- /dev/null
    +++ b/docs/requirements.md
    @@ -0,0 +1,24 @@
    +# Software Requirements Specification
    +
    +This document outlines the functional and non-functional requirements for the project, mapped to the V-Model testing strategy.
    +
    +| ID | Description | Type (Attribute) | Level | Linked Test Case |
    +|----|-------------|------------------|-------|-------------------|
    +| **MOD-GO-CORE** | Drone event backend must persist location events and support "Time Travel" queries (snapshot at specific timestamp). | Functional (Verification) | Component | `TestIngestAndSnapshot` |
    +| **MOD-GO-VAL** | The API must enforce strict input validation, rejecting malformed JSON or missing query parameters with `400 Bad Request`. | Robustness (Verification) | Unit | `TestIngestBadJSON` `TestSnapshotMissingTime` |
    +| **MOD-GO-OPS** | The service must provide health probes and support graceful shutdown to prevent data corruption during updates. | Operational | System | `TestHealth` `TestGracefulShutdown` |
    +| **REST-API-GEO** | The API must expose geospatial utilities (distance, proximity) strictly conforming to the JSON contract. | Functional (Contract) | Integration | `ApiControllerTest.java` |
    +| **REST-API-VAL** | REST endpoints must validate input semantic correctness (e.g., valid coordinates) and reject malformed JSON with 400. | Robustness (Verification) | Unit | `ApiControllerTest.java` (Error paths) |
    +| **REST-API-DRONE** | The API must expose drone query endpoints conforming to the specified JSON contract. | Functional | Integration | `DroneControllerTest.java` |
    +| **REST-ALG-PATH** | Pathfinding algorithm must generate valid flight paths within battery budget, ensuring return-to-base actions. | Functional (Verification) | Unit | `PathFinderServiceTest.java` |
    +| **REST-DATA-INT** | System must output flight paths in a simplified format for frontend compatibility. | Interoperability | Unit | `PathFinderServiceTest.java` |
    +| **REST-ALG-GEO** | GPS calculation module must accurately compute Euclidean distances with **1e-9 measurable precision**. | Measurable Quality | Unit | `GpsCalculationServiceTest.java` |
    +| **REST-EXT-INT** | System must integrate with external Drone Info API, gracefully handling network failures (Reliability). | Reliability (Robustness) | Unit (Mocked) | `DroneInfoServiceTest.java` |
    +| **REST-LOGIC-FIL** | Business logic must filter available drones based on dynamic requirements and service availability. | Functional | Unit | `DroneInfoServiceTest.java` |
    +| **REST-SYS-OPS** | The service must have an observable endpoint to verify system availability (Liveness/Readiness). | Operational | System | `ActuatorHealthTest.java` |
    +| **REST-SYS-E2E** | **Validation:** The system must successfully process a complete request lifecycle from ingestion to retrieval (User Journey). | User Need (Validation) | System | `ilp-cw-api/**/*.bru` |
    +| **FRONTEND-UI-UX** | **Validation:** The Svelte UI must provide visual feedback (spinners/toasts) during asynchronous processing. | Usability (Qualitative) | System | *Manual* |
    +
    +**Notes:**
    +* All requirements with ID `MOD-GO-*` are located in `drone-black-box/main_test.go`.
    +* All requirements with ID `REST-*` target the core Spring Boot application.
    diff --git a/docs/test_plan.md b/docs/test_plan.md
    new file mode 100644
    index 0000000..871d2ec
    --- /dev/null
    +++ b/docs/test_plan.md
    @@ -0,0 +1,43 @@
    +# Test Plan & Strategy
    +
    +## Goals and Visibility Metrics
    +
    +- Correctness: 100\% Pass Rate for Unit and Component Tests.
    +- Performance: Go backend event processing (with `oha`)
    +    - Latency: average latency < 500ms 
    +    - Reliability: success rate > 99\%. 
    +- Coverage: Minimum 80\% branch coverage.
    +
    +## Integration Strategy: "Sandwich" Approach
    +
    +Given the polyglot architecture, a "sandwich" integration strategy was adopted:
    +
    +- **Bottom-Up:** Rigorous Unit Testing of the Go computation engine and Java Service logic using `go test` and `JUnit`.
    +- **Top-Down:** End-to-End (E2E) validation using **Bruno** and Manual UI testing.
    +- **Meeting Point:** Integration testing at the REST API layer using Spring Slice Tests.
    +
    +## Critical Path & Dependencies
    +
    +The **Critical Path** for testing was identified as:
    +
    +1.  **Core Algo (Go):** Must be verified first as all upstream services depend on it.
    +2.  **API Contract:** Java-Go interoperability must be stable before UI development.
    +3.  **UI Logic:** Svelte validation is dependent on stable backend APIs.
    +
    +
    +## Risk Management (ODC-Based Analysis)
    +
    +Risks are categorized using **ODC (Orthogonal Defect Classification)** principles to predict potential defect impacts and assign targeted mitigations.
    +
    +| Risk ID | Risk Description | ODC Impact Category | Mitigation Strategy |
    +| :--- | :--- | :--- | :--- |
    +| **R-DATA** | Java/Go data models diverge, causing serialization failures. | **Reliability** |  Implement strict JSON Schema validation (Shift-Left) in CI. |
    +| **R-EXT** | Drone Info API downtime or latency. | **Capability** / **Stability** |  Invest in **Mockito Stubs** to simulate outages and verify fallback logic. |
    +| **R-PERF** | Latency: Go backend exceeds 500ms processing budget. | **Performance** | Run `oha` benchmarks on every commit to detect regression. |
    +| **R-SEC** | Unauthenticated Access: API endpoints exposed without tokens. | **Security** | Negative Testing: Automated security suites in Bruno to verify 401/403 responses. |
    +
    +## Instrumentation Plan
    +
    +* **Scaffolding:** Use Test Doubles (Stubs/Mocks) for all external HTTP calls.
    +* **Observability:** Implement Spring Actuator (`/actuator/health`) for black-box liveness checks.
    +* **Logging:** Use structured logging for traceability across services.