{
  "metadata" : {
    "name" : "JetBrains / fernflower",
    "description" : "Decompiler from Java bytecode to Java, used in IntelliJ IDEA.",
    "tooltip" : "",
    "logoLink" : "https://avatars.githubusercontent.com/JetBrains",
    "links" : [ {
      "label" : "GitHub Repo",
      "href" : "https://github.com/JetBrains/fernflower.git"
    } ]
  },
  "metricsList" : {
    "metrics" : [ {
      "id" : "TOTAL_NUMBER_OF_FILES",
      "value" : 1120,
      "description" : "Total number of files in the source folder"
    }, {
      "id" : "NUMBER_OF_FILES_MAIN",
      "value" : 467,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_MAIN",
      "value" : 55260,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_MAIN_EXT_JAVA",
      "value" : 458,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_MAIN_EXT_JAVA",
      "value" : 55166,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_MAIN_EXT_KTS",
      "value" : 1,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_MAIN_EXT_KTS",
      "value" : 39,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_MAIN_EXT_KT",
      "value" : 6,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_MAIN_EXT_KT",
      "value" : 38,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_MAIN_EXT_GROOVY",
      "value" : 2,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_MAIN_EXT_GROOVY",
      "value" : 17,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_TEST",
      "value" : 13,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_TEST",
      "value" : 925,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_TEST_EXT_JAVA",
      "value" : 13,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_TEST_EXT_JAVA",
      "value" : 925,
      "description" : null
    }, {
      "id" : "TEST_VS_MAIN_LINES_OF_CODE_PERCENTAGE",
      "value" : 1.67,
      "description" : "Test / main code ratio"
    }, {
      "id" : "NUMBER_OF_FILES_GENERATED",
      "value" : 0,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_GENERATED",
      "value" : 0,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_BUILD_AND_DEPLOYMENT",
      "value" : 1,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_BUILD_AND_DEPLOYMENT",
      "value" : 72,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_BUILD_AND_DEPLOYMENT_EXT_BAT",
      "value" : 1,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_BUILD_AND_DEPLOYMENT_EXT_BAT",
      "value" : 72,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_OTHER",
      "value" : 5,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_OTHER",
      "value" : 271,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_OTHER_EXT_TXT",
      "value" : 3,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_OTHER_EXT_TXT",
      "value" : 172,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_OTHER_EXT_MD",
      "value" : 1,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_OTHER_EXT_MD",
      "value" : 98,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_OTHER_EXT_PROPERTIES",
      "value" : 1,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_OTHER_EXT_PROPERTIES",
      "value" : 1,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_TESTDATA",
      "value" : 275,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_DECOMPOSITION_PRIMARY_TESTDATA",
      "value" : 19235,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_TESTDATA_EXT_JAVA",
      "value" : 267,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_DECOMPOSITION_PRIMARY_TESTDATA_EXT_JAVA",
      "value" : 19180,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_TESTDATA_EXT_KT",
      "value" : 6,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_DECOMPOSITION_PRIMARY_TESTDATA_EXT_KT",
      "value" : 38,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_TESTDATA_EXT_GROOVY",
      "value" : 2,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_DECOMPOSITION_PRIMARY_TESTDATA_EXT_GROOVY",
      "value" : 17,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC",
      "value" : 191,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC",
      "value" : 35986,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_SRC_EXT_JAVA",
      "value" : 191,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_DECOMPOSITION_PRIMARY_SRC_EXT_JAVA",
      "value" : 35986,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_ROOT",
      "value" : 1,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_DECOMPOSITION_PRIMARY_ROOT",
      "value" : 39,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_DECOMPOSITION_PRIMARY_ROOT_EXT_KTS",
      "value" : 1,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_DECOMPOSITION_PRIMARY_ROOT_EXT_KTS",
      "value" : 39,
      "description" : null
    }, {
      "id" : "NUMBER_OF_DEPENDENCY_LINKS_DECOMPOSITION_PRIMARY",
      "value" : 0,
      "description" : "Number of anchor dependencies"
    }, {
      "id" : "NUMBER_OF_DEPENDENCIES_DECOMPOSITION_PRIMARY",
      "value" : 0,
      "description" : null
    }, {
      "id" : "NUMBER_OF_PLACES_WITH_CYCLIC_DEPENDENCIES_DECOMPOSITION_PRIMARY",
      "value" : 0,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_CONCERN_GENERAL_TODOS",
      "value" : 48,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_CONCERN_GENERAL_TODOS",
      "value" : 18265,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_CONCERN_GENERAL_TODOS_EXT_JAVA",
      "value" : 48,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_CONCERN_GENERAL_TODOS_EXT_JAVA",
      "value" : 18265,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED",
      "value" : 419,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED",
      "value" : 36995,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_JAVA",
      "value" : 410,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_JAVA",
      "value" : 36901,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_KTS",
      "value" : 1,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_KTS",
      "value" : 39,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_KT",
      "value" : 6,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_KT",
      "value" : 38,
      "description" : null
    }, {
      "id" : "NUMBER_OF_FILES_CONCERN_GENERAL_UNCLASSIFIED_EXT_GROOVY",
      "value" : 2,
      "description" : null
    }, {
      "id" : "LINES_OF_CODE_CONCERN_GENERAL_UNCLASSIFIED_EXT_GROOVY",
      "value" : 17,
      "description" : null
    }, {
      "id" : "NEGLIGIBLE_RISK_FILE_SIZE_COUNT",
      "value" : 339,
      "description" : "Number of  files with 100 or less lines of code"
    }, {
      "id" : "LOW_RISK_FILE_SIZE_COUNT",
      "value" : 57,
      "description" : "Number of  files with 100 to 200 lines of code"
    }, {
      "id" : "MEDIUM_RISK_FILE_SIZE_COUNT",
      "value" : 44,
      "description" : "Number of  files with 200 to 500 lines of code"
    }, {
      "id" : "HIGH_RISK_FILE_SIZE_COUNT",
      "value" : 23,
      "description" : "Number of  files with 500 to 1000 lines of code"
    }, {
      "id" : "VERY_HIGH_RISK_FILE_SIZE_COUNT",
      "value" : 4,
      "description" : "Number of  files with more than 1000 lines of code"
    }, {
      "id" : "NEGLIGIBLE_RISK_FILE_SIZE_LOC",
      "value" : 8727,
      "description" : "Lines of code in  files with 100 or less lines of code"
    }, {
      "id" : "LOW_RISK_FILE_SIZE_LOC",
      "value" : 8289,
      "description" : "Lines of code in  files with 100 to 200 lines of code"
    }, {
      "id" : "MEDIUM_RISK_FILE_SIZE_LOC",
      "value" : 14151,
      "description" : "Lines of code in  files with 200 to 500 lines of code"
    }, {
      "id" : "HIGH_RISK_FILE_SIZE_LOC",
      "value" : 16256,
      "description" : "Lines of code in  files with 500 to 1000 lines of code"
    }, {
      "id" : "VERY_HIGH_RISK_FILE_SIZE_LOC",
      "value" : 7837,
      "description" : "Lines of code in  files with more than 1000 lines of code"
    }, {
      "id" : "NUMBER_OF_UNITS",
      "value" : 2714,
      "description" : "Number of units"
    }, {
      "id" : "LINES_OF_CODE_IN_UNITS",
      "value" : 42463,
      "description" : "Lines of code in units"
    }, {
      "id" : "LINES_OF_CODE_OUTSIDE_UNITS",
      "value" : 12797,
      "description" : "Lines of code in units"
    }, {
      "id" : "UNIT_SIZE_NEGLIGIBLE_RISK_LOC",
      "value" : 7801,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 18.371287944799,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_NEGLIGIBLE_RISK_COUNT",
      "value" : 1835,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_LOW_RISK_LOC",
      "value" : 6078,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_LOW_RISK_PERCENTAGE",
      "value" : 14.313637755222194,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_LOW_RISK_COUNT",
      "value" : 420,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_MEDIUM_RISK_LOC",
      "value" : 9785,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_MEDIUM_RISK_PERCENTAGE",
      "value" : 23.04359089089325,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_MEDIUM_RISK_COUNT",
      "value" : 321,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_HIGH_RISK_LOC",
      "value" : 6740,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_HIGH_RISK_PERCENTAGE",
      "value" : 15.872642064856464,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_HIGH_RISK_COUNT",
      "value" : 97,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_VERY_HIGH_RISK_LOC",
      "value" : 12059,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 28.398841344229094,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_VERY_HIGH_RISK_COUNT",
      "value" : 41,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_NEGLIGIBLE_RISK_LOC",
      "value" : 2384,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 16.76040494938133,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_NEGLIGIBLE_RISK_COUNT",
      "value" : 618,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_LOW_RISK_LOC",
      "value" : 1594,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_LOW_RISK_PERCENTAGE",
      "value" : 11.206411698537682,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_LOW_RISK_COUNT",
      "value" : 117,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_MEDIUM_RISK_LOC",
      "value" : 1244,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_MEDIUM_RISK_PERCENTAGE",
      "value" : 8.74578177727784,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_MEDIUM_RISK_COUNT",
      "value" : 42,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_HIGH_RISK_LOC",
      "value" : 646,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_HIGH_RISK_PERCENTAGE",
      "value" : 4.54161979752531,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_HIGH_RISK_COUNT",
      "value" : 10,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_VERY_HIGH_RISK_LOC",
      "value" : 8356,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 58.74578177727784,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_TESTDATA_VERY_HIGH_RISK_COUNT",
      "value" : 18,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_NEGLIGIBLE_RISK_LOC",
      "value" : 5417,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 19.182690605191404,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_NEGLIGIBLE_RISK_COUNT",
      "value" : 1217,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_LOW_RISK_LOC",
      "value" : 4484,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_LOW_RISK_PERCENTAGE",
      "value" : 15.8787492474946,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_LOW_RISK_COUNT",
      "value" : 303,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_MEDIUM_RISK_LOC",
      "value" : 8541,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_MEDIUM_RISK_PERCENTAGE",
      "value" : 30.245405290555613,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_MEDIUM_RISK_COUNT",
      "value" : 279,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_HIGH_RISK_LOC",
      "value" : 6094,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_HIGH_RISK_PERCENTAGE",
      "value" : 21.580084280604837,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_HIGH_RISK_COUNT",
      "value" : 87,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_VERY_HIGH_RISK_LOC",
      "value" : 3703,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 13.113070576153547,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_COMPONENT_SRC_VERY_HIGH_RISK_COUNT",
      "value" : 23,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_NEGLIGIBLE_RISK_LOC",
      "value" : 7790,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 18.354892674536416,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_NEGLIGIBLE_RISK_COUNT",
      "value" : 1832,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_LOW_RISK_LOC",
      "value" : 6067,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_LOW_RISK_PERCENTAGE",
      "value" : 14.295139134327655,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_LOW_RISK_COUNT",
      "value" : 419,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_MEDIUM_RISK_LOC",
      "value" : 9785,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_MEDIUM_RISK_PERCENTAGE",
      "value" : 23.05553592045428,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_MEDIUM_RISK_COUNT",
      "value" : 321,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_HIGH_RISK_LOC",
      "value" : 6740,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_HIGH_RISK_PERCENTAGE",
      "value" : 15.880869913527015,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_HIGH_RISK_COUNT",
      "value" : 97,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_VERY_HIGH_RISK_LOC",
      "value" : 12059,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 28.41356235715464,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_JAVA_VERY_HIGH_RISK_COUNT",
      "value" : 41,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_NEGLIGIBLE_RISK_LOC",
      "value" : 3,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 100.0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_NEGLIGIBLE_RISK_COUNT",
      "value" : 1,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_LOW_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_LOW_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_LOW_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_MEDIUM_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_MEDIUM_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_MEDIUM_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_HIGH_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_HIGH_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_HIGH_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_VERY_HIGH_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_GROOVY_VERY_HIGH_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_NEGLIGIBLE_RISK_LOC",
      "value" : 8,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 42.10526315789474,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_NEGLIGIBLE_RISK_COUNT",
      "value" : 2,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_LOW_RISK_LOC",
      "value" : 11,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_LOW_RISK_PERCENTAGE",
      "value" : 57.89473684210526,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_LOW_RISK_COUNT",
      "value" : 1,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_MEDIUM_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_MEDIUM_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_MEDIUM_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_HIGH_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_HIGH_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_HIGH_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_VERY_HIGH_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "UNIT_SIZE_EXTENSION_KT_VERY_HIGH_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_NEGLIGIBLE_RISK_LOC",
      "value" : 13764,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 32.41410168852884,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_NEGLIGIBLE_RISK_COUNT",
      "value" : 2198,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_LOW_RISK_LOC",
      "value" : 6159,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_LOW_RISK_PERCENTAGE",
      "value" : 14.504392058968985,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_LOW_RISK_COUNT",
      "value" : 269,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_MEDIUM_RISK_LOC",
      "value" : 9776,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_MEDIUM_RISK_PERCENTAGE",
      "value" : 23.022395968254717,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_MEDIUM_RISK_COUNT",
      "value" : 193,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_HIGH_RISK_LOC",
      "value" : 3376,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_HIGH_RISK_PERCENTAGE",
      "value" : 7.95045098085392,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_HIGH_RISK_COUNT",
      "value" : 34,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_LOC",
      "value" : 9388,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 22.108659303393544,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_COUNT",
      "value" : 20,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_HIGH_PLUS_RISK_COUNT",
      "value" : 54,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_HIGH_PLUS_RISK_LOC",
      "value" : 12764,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_NEGLIGIBLE_RISK_LOC",
      "value" : 4294,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 30.188413948256468,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_NEGLIGIBLE_RISK_COUNT",
      "value" : 738,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_LOW_RISK_LOC",
      "value" : 923,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_LOW_RISK_PERCENTAGE",
      "value" : 6.4890326209223845,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_LOW_RISK_COUNT",
      "value" : 35,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_MEDIUM_RISK_LOC",
      "value" : 1559,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_MEDIUM_RISK_PERCENTAGE",
      "value" : 10.960348706411699,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_MEDIUM_RISK_COUNT",
      "value" : 22,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_HIGH_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_HIGH_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_HIGH_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_VERY_HIGH_RISK_LOC",
      "value" : 7448,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 52.36220472440945,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_TESTDATA_VERY_HIGH_RISK_COUNT",
      "value" : 10,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_NEGLIGIBLE_RISK_LOC",
      "value" : 9470,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 33.53518184071674,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_NEGLIGIBLE_RISK_COUNT",
      "value" : 1460,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_LOW_RISK_LOC",
      "value" : 5236,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_LOW_RISK_PERCENTAGE",
      "value" : 18.54173306420199,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_LOW_RISK_COUNT",
      "value" : 234,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_MEDIUM_RISK_LOC",
      "value" : 8217,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_MEDIUM_RISK_PERCENTAGE",
      "value" : 29.098055880165727,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_MEDIUM_RISK_COUNT",
      "value" : 171,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_HIGH_RISK_LOC",
      "value" : 3376,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_HIGH_RISK_PERCENTAGE",
      "value" : 11.955097560111902,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_HIGH_RISK_COUNT",
      "value" : 34,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_VERY_HIGH_RISK_LOC",
      "value" : 1940,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 6.86993165480364,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_SRC_VERY_HIGH_RISK_COUNT",
      "value" : 10,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_NEGLIGIBLE_RISK_LOC",
      "value" : 13742,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 32.379067411229705,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_NEGLIGIBLE_RISK_COUNT",
      "value" : 2194,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_LOW_RISK_LOC",
      "value" : 6159,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_LOW_RISK_PERCENTAGE",
      "value" : 14.511910652435144,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_LOW_RISK_COUNT",
      "value" : 269,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_MEDIUM_RISK_LOC",
      "value" : 9776,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_MEDIUM_RISK_PERCENTAGE",
      "value" : 23.034330011074196,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_MEDIUM_RISK_COUNT",
      "value" : 193,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_HIGH_RISK_LOC",
      "value" : 3376,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_HIGH_RISK_PERCENTAGE",
      "value" : 7.954572229683561,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_HIGH_RISK_COUNT",
      "value" : 34,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_VERY_HIGH_RISK_LOC",
      "value" : 9388,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 22.12011969557739,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_JAVA_VERY_HIGH_RISK_COUNT",
      "value" : 20,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_NEGLIGIBLE_RISK_LOC",
      "value" : 3,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 100.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_NEGLIGIBLE_RISK_COUNT",
      "value" : 1,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_LOW_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_LOW_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_LOW_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_MEDIUM_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_MEDIUM_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_MEDIUM_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_HIGH_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_HIGH_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_HIGH_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_VERY_HIGH_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_GROOVY_VERY_HIGH_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_NEGLIGIBLE_RISK_LOC",
      "value" : 19,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_NEGLIGIBLE_RISK_PERCENTAGE",
      "value" : 100.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_NEGLIGIBLE_RISK_COUNT",
      "value" : 3,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_LOW_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_LOW_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_LOW_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_MEDIUM_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_MEDIUM_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_MEDIUM_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_HIGH_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_HIGH_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_HIGH_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_VERY_HIGH_RISK_LOC",
      "value" : 0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_VERY_HIGH_RISK_PERCENTAGE",
      "value" : 0.0,
      "description" : null
    }, {
      "id" : "CONDITIONAL_COMPLEXITY_COMPONENT_KT_VERY_HIGH_RISK_COUNT",
      "value" : 0,
      "description" : null
    }, {
      "id" : "FILE_CHANGE_HISTORY_TOTAL_AGE_DAYS",
      "value" : 4339,
      "description" : "The age of the repository in days"
    }, {
      "id" : "FILE_CHANGE_HISTORY_ACTIVE_DAYS",
      "value" : 421,
      "description" : "The number of days with at least one file change"
    }, {
      "id" : "FILE_CHANGE_HISTORY_WEEKS",
      "value" : 616,
      "description" : "The number of weeks"
    }, {
      "id" : "FILE_CHANGE_HISTORY_ESTIMATED_WORKING_DAYS",
      "value" : 3080,
      "description" : "The number of estimated working days in the period"
    }, {
      "id" : "FILE_AGE_NEGLIGIBLE_RISK_COUNT",
      "value" : 0,
      "description" : "Number of files 1-30 days days old"
    }, {
      "id" : "FILE_AGE_LOW_RISK_COUNT",
      "value" : 10,
      "description" : "Number of files 31-90 days days old"
    }, {
      "id" : "FILE_AGE_MEDIUM_RISK_COUNT",
      "value" : 8,
      "description" : "Number of files 91-180 days days old"
    }, {
      "id" : "FILE_AGE_HIGH_RISK_COUNT",
      "value" : 9,
      "description" : "Number of files 181-365 days days old"
    }, {
      "id" : "FILE_AGE_VERY_HIGH_RISK_COUNT",
      "value" : 440,
      "description" : "Number of files 366+ days days old"
    }, {
      "id" : "FILE_AGE_NEGLIGIBLE_RISK_LOC",
      "value" : 0,
      "description" : "Number of files 1-30 days days old"
    }, {
      "id" : "FILE_AGE_LOW_RISK_LOC",
      "value" : 2945,
      "description" : "Number of files 31-90 days days old"
    }, {
      "id" : "FILE_AGE_MEDIUM_RISK_LOC",
      "value" : 1808,
      "description" : "Number of files 91-180 days days old"
    }, {
      "id" : "FILE_AGE_HIGH_RISK_LOC",
      "value" : 1510,
      "description" : "Number of files 181-365 days days old"
    }, {
      "id" : "FILE_AGE_VERY_HIGH_RISK_LOC",
      "value" : 48997,
      "description" : "Number of files 366+ days days old"
    }, {
      "id" : "NUMBER_OF_CONTRIBUTORS",
      "value" : 58,
      "description" : "Number of contributors"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_DUPLICATES",
      "value" : 2696,
      "description" : "Number of duplicates"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_FILES_WITH_DUPLICATES",
      "value" : 102,
      "description" : "Number of files with duplicates"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_DUPLICATED_LINES",
      "value" : 7351,
      "description" : "Number of duplicated lines"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_CLEANED_LINES",
      "value" : 41640,
      "description" : "Number of lines after cleaning for duplication calculations"
    }, {
      "id" : "DUPLICATION_PERCENTAGE",
      "value" : 17.653698366954853,
      "description" : "Duplication percentage"
    }, {
      "id" : "UNIT_DUPLICATES_COUNT",
      "value" : 22,
      "description" : "Unit duplicates"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_DUPLICATED_LINES_PRIMARY_TESTDATA",
      "value" : 6272,
      "description" : "Number of duplicated lines"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_CLEANED_LINES_PRIMARY_TESTDATA",
      "value" : 6272,
      "description" : "Number of lines after cleaning for duplication calculations"
    }, {
      "id" : "DUPLICATION_PERCENTAGE_PRIMARY_TESTDATA",
      "value" : 100.0,
      "description" : "Duplication percentage"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_DUPLICATED_LINES_PRIMARY_SRC",
      "value" : 1079,
      "description" : "Number of duplicated lines"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_CLEANED_LINES_PRIMARY_SRC",
      "value" : 1079,
      "description" : "Number of lines after cleaning for duplication calculations"
    }, {
      "id" : "DUPLICATION_PERCENTAGE_PRIMARY_SRC",
      "value" : 100.0,
      "description" : "Duplication percentage"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_DUPLICATED_LINES_PRIMARY_ROOT",
      "value" : 0,
      "description" : "Number of duplicated lines"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_CLEANED_LINES_PRIMARY_ROOT",
      "value" : 0,
      "description" : "Number of lines after cleaning for duplication calculations"
    }, {
      "id" : "DUPLICATION_PERCENTAGE_PRIMARY_ROOT",
      "value" : "NaN",
      "description" : "Duplication percentage"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_DUPLICATED_LINES_JAVA",
      "value" : 7351,
      "description" : "Number of duplicated lines"
    }, {
      "id" : "DUPLICATION_NUMBER_OF_CLEANED_LINES_JAVA",
      "value" : 41575,
      "description" : "Number of lines after cleaning for duplication calculations"
    }, {
      "id" : "DUPLICATION_PERCENTAGE_JAVA",
      "value" : 17.68129885748647,
      "description" : "Duplication percentage"
    }, {
      "id" : "TOTAL_ANALYSIS_TIME_IN_MILLIS",
      "value" : 3779,
      "description" : "Total analysis time in milliseconds"
    } ]
  },
  "controlResults" : {
    "goalsAnalysisResults" : [ {
      "metricsWithGoal" : {
        "goal" : "Keep the system simple and easy to change",
        "description" : "Aim at keeping the system size modest (less than 200,000 LOC is good), duplication low (less than 5% is good), files small (no files longer than 1000 LOC is good), and units simple (no units with more than 25 decision points is good).",
        "controls" : [ {
          "metric" : "LINES_OF_CODE_MAIN",
          "description" : "Total number of lines of main code",
          "desiredRange" : {
            "min" : "0",
            "max" : "200000",
            "tolerance" : "20000"
          }
        }, {
          "metric" : "DUPLICATION_PERCENTAGE",
          "description" : "System duplication",
          "desiredRange" : {
            "min" : "0",
            "max" : "5",
            "tolerance" : "1"
          }
        }, {
          "metric" : "VERY_HIGH_RISK_FILE_SIZE_COUNT",
          "description" : "The number of very large files",
          "desiredRange" : {
            "min" : "0",
            "max" : "0",
            "tolerance" : "1"
          }
        }, {
          "metric" : "CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_COUNT",
          "description" : "Number of very complex units",
          "desiredRange" : {
            "min" : "0",
            "max" : "0",
            "tolerance" : "1"
          }
        } ]
      },
      "controlStatuses" : [ {
        "control" : {
          "metric" : "LINES_OF_CODE_MAIN",
          "description" : "Total number of lines of main code",
          "desiredRange" : {
            "min" : "0",
            "max" : "200000",
            "tolerance" : "20000"
          }
        },
        "metric" : {
          "id" : "LINES_OF_CODE_MAIN",
          "value" : 55260,
          "description" : null
        },
        "status" : "OK"
      }, {
        "control" : {
          "metric" : "DUPLICATION_PERCENTAGE",
          "description" : "System duplication",
          "desiredRange" : {
            "min" : "0",
            "max" : "5",
            "tolerance" : "1"
          }
        },
        "metric" : {
          "id" : "DUPLICATION_PERCENTAGE",
          "value" : 17.653698366954853,
          "description" : "Duplication percentage"
        },
        "status" : "FAILED"
      }, {
        "control" : {
          "metric" : "VERY_HIGH_RISK_FILE_SIZE_COUNT",
          "description" : "The number of very large files",
          "desiredRange" : {
            "min" : "0",
            "max" : "0",
            "tolerance" : "1"
          }
        },
        "metric" : {
          "id" : "VERY_HIGH_RISK_FILE_SIZE_COUNT",
          "value" : 4,
          "description" : "Number of  files with more than 1000 lines of code"
        },
        "status" : "FAILED"
      }, {
        "control" : {
          "metric" : "CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_COUNT",
          "description" : "Number of very complex units",
          "desiredRange" : {
            "min" : "0",
            "max" : "0",
            "tolerance" : "1"
          }
        },
        "metric" : {
          "id" : "CONDITIONAL_COMPLEXITY_VERY_HIGH_RISK_COUNT",
          "value" : 20,
          "description" : null
        },
        "status" : "FAILED"
      } ]
    } ]
  },
  "totalNumberOfFilesInScope" : 1120,
  "mainAspectAnalysisResults" : {
    "name" : null,
    "filesCount" : 467,
    "linesOfCode" : 55260,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 458,
      "description" : [ ]
    }, {
      "name" : "  *.kts",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.kt",
      "value" : 6,
      "description" : [ ]
    }, {
      "name" : "  *.groovy",
      "value" : 2,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 55166,
      "description" : [ ]
    }, {
      "name" : "  *.kts",
      "value" : 39,
      "description" : [ ]
    }, {
      "name" : "  *.kt",
      "value" : 38,
      "description" : [ ]
    }, {
      "name" : "  *.groovy",
      "value" : 17,
      "description" : [ ]
    } ]
  },
  "testAspectAnalysisResults" : {
    "name" : null,
    "filesCount" : 13,
    "linesOfCode" : 925,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 13,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 925,
      "description" : [ ]
    } ]
  },
  "generatedAspectAnalysisResults" : {
    "name" : null,
    "filesCount" : 0,
    "linesOfCode" : 0,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ ],
    "linesOfCodePerExtension" : [ ]
  },
  "buildAndDeployAspectAnalysisResults" : {
    "name" : null,
    "filesCount" : 1,
    "linesOfCode" : 72,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.bat",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.bat",
      "value" : 72,
      "description" : [ ]
    } ]
  },
  "otherAspectAnalysisResults" : {
    "name" : null,
    "filesCount" : 5,
    "linesOfCode" : 271,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.txt",
      "value" : 3,
      "description" : [ ]
    }, {
      "name" : "  *.md",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.properties",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.txt",
      "value" : 172,
      "description" : [ ]
    }, {
      "name" : "  *.md",
      "value" : 98,
      "description" : [ ]
    }, {
      "name" : "  *.properties",
      "value" : 1,
      "description" : [ ]
    } ]
  },
  "logicalDecompositionsAnalysisResults" : [ {
    "key" : "primary",
    "components" : [ {
      "name" : "testData",
      "filesCount" : 275,
      "linesOfCode" : 19235,
      "numberOfRegexLineMatches" : 0,
      "fileCountPerExtension" : [ {
        "name" : "  *.java",
        "value" : 267,
        "description" : [ ]
      }, {
        "name" : "  *.kt",
        "value" : 6,
        "description" : [ ]
      }, {
        "name" : "  *.groovy",
        "value" : 2,
        "description" : [ ]
      } ],
      "linesOfCodePerExtension" : [ {
        "name" : "  *.java",
        "value" : 19180,
        "description" : [ ]
      }, {
        "name" : "  *.kt",
        "value" : 38,
        "description" : [ ]
      }, {
        "name" : "  *.groovy",
        "value" : 17,
        "description" : [ ]
      } ]
    }, {
      "name" : "src",
      "filesCount" : 191,
      "linesOfCode" : 35986,
      "numberOfRegexLineMatches" : 0,
      "fileCountPerExtension" : [ {
        "name" : "  *.java",
        "value" : 191,
        "description" : [ ]
      } ],
      "linesOfCodePerExtension" : [ {
        "name" : "  *.java",
        "value" : 35986,
        "description" : [ ]
      } ]
    }, {
      "name" : "ROOT",
      "filesCount" : 1,
      "linesOfCode" : 39,
      "numberOfRegexLineMatches" : 0,
      "fileCountPerExtension" : [ {
        "name" : "  *.kts",
        "value" : 1,
        "description" : [ ]
      } ],
      "linesOfCodePerExtension" : [ {
        "name" : "  *.kts",
        "value" : 39,
        "description" : [ ]
      } ]
    } ],
    "componentDependencies" : [ ],
    "componentDependenciesErrors" : [ ],
    "logicalDecomposition" : {
      "name" : "primary",
      "scope" : "main",
      "filters" : [ ],
      "componentsFolderDepth" : 1,
      "minComponentsCount" : 0,
      "components" : [ {
        "name" : "testData",
        "sourceFileFilters" : [ {
          "pathPattern" : "./testData/.*",
          "contentPattern" : "",
          "exception" : false,
          "note" : ""
        } ],
        "files" : [ ]
      }, {
        "name" : "src",
        "sourceFileFilters" : [ {
          "pathPattern" : "./src/.*",
          "contentPattern" : "",
          "exception" : false,
          "note" : ""
        } ],
        "files" : [ ]
      }, {
        "name" : "ROOT",
        "sourceFileFilters" : [ {
          "pathPattern" : "./.*",
          "contentPattern" : "",
          "exception" : false,
          "note" : ""
        }, {
          "pathPattern" : "./testData/.*",
          "contentPattern" : "",
          "exception" : true,
          "note" : ""
        }, {
          "pathPattern" : "./src/.*",
          "contentPattern" : "",
          "exception" : true,
          "note" : ""
        } ],
        "files" : [ ]
      } ],
      "metaComponents" : [ ],
      "groups" : [ ],
      "includeRemainingFiles" : true,
      "dependenciesFinder" : {
        "useBuiltInDependencyFinders" : true,
        "rules" : [ ],
        "metaRules" : [ ]
      },
      "renderingOptions" : {
        "orientation" : "TB",
        "maxNumberOfDependencies" : 100,
        "renderComponentsWithoutDependencies" : true,
        "renderIndirectDependencies" : false,
        "renderInternalIndirectDependencies" : false,
        "reverseDirection" : false
      },
      "includeExternalComponents" : true,
      "dependencyLinkThreshold" : 1,
      "duplicationLinkThreshold" : 50,
      "temporalLinkThreshold" : 1,
      "maxSearchDepthLines" : 200
    },
    "fileCountPerComponent" : [ {
      "name" : "testData",
      "value" : 275,
      "description" : [ ]
    }, {
      "name" : "src",
      "value" : 191,
      "description" : [ ]
    }, {
      "name" : "ROOT",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerComponent" : [ {
      "name" : "testData",
      "value" : 19235,
      "description" : [ ]
    }, {
      "name" : "src",
      "value" : 35986,
      "description" : [ ]
    }, {
      "name" : "ROOT",
      "value" : 39,
      "description" : [ ]
    } ]
  } ],
  "concernsAnalysisResults" : [ {
    "key" : "general",
    "concerns" : [ {
      "name" : "TODOs",
      "filesCount" : 48,
      "linesOfCode" : 18265,
      "numberOfRegexLineMatches" : 122,
      "fileCountPerExtension" : [ {
        "name" : "  *.java",
        "value" : 48,
        "description" : [ ]
      } ],
      "linesOfCodePerExtension" : [ {
        "name" : "  *.java",
        "value" : 18265,
        "description" : [ ]
      } ]
    }, {
      "name" : "Unclassified",
      "filesCount" : 419,
      "linesOfCode" : 36995,
      "numberOfRegexLineMatches" : 0,
      "fileCountPerExtension" : [ {
        "name" : "  *.java",
        "value" : 410,
        "description" : [ ]
      }, {
        "name" : "  *.kts",
        "value" : 1,
        "description" : [ ]
      }, {
        "name" : "  *.kt",
        "value" : 6,
        "description" : [ ]
      }, {
        "name" : "  *.groovy",
        "value" : 2,
        "description" : [ ]
      } ],
      "linesOfCodePerExtension" : [ {
        "name" : "  *.java",
        "value" : 36901,
        "description" : [ ]
      }, {
        "name" : "  *.kts",
        "value" : 39,
        "description" : [ ]
      }, {
        "name" : "  *.kt",
        "value" : 38,
        "description" : [ ]
      }, {
        "name" : "  *.groovy",
        "value" : 17,
        "description" : [ ]
      } ]
    } ],
    "concernsGroup" : null,
    "fileCountPerConcern" : [ {
      "name" : "TODOs",
      "value" : 48,
      "description" : [ ]
    }, {
      "name" : "Unclassified",
      "value" : 419,
      "description" : [ ]
    } ],
    "linesOfCodePerConcern" : [ {
      "name" : "TODOs",
      "value" : 18265,
      "description" : [ ]
    }, {
      "name" : "Unclassified",
      "value" : 36995,
      "description" : [ ]
    } ]
  } ],
  "foundTags" : [ {
    "tagRule" : {
      "tag" : "bazel",
      "color" : "#B9D9EB",
      "pathPatterns" : [ "(|.*/)BUILD[.]bazel" ],
      "excludePathPatterns" : [ ]
    },
    "evidence" : "BUILD.bazel"
  } ],
  "filesAnalysisResults" : {
    "overallFileSizeDistribution" : {
      "key" : "",
      "lowRiskThreshold" : 100,
      "mediumRiskThreshold" : 200,
      "highRiskThreshold" : 500,
      "veryHighRiskThreshold" : 1000,
      "negligibleRiskValue" : 8727,
      "lowRiskValue" : 8289,
      "mediumRiskValue" : 14151,
      "highRiskValue" : 16256,
      "veryHighRiskValue" : 7837,
      "lowRiskCount" : 57,
      "negligibleRiskCount" : 339,
      "mediumRiskCount" : 44,
      "highRiskCount" : 23,
      "veryHighRiskCount" : 4,
      "negligibleRiskLabel" : "1-100",
      "lowRiskLabel" : "101-200",
      "mediumRiskLabel" : "201-500",
      "highRiskLabel" : "501-1000",
      "veryHighRiskLabel" : "1001+",
      "negligibleRiskPercentage" : 15.792616720955483,
      "veryHighRiskPercentage" : 14.18204849800941,
      "highRiskPercentage" : 29.417300036192543,
      "mediumRiskPercentage" : 25.608034744842563,
      "lowRiskPercentage" : 15.0,
      "totalValue" : 55260,
      "totalCount" : 467
    },
    "fileSizeDistributionPerExtension" : [ {
      "key" : "java",
      "lowRiskThreshold" : 100,
      "mediumRiskThreshold" : 200,
      "highRiskThreshold" : 500,
      "veryHighRiskThreshold" : 1000,
      "negligibleRiskValue" : 8633,
      "lowRiskValue" : 8289,
      "mediumRiskValue" : 14151,
      "highRiskValue" : 16256,
      "veryHighRiskValue" : 7837,
      "lowRiskCount" : 57,
      "negligibleRiskCount" : 330,
      "mediumRiskCount" : 44,
      "highRiskCount" : 23,
      "veryHighRiskCount" : 4,
      "negligibleRiskLabel" : "1-100",
      "lowRiskLabel" : "101-200",
      "mediumRiskLabel" : "201-500",
      "highRiskLabel" : "501-1000",
      "veryHighRiskLabel" : "1001+",
      "negligibleRiskPercentage" : 15.64913171156147,
      "veryHighRiskPercentage" : 14.206213972374288,
      "highRiskPercentage" : 29.467425588224632,
      "mediumRiskPercentage" : 25.65166950658014,
      "lowRiskPercentage" : 15.02555922125947,
      "totalValue" : 55166,
      "totalCount" : 458
    }, {
      "key" : "kt",
      "lowRiskThreshold" : 100,
      "mediumRiskThreshold" : 200,
      "highRiskThreshold" : 500,
      "veryHighRiskThreshold" : 1000,
      "negligibleRiskValue" : 38,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 6,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-100",
      "lowRiskLabel" : "101-200",
      "mediumRiskLabel" : "201-500",
      "highRiskLabel" : "501-1000",
      "veryHighRiskLabel" : "1001+",
      "negligibleRiskPercentage" : 100.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 38,
      "totalCount" : 6
    }, {
      "key" : "groovy",
      "lowRiskThreshold" : 100,
      "mediumRiskThreshold" : 200,
      "highRiskThreshold" : 500,
      "veryHighRiskThreshold" : 1000,
      "negligibleRiskValue" : 17,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 2,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-100",
      "lowRiskLabel" : "101-200",
      "mediumRiskLabel" : "201-500",
      "highRiskLabel" : "501-1000",
      "veryHighRiskLabel" : "1001+",
      "negligibleRiskPercentage" : 100.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 17,
      "totalCount" : 2
    }, {
      "key" : "kts",
      "lowRiskThreshold" : 100,
      "mediumRiskThreshold" : 200,
      "highRiskThreshold" : 500,
      "veryHighRiskThreshold" : 1000,
      "negligibleRiskValue" : 39,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 1,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-100",
      "lowRiskLabel" : "101-200",
      "mediumRiskLabel" : "201-500",
      "highRiskLabel" : "501-1000",
      "veryHighRiskLabel" : "1001+",
      "negligibleRiskPercentage" : 100.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 39,
      "totalCount" : 1
    } ],
    "fileSizeDistributionPerLogicalDecomposition" : [ {
      "name" : "primary",
      "fileSizeDistributionPerComponent" : [ {
        "key" : "testData",
        "lowRiskThreshold" : 100,
        "mediumRiskThreshold" : 200,
        "highRiskThreshold" : 500,
        "veryHighRiskThreshold" : 1000,
        "negligibleRiskValue" : 4887,
        "lowRiskValue" : 2294,
        "mediumRiskValue" : 2363,
        "highRiskValue" : 4537,
        "veryHighRiskValue" : 5154,
        "lowRiskCount" : 16,
        "negligibleRiskCount" : 246,
        "mediumRiskCount" : 6,
        "highRiskCount" : 5,
        "veryHighRiskCount" : 2,
        "negligibleRiskLabel" : "1-100",
        "lowRiskLabel" : "101-200",
        "mediumRiskLabel" : "201-500",
        "highRiskLabel" : "501-1000",
        "veryHighRiskLabel" : "1001+",
        "negligibleRiskPercentage" : 25.406810501689627,
        "veryHighRiskPercentage" : 26.79490512087341,
        "highRiskPercentage" : 23.587210813621002,
        "mediumRiskPercentage" : 12.28489732258903,
        "lowRiskPercentage" : 11.92617624122693,
        "totalValue" : 19235,
        "totalCount" : 275
      }, {
        "key" : "src",
        "lowRiskThreshold" : 100,
        "mediumRiskThreshold" : 200,
        "highRiskThreshold" : 500,
        "veryHighRiskThreshold" : 1000,
        "negligibleRiskValue" : 3801,
        "lowRiskValue" : 5995,
        "mediumRiskValue" : 11788,
        "highRiskValue" : 11719,
        "veryHighRiskValue" : 2683,
        "lowRiskCount" : 41,
        "negligibleRiskCount" : 92,
        "mediumRiskCount" : 38,
        "highRiskCount" : 18,
        "veryHighRiskCount" : 2,
        "negligibleRiskLabel" : "1-100",
        "lowRiskLabel" : "101-200",
        "mediumRiskLabel" : "201-500",
        "highRiskLabel" : "501-1000",
        "veryHighRiskLabel" : "1001+",
        "negligibleRiskPercentage" : 10.562440949258045,
        "veryHighRiskPercentage" : 7.455677207803035,
        "highRiskPercentage" : 32.56544211637859,
        "mediumRiskPercentage" : 32.7571833490802,
        "lowRiskPercentage" : 16.65925637748013,
        "totalValue" : 35986,
        "totalCount" : 191
      }, {
        "key" : "ROOT",
        "lowRiskThreshold" : 100,
        "mediumRiskThreshold" : 200,
        "highRiskThreshold" : 500,
        "veryHighRiskThreshold" : 1000,
        "negligibleRiskValue" : 39,
        "lowRiskValue" : 0,
        "mediumRiskValue" : 0,
        "highRiskValue" : 0,
        "veryHighRiskValue" : 0,
        "lowRiskCount" : 0,
        "negligibleRiskCount" : 1,
        "mediumRiskCount" : 0,
        "highRiskCount" : 0,
        "veryHighRiskCount" : 0,
        "negligibleRiskLabel" : "1-100",
        "lowRiskLabel" : "101-200",
        "mediumRiskLabel" : "201-500",
        "highRiskLabel" : "501-1000",
        "veryHighRiskLabel" : "1001+",
        "negligibleRiskPercentage" : 100.0,
        "veryHighRiskPercentage" : 0.0,
        "highRiskPercentage" : 0.0,
        "mediumRiskPercentage" : 0.0,
        "lowRiskPercentage" : 0.0,
        "totalValue" : 39,
        "totalCount" : 1
      } ]
    } ],
    "longestFiles" : [ {
      "relativePath" : "testData/obfuscated/bd.java",
      "extension" : "java",
      "linesOfCode" : 3207,
      "unitsCount" : 21,
      "unitsMcCabeIndexSum" : 79,
      "linesOfCodeInUnits" : 366
    }, {
      "relativePath" : "testData/obfuscated/a3.java",
      "extension" : "java",
      "linesOfCode" : 1947,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 359,
      "linesOfCodeInUnits" : 1942
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SwitchPatternHelper.java",
      "extension" : "java",
      "linesOfCode" : 1435,
      "unitsCount" : 31,
      "unitsMcCabeIndexSum" : 186,
      "linesOfCodeInUnits" : 560
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
      "extension" : "java",
      "linesOfCode" : 1248,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 353,
      "linesOfCodeInUnits" : 1150
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ExprProcessor.java",
      "extension" : "java",
      "linesOfCode" : 987,
      "unitsCount" : 35,
      "unitsMcCabeIndexSum" : 362,
      "linesOfCodeInUnits" : 891
    }, {
      "relativePath" : "testData/obfuscated/an.java",
      "extension" : "java",
      "linesOfCode" : 979,
      "unitsCount" : 10,
      "unitsMcCabeIndexSum" : 179,
      "linesOfCodeInUnits" : 951
    }, {
      "relativePath" : "testData/obfuscated/p.java",
      "extension" : "java",
      "linesOfCode" : 972,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 178,
      "linesOfCodeInUnits" : 958
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarDefinitionHelper.java",
      "extension" : "java",
      "linesOfCode" : 883,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 273,
      "linesOfCodeInUnits" : 848
    }, {
      "relativePath" : "testData/obfuscated/s.java",
      "extension" : "java",
      "linesOfCode" : 876,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 165,
      "linesOfCodeInUnits" : 867
    }, {
      "relativePath" : "testData/obfuscated/a5.java",
      "extension" : "java",
      "linesOfCode" : 862,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 159,
      "linesOfCodeInUnits" : 856
    }, {
      "relativePath" : "testData/obfuscated/bb.java",
      "extension" : "java",
      "linesOfCode" : 848,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 157,
      "linesOfCodeInUnits" : 837
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java",
      "extension" : "java",
      "linesOfCode" : 831,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 257,
      "linesOfCodeInUnits" : 761
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/Statement.java",
      "extension" : "java",
      "linesOfCode" : 748,
      "unitsCount" : 66,
      "unitsMcCabeIndexSum" : 214,
      "linesOfCodeInUnits" : 661
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
      "extension" : "java",
      "linesOfCode" : 733,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 193,
      "linesOfCodeInUnits" : 676
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/MergeHelper.java",
      "extension" : "java",
      "linesOfCode" : 647,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 232,
      "linesOfCodeInUnits" : 629
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SwitchHelper.java",
      "extension" : "java",
      "linesOfCode" : 635,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 122,
      "linesOfCodeInUnits" : 347
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SimplifyExprentsHelper.java",
      "extension" : "java",
      "linesOfCode" : 601,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 220,
      "linesOfCodeInUnits" : 554
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java",
      "extension" : "java",
      "linesOfCode" : 598,
      "unitsCount" : 40,
      "unitsMcCabeIndexSum" : 194,
      "linesOfCodeInUnits" : 511
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/TryHelper.java",
      "extension" : "java",
      "linesOfCode" : 590,
      "unitsCount" : 20,
      "unitsMcCabeIndexSum" : 205,
      "linesOfCodeInUnits" : 552
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
      "extension" : "java",
      "linesOfCode" : 578,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 136,
      "linesOfCodeInUnits" : 542
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ConstExprent.java",
      "extension" : "java",
      "linesOfCode" : 576,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 202,
      "linesOfCodeInUnits" : 503
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FunctionExprent.java",
      "extension" : "java",
      "linesOfCode" : 573,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 332
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/cfg/ControlFlowGraph.java",
      "extension" : "java",
      "linesOfCode" : 568,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 502
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/StackVarsProcessor.java",
      "extension" : "java",
      "linesOfCode" : 551,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 66,
      "linesOfCodeInUnits" : 243
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/PatternHelper.java",
      "extension" : "java",
      "linesOfCode" : 550,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 120,
      "linesOfCodeInUnits" : 345
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassesProcessor.java",
      "extension" : "java",
      "linesOfCode" : 535,
      "unitsCount" : 22,
      "unitsMcCabeIndexSum" : 141,
      "linesOfCodeInUnits" : 458
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IfHelper.java",
      "extension" : "java",
      "linesOfCode" : 535,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 134,
      "linesOfCodeInUnits" : 513
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/DomHelper.java",
      "extension" : "java",
      "linesOfCode" : 482,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 114,
      "linesOfCodeInUnits" : 389
    }, {
      "relativePath" : "testData/obfuscated/okhttp3/internal/connection/e.java",
      "extension" : "java",
      "linesOfCode" : 474,
      "unitsCount" : 20,
      "unitsMcCabeIndexSum" : 88,
      "linesOfCodeInUnits" : 374
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/NewExprent.java",
      "extension" : "java",
      "linesOfCode" : 450,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 135,
      "linesOfCodeInUnits" : 394
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper.java",
      "extension" : "java",
      "linesOfCode" : 426,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 93,
      "linesOfCodeInUnits" : 356
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/deobfuscator/ExceptionDeobfuscator.java",
      "extension" : "java",
      "linesOfCode" : 425,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 110,
      "linesOfCodeInUnits" : 395
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/code/DeadCodeHelper.java",
      "extension" : "java",
      "linesOfCode" : 414,
      "unitsCount" : 10,
      "unitsMcCabeIndexSum" : 127,
      "linesOfCodeInUnits" : 400
    }, {
      "relativePath" : "testData/obfuscated/al.java",
      "extension" : "java",
      "linesOfCode" : 413,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 80,
      "linesOfCodeInUnits" : 393
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/SwitchStatement.java",
      "extension" : "java",
      "linesOfCode" : 404,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 57,
      "linesOfCodeInUnits" : 235
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/interpreter/InstructionImpact.java",
      "extension" : "java",
      "linesOfCode" : 400,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 59,
      "linesOfCodeInUnits" : 172
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/LabelHelper.java",
      "extension" : "java",
      "linesOfCode" : 394,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 104,
      "linesOfCodeInUnits" : 279
    }, {
      "relativePath" : "testData/obfuscated/v.java",
      "extension" : "java",
      "linesOfCode" : 388,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 74,
      "linesOfCodeInUnits" : 382
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SecondaryFunctionsHelper.java",
      "extension" : "java",
      "linesOfCode" : 384,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 122,
      "linesOfCodeInUnits" : 348
    }, {
      "relativePath" : "testData/obfuscated/a8.java",
      "extension" : "java",
      "linesOfCode" : 377,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 68,
      "linesOfCodeInUnits" : 374
    }, {
      "relativePath" : "testData/obfuscated/o.java",
      "extension" : "java",
      "linesOfCode" : 377,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 87,
      "linesOfCodeInUnits" : 349
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAConstructorSparseEx.java",
      "extension" : "java",
      "linesOfCode" : 366,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 80,
      "linesOfCodeInUnits" : 331
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedMemberAccess.java",
      "extension" : "java",
      "linesOfCode" : 359,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 129,
      "linesOfCodeInUnits" : 339
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/VarType.java",
      "extension" : "java",
      "linesOfCode" : 339,
      "unitsCount" : 29,
      "unitsMcCabeIndexSum" : 133,
      "linesOfCodeInUnits" : 291
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/VarExprent.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 36,
      "unitsMcCabeIndexSum" : 86,
      "linesOfCodeInUnits" : 253
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/IfStatement.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 90,
      "linesOfCodeInUnits" : 299
    }, {
      "relativePath" : "testData/obfuscated/aw.java",
      "extension" : "java",
      "linesOfCode" : 334,
      "unitsCount" : 5,
      "unitsMcCabeIndexSum" : 62,
      "linesOfCodeInUnits" : 328
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/FastSparseSetFactory.java",
      "extension" : "java",
      "linesOfCode" : 320,
      "unitsCount" : 27,
      "unitsMcCabeIndexSum" : 73,
      "linesOfCodeInUnits" : 262
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructMethod.java",
      "extension" : "java",
      "linesOfCode" : 317,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 67,
      "linesOfCodeInUnits" : 275
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/generics/GenericType.java",
      "extension" : "java",
      "linesOfCode" : 312,
      "unitsCount" : 15,
      "unitsMcCabeIndexSum" : 77,
      "linesOfCodeInUnits" : 285
    } ],
    "filesWithMostUnits" : [ {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/Statement.java",
      "extension" : "java",
      "linesOfCode" : 748,
      "unitsCount" : 66,
      "unitsMcCabeIndexSum" : 214,
      "linesOfCodeInUnits" : 661
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java",
      "extension" : "java",
      "linesOfCode" : 598,
      "unitsCount" : 40,
      "unitsMcCabeIndexSum" : 194,
      "linesOfCodeInUnits" : 511
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/VarExprent.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 36,
      "unitsMcCabeIndexSum" : 86,
      "linesOfCodeInUnits" : 253
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ExprProcessor.java",
      "extension" : "java",
      "linesOfCode" : 987,
      "unitsCount" : 35,
      "unitsMcCabeIndexSum" : 362,
      "linesOfCodeInUnits" : 891
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
      "extension" : "java",
      "linesOfCode" : 1248,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 353,
      "linesOfCodeInUnits" : 1150
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructClass.java",
      "extension" : "java",
      "linesOfCode" : 301,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 56,
      "linesOfCodeInUnits" : 186
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/typeann/TargetInfo.java",
      "extension" : "java",
      "linesOfCode" : 181,
      "unitsCount" : 32,
      "unitsMcCabeIndexSum" : 39,
      "linesOfCodeInUnits" : 136
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SwitchPatternHelper.java",
      "extension" : "java",
      "linesOfCode" : 1435,
      "unitsCount" : 31,
      "unitsMcCabeIndexSum" : 186,
      "linesOfCodeInUnits" : 560
    }, {
      "relativePath" : "testData/src/pkg/TestPrimitives.java",
      "extension" : "java",
      "linesOfCode" : 141,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 30,
      "linesOfCodeInUnits" : 137
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ConstExprent.java",
      "extension" : "java",
      "linesOfCode" : 576,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 202,
      "linesOfCodeInUnits" : 503
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarProcessor.java",
      "extension" : "java",
      "linesOfCode" : 212,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 64,
      "linesOfCodeInUnits" : 174
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/VarType.java",
      "extension" : "java",
      "linesOfCode" : 339,
      "unitsCount" : 29,
      "unitsMcCabeIndexSum" : 133,
      "linesOfCodeInUnits" : 291
    }, {
      "relativePath" : "testData/obfuscated/o.java",
      "extension" : "java",
      "linesOfCode" : 377,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 87,
      "linesOfCodeInUnits" : 349
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/cfg/ControlFlowGraph.java",
      "extension" : "java",
      "linesOfCode" : 568,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 502
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/NewExprent.java",
      "extension" : "java",
      "linesOfCode" : 450,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 135,
      "linesOfCodeInUnits" : 394
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarDefinitionHelper.java",
      "extension" : "java",
      "linesOfCode" : 883,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 273,
      "linesOfCodeInUnits" : 848
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/cfg/BasicBlock.java",
      "extension" : "java",
      "linesOfCode" : 132,
      "unitsCount" : 27,
      "unitsMcCabeIndexSum" : 40,
      "linesOfCodeInUnits" : 112
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/FastSparseSetFactory.java",
      "extension" : "java",
      "linesOfCode" : 320,
      "unitsCount" : 27,
      "unitsMcCabeIndexSum" : 73,
      "linesOfCodeInUnits" : 262
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/FastFixedSetFactory.java",
      "extension" : "java",
      "linesOfCode" : 238,
      "unitsCount" : 27,
      "unitsMcCabeIndexSum" : 52,
      "linesOfCodeInUnits" : 194
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/Exprent.java",
      "extension" : "java",
      "linesOfCode" : 301,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 88,
      "linesOfCodeInUnits" : 230
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/IfStatement.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 90,
      "linesOfCodeInUnits" : 299
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/TextBuffer.java",
      "extension" : "java",
      "linesOfCode" : 245,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 68,
      "linesOfCodeInUnits" : 232
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/attr/StructLocalVariableTableAttribute.java",
      "extension" : "java",
      "linesOfCode" : 142,
      "unitsCount" : 24,
      "unitsMcCabeIndexSum" : 34,
      "linesOfCodeInUnits" : 116
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FunctionExprent.java",
      "extension" : "java",
      "linesOfCode" : 573,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 332
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/MergeHelper.java",
      "extension" : "java",
      "linesOfCode" : 647,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 232,
      "linesOfCodeInUnits" : 629
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SwitchHelper.java",
      "extension" : "java",
      "linesOfCode" : 635,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 122,
      "linesOfCodeInUnits" : 347
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/InstructionSequence.java",
      "extension" : "java",
      "linesOfCode" : 105,
      "unitsCount" : 22,
      "unitsMcCabeIndexSum" : 28,
      "linesOfCodeInUnits" : 94
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassesProcessor.java",
      "extension" : "java",
      "linesOfCode" : 535,
      "unitsCount" : 22,
      "unitsMcCabeIndexSum" : 141,
      "linesOfCodeInUnits" : 458
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/VBStyleCollection.java",
      "extension" : "java",
      "linesOfCode" : 132,
      "unitsCount" : 22,
      "unitsMcCabeIndexSum" : 29,
      "linesOfCodeInUnits" : 117
    }, {
      "relativePath" : "testData/obfuscated/bd.java",
      "extension" : "java",
      "linesOfCode" : 3207,
      "unitsCount" : 21,
      "unitsMcCabeIndexSum" : 79,
      "linesOfCodeInUnits" : 366
    }, {
      "relativePath" : "testData/src/pkg/TestAnonymousClassConstructor.java",
      "extension" : "java",
      "linesOfCode" : 82,
      "unitsCount" : 21,
      "unitsMcCabeIndexSum" : 21,
      "linesOfCodeInUnits" : 63
    }, {
      "relativePath" : "testData/obfuscated/okhttp3/internal/connection/e.java",
      "extension" : "java",
      "linesOfCode" : 474,
      "unitsCount" : 20,
      "unitsMcCabeIndexSum" : 88,
      "linesOfCodeInUnits" : 374
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/DecompilerContext.java",
      "extension" : "java",
      "linesOfCode" : 126,
      "unitsCount" : 20,
      "unitsMcCabeIndexSum" : 23,
      "linesOfCodeInUnits" : 89
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/TryHelper.java",
      "extension" : "java",
      "linesOfCode" : 590,
      "unitsCount" : 20,
      "unitsMcCabeIndexSum" : 205,
      "linesOfCodeInUnits" : 552
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java",
      "extension" : "java",
      "linesOfCode" : 831,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 257,
      "linesOfCodeInUnits" : 761
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SimplifyExprentsHelper.java",
      "extension" : "java",
      "linesOfCode" : 601,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 220,
      "linesOfCodeInUnits" : 554
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/PatternHelper.java",
      "extension" : "java",
      "linesOfCode" : 550,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 120,
      "linesOfCodeInUnits" : 345
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/SFormsFastMapDirect.java",
      "extension" : "java",
      "linesOfCode" : 311,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 65,
      "linesOfCodeInUnits" : 259
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/decompiler/ConsoleDecompiler.java",
      "extension" : "java",
      "linesOfCode" : 252,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 50,
      "linesOfCodeInUnits" : 205
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
      "extension" : "java",
      "linesOfCode" : 578,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 136,
      "linesOfCodeInUnits" : 542
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/SwitchStatement.java",
      "extension" : "java",
      "linesOfCode" : 404,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 57,
      "linesOfCodeInUnits" : 235
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructMethod.java",
      "extension" : "java",
      "linesOfCode" : 317,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 67,
      "linesOfCodeInUnits" : 275
    }, {
      "relativePath" : "testData/obfuscated/e.java",
      "extension" : "java",
      "linesOfCode" : 122,
      "unitsCount" : 17,
      "unitsMcCabeIndexSum" : 22,
      "linesOfCodeInUnits" : 96
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FieldExprent.java",
      "extension" : "java",
      "linesOfCode" : 195,
      "unitsCount" : 17,
      "unitsMcCabeIndexSum" : 50,
      "linesOfCodeInUnits" : 144
    }, {
      "relativePath" : "testData/src/pkg/TestInvertedFloatComparison.java",
      "extension" : "java",
      "linesOfCode" : 51,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 16,
      "linesOfCodeInUnits" : 48
    }, {
      "relativePath" : "testData/src/patterns/TestSwitchPatternWithExpression.java",
      "extension" : "java",
      "linesOfCode" : 119,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 40,
      "linesOfCodeInUnits" : 114
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
      "extension" : "java",
      "linesOfCode" : 733,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 193,
      "linesOfCodeInUnits" : 676
    }, {
      "relativePath" : "testData/obfuscated/b.java",
      "extension" : "java",
      "linesOfCode" : 80,
      "unitsCount" : 15,
      "unitsMcCabeIndexSum" : 18,
      "linesOfCodeInUnits" : 70
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/AssignmentExprent.java",
      "extension" : "java",
      "linesOfCode" : 159,
      "unitsCount" : 15,
      "unitsMcCabeIndexSum" : 35,
      "linesOfCodeInUnits" : 112
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/generics/GenericType.java",
      "extension" : "java",
      "linesOfCode" : 312,
      "unitsCount" : 15,
      "unitsMcCabeIndexSum" : 77,
      "linesOfCodeInUnits" : 285
    } ]
  },
  "filesHistoryAnalysisResults" : {
    "overallFileLastModifiedDistribution" : {
      "key" : "",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 2945,
      "mediumRiskValue" : 1808,
      "highRiskValue" : 1510,
      "veryHighRiskValue" : 48997,
      "lowRiskCount" : 10,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 8,
      "highRiskCount" : 9,
      "veryHighRiskCount" : 440,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 88.66630474122331,
      "highRiskPercentage" : 2.732537097357944,
      "mediumRiskPercentage" : 3.27180600796236,
      "lowRiskPercentage" : 5.329352153456388,
      "totalValue" : 55260,
      "totalCount" : 467
    },
    "overallFileFirstModifiedDistribution" : {
      "key" : "",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 12,
      "mediumRiskValue" : 38,
      "highRiskValue" : 78,
      "veryHighRiskValue" : 55132,
      "lowRiskCount" : 1,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 3,
      "highRiskCount" : 3,
      "veryHighRiskCount" : 460,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 99.76836771625045,
      "highRiskPercentage" : 0.14115092290988057,
      "mediumRiskPercentage" : 0.06876583423814694,
      "lowRiskPercentage" : 0.021715526601520086,
      "totalValue" : 55260,
      "totalCount" : 467
    },
    "overallFileChangeDistribution" : {
      "key" : "",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 17453,
      "lowRiskValue" : 18428,
      "mediumRiskValue" : 15180,
      "highRiskValue" : 2951,
      "veryHighRiskValue" : 1248,
      "lowRiskCount" : 102,
      "negligibleRiskCount" : 316,
      "mediumRiskCount" : 44,
      "highRiskCount" : 4,
      "veryHighRiskCount" : 1,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 31.58342381469417,
      "veryHighRiskPercentage" : 2.258414766558089,
      "highRiskPercentage" : 5.340209916757148,
      "mediumRiskPercentage" : 27.47014115092291,
      "lowRiskPercentage" : 33.34781035106768,
      "totalValue" : 55260,
      "totalCount" : 467
    },
    "overallContributorsCountDistribution" : {
      "key" : "",
      "lowRiskThreshold" : 1,
      "mediumRiskThreshold" : 5,
      "highRiskThreshold" : 10,
      "veryHighRiskThreshold" : 25,
      "negligibleRiskValue" : 5277,
      "lowRiskValue" : 21736,
      "mediumRiskValue" : 16497,
      "highRiskValue" : 11750,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 136,
      "negligibleRiskCount" : 233,
      "mediumRiskCount" : 70,
      "highRiskCount" : 28,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1",
      "lowRiskLabel" : "2-5",
      "mediumRiskLabel" : "6-10",
      "highRiskLabel" : "11-25",
      "veryHighRiskLabel" : "26+",
      "negligibleRiskPercentage" : 9.549402823018458,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 21.263119797321753,
      "mediumRiskPercentage" : 29.85342019543974,
      "lowRiskPercentage" : 39.33405718422005,
      "totalValue" : 55260,
      "totalCount" : 467
    },
    "filesWithoutCommitHistoryCount" : 0,
    "filesWithoutCommitHistoryLinesOfCode" : 0,
    "changeDistributionPerExtension" : [ {
      "key" : "java",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 17359,
      "lowRiskValue" : 18428,
      "mediumRiskValue" : 15180,
      "highRiskValue" : 2951,
      "veryHighRiskValue" : 1248,
      "lowRiskCount" : 102,
      "negligibleRiskCount" : 307,
      "mediumRiskCount" : 44,
      "highRiskCount" : 4,
      "veryHighRiskCount" : 1,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 31.466845520791793,
      "veryHighRiskPercentage" : 2.2622629880723633,
      "highRiskPercentage" : 5.349309357212776,
      "mediumRiskPercentage" : 27.516948845303265,
      "lowRiskPercentage" : 33.4046332886198,
      "totalValue" : 55166,
      "totalCount" : 458
    }, {
      "key" : "kt",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 38,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 6,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 100.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 38,
      "totalCount" : 6
    }, {
      "key" : "groovy",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 17,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 2,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 100.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 17,
      "totalCount" : 2
    }, {
      "key" : "kts",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 39,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 1,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 100.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 39,
      "totalCount" : 1
    } ],
    "lastModifiedDistributionPerExtension" : [ {
      "key" : "java",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 2945,
      "mediumRiskValue" : 1769,
      "highRiskValue" : 1510,
      "veryHighRiskValue" : 48942,
      "lowRiskCount" : 10,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 7,
      "highRiskCount" : 9,
      "veryHighRiskCount" : 432,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 88.71768843128014,
      "highRiskPercentage" : 2.73719319870935,
      "mediumRiskPercentage" : 3.20668527716347,
      "lowRiskPercentage" : 5.338433092847043,
      "totalValue" : 55166,
      "totalCount" : 458
    }, {
      "key" : "kt",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 38,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 6,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 100.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 38,
      "totalCount" : 6
    }, {
      "key" : "groovy",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 17,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 2,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 100.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 17,
      "totalCount" : 2
    }, {
      "key" : "kts",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 39,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 1,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 100.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 39,
      "totalCount" : 1
    } ],
    "firstModifiedDistributionPerExtension" : [ {
      "key" : "java",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 12,
      "mediumRiskValue" : 38,
      "highRiskValue" : 78,
      "veryHighRiskValue" : 55038,
      "lowRiskCount" : 1,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 3,
      "highRiskCount" : 3,
      "veryHighRiskCount" : 451,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 99.76797302686437,
      "highRiskPercentage" : 0.1413914367545227,
      "mediumRiskPercentage" : 0.06888300764963927,
      "lowRiskPercentage" : 0.021752528731465035,
      "totalValue" : 55166,
      "totalCount" : 458
    }, {
      "key" : "kt",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 38,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 6,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 100.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 38,
      "totalCount" : 6
    }, {
      "key" : "groovy",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 17,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 2,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 100.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 17,
      "totalCount" : 2
    }, {
      "key" : "kts",
      "lowRiskThreshold" : 30,
      "mediumRiskThreshold" : 90,
      "highRiskThreshold" : 180,
      "veryHighRiskThreshold" : 365,
      "negligibleRiskValue" : 0,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 39,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 0,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 1,
      "negligibleRiskLabel" : "1-30 days",
      "lowRiskLabel" : "31-90 days",
      "mediumRiskLabel" : "91-180 days",
      "highRiskLabel" : "181-365 days",
      "veryHighRiskLabel" : "366+ days",
      "negligibleRiskPercentage" : 0.0,
      "veryHighRiskPercentage" : 100.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 39,
      "totalCount" : 1
    } ],
    "changeDistributionPerLogicalDecomposition" : [ {
      "name" : "primary",
      "distributionPerComponent" : [ {
        "key" : "testData",
        "lowRiskThreshold" : 5,
        "mediumRiskThreshold" : 20,
        "highRiskThreshold" : 50,
        "veryHighRiskThreshold" : 100,
        "negligibleRiskValue" : 15321,
        "lowRiskValue" : 3914,
        "mediumRiskValue" : 0,
        "highRiskValue" : 0,
        "veryHighRiskValue" : 0,
        "lowRiskCount" : 5,
        "negligibleRiskCount" : 270,
        "mediumRiskCount" : 0,
        "highRiskCount" : 0,
        "veryHighRiskCount" : 0,
        "negligibleRiskLabel" : "1-5",
        "lowRiskLabel" : "6-20",
        "mediumRiskLabel" : "21-50",
        "highRiskLabel" : "51-100",
        "veryHighRiskLabel" : "101+",
        "negligibleRiskPercentage" : 79.65167663114114,
        "veryHighRiskPercentage" : 0.0,
        "highRiskPercentage" : 0.0,
        "mediumRiskPercentage" : 0.0,
        "lowRiskPercentage" : 20.34832336885885,
        "totalValue" : 19235,
        "totalCount" : 275
      }, {
        "key" : "src",
        "lowRiskThreshold" : 5,
        "mediumRiskThreshold" : 20,
        "highRiskThreshold" : 50,
        "veryHighRiskThreshold" : 100,
        "negligibleRiskValue" : 2093,
        "lowRiskValue" : 14514,
        "mediumRiskValue" : 15180,
        "highRiskValue" : 2951,
        "veryHighRiskValue" : 1248,
        "lowRiskCount" : 97,
        "negligibleRiskCount" : 45,
        "mediumRiskCount" : 44,
        "highRiskCount" : 4,
        "veryHighRiskCount" : 1,
        "negligibleRiskLabel" : "1-5",
        "lowRiskLabel" : "6-20",
        "mediumRiskLabel" : "21-50",
        "highRiskLabel" : "51-100",
        "veryHighRiskLabel" : "101+",
        "negligibleRiskPercentage" : 5.816150725282054,
        "veryHighRiskPercentage" : 3.468015339298616,
        "highRiskPercentage" : 8.200411271049854,
        "mediumRiskPercentage" : 42.18307119435336,
        "lowRiskPercentage" : 40.332351470016114,
        "totalValue" : 35986,
        "totalCount" : 191
      }, {
        "key" : "ROOT",
        "lowRiskThreshold" : 5,
        "mediumRiskThreshold" : 20,
        "highRiskThreshold" : 50,
        "veryHighRiskThreshold" : 100,
        "negligibleRiskValue" : 39,
        "lowRiskValue" : 0,
        "mediumRiskValue" : 0,
        "highRiskValue" : 0,
        "veryHighRiskValue" : 0,
        "lowRiskCount" : 0,
        "negligibleRiskCount" : 1,
        "mediumRiskCount" : 0,
        "highRiskCount" : 0,
        "veryHighRiskCount" : 0,
        "negligibleRiskLabel" : "1-5",
        "lowRiskLabel" : "6-20",
        "mediumRiskLabel" : "21-50",
        "highRiskLabel" : "51-100",
        "veryHighRiskLabel" : "101+",
        "negligibleRiskPercentage" : 100.0,
        "veryHighRiskPercentage" : 0.0,
        "highRiskPercentage" : 0.0,
        "mediumRiskPercentage" : 0.0,
        "lowRiskPercentage" : 0.0,
        "totalValue" : 39,
        "totalCount" : 1
      } ]
    } ],
    "firstModifiedDistributionPerLogicalDecomposition" : [ {
      "name" : "primary",
      "distributionPerComponent" : [ {
        "key" : "testData",
        "lowRiskThreshold" : 30,
        "mediumRiskThreshold" : 90,
        "highRiskThreshold" : 180,
        "veryHighRiskThreshold" : 365,
        "negligibleRiskValue" : 0,
        "lowRiskValue" : 12,
        "mediumRiskValue" : 38,
        "highRiskValue" : 41,
        "veryHighRiskValue" : 19144,
        "lowRiskCount" : 1,
        "negligibleRiskCount" : 0,
        "mediumRiskCount" : 3,
        "highRiskCount" : 2,
        "veryHighRiskCount" : 269,
        "negligibleRiskLabel" : "1-30 days",
        "lowRiskLabel" : "31-90 days",
        "mediumRiskLabel" : "91-180 days",
        "highRiskLabel" : "181-365 days",
        "veryHighRiskLabel" : "366+ days",
        "negligibleRiskPercentage" : 0.0,
        "veryHighRiskPercentage" : 99.52690408110216,
        "highRiskPercentage" : 0.21315310631661036,
        "mediumRiskPercentage" : 0.1975565375617364,
        "lowRiskPercentage" : 0.06238627501949571,
        "totalValue" : 19235,
        "totalCount" : 275
      }, {
        "key" : "src",
        "lowRiskThreshold" : 30,
        "mediumRiskThreshold" : 90,
        "highRiskThreshold" : 180,
        "veryHighRiskThreshold" : 365,
        "negligibleRiskValue" : 0,
        "lowRiskValue" : 0,
        "mediumRiskValue" : 0,
        "highRiskValue" : 37,
        "veryHighRiskValue" : 35949,
        "lowRiskCount" : 0,
        "negligibleRiskCount" : 0,
        "mediumRiskCount" : 0,
        "highRiskCount" : 1,
        "veryHighRiskCount" : 190,
        "negligibleRiskLabel" : "1-30 days",
        "lowRiskLabel" : "31-90 days",
        "mediumRiskLabel" : "91-180 days",
        "highRiskLabel" : "181-365 days",
        "veryHighRiskLabel" : "366+ days",
        "negligibleRiskPercentage" : 0.0,
        "veryHighRiskPercentage" : 99.89718223753682,
        "highRiskPercentage" : 0.10281776246318013,
        "mediumRiskPercentage" : 0.0,
        "lowRiskPercentage" : 0.0,
        "totalValue" : 35986,
        "totalCount" : 191
      }, {
        "key" : "ROOT",
        "lowRiskThreshold" : 30,
        "mediumRiskThreshold" : 90,
        "highRiskThreshold" : 180,
        "veryHighRiskThreshold" : 365,
        "negligibleRiskValue" : 0,
        "lowRiskValue" : 0,
        "mediumRiskValue" : 0,
        "highRiskValue" : 0,
        "veryHighRiskValue" : 39,
        "lowRiskCount" : 0,
        "negligibleRiskCount" : 0,
        "mediumRiskCount" : 0,
        "highRiskCount" : 0,
        "veryHighRiskCount" : 1,
        "negligibleRiskLabel" : "1-30 days",
        "lowRiskLabel" : "31-90 days",
        "mediumRiskLabel" : "91-180 days",
        "highRiskLabel" : "181-365 days",
        "veryHighRiskLabel" : "366+ days",
        "negligibleRiskPercentage" : 0.0,
        "veryHighRiskPercentage" : 100.0,
        "highRiskPercentage" : 0.0,
        "mediumRiskPercentage" : 0.0,
        "lowRiskPercentage" : 0.0,
        "totalValue" : 39,
        "totalCount" : 1
      } ]
    } ],
    "lastModifiedDistributionPerLogicalDecomposition" : [ {
      "name" : "primary",
      "distributionPerComponent" : [ {
        "key" : "testData",
        "lowRiskThreshold" : 30,
        "mediumRiskThreshold" : 90,
        "highRiskThreshold" : 180,
        "veryHighRiskThreshold" : 365,
        "negligibleRiskValue" : 0,
        "lowRiskValue" : 12,
        "mediumRiskValue" : 38,
        "highRiskValue" : 41,
        "veryHighRiskValue" : 19144,
        "lowRiskCount" : 1,
        "negligibleRiskCount" : 0,
        "mediumRiskCount" : 3,
        "highRiskCount" : 2,
        "veryHighRiskCount" : 269,
        "negligibleRiskLabel" : "1-30 days",
        "lowRiskLabel" : "31-90 days",
        "mediumRiskLabel" : "91-180 days",
        "highRiskLabel" : "181-365 days",
        "veryHighRiskLabel" : "366+ days",
        "negligibleRiskPercentage" : 0.0,
        "veryHighRiskPercentage" : 99.52690408110216,
        "highRiskPercentage" : 0.21315310631661036,
        "mediumRiskPercentage" : 0.1975565375617364,
        "lowRiskPercentage" : 0.06238627501949571,
        "totalValue" : 19235,
        "totalCount" : 275
      }, {
        "key" : "src",
        "lowRiskThreshold" : 30,
        "mediumRiskThreshold" : 90,
        "highRiskThreshold" : 180,
        "veryHighRiskThreshold" : 365,
        "negligibleRiskValue" : 0,
        "lowRiskValue" : 2933,
        "mediumRiskValue" : 1731,
        "highRiskValue" : 1469,
        "veryHighRiskValue" : 29853,
        "lowRiskCount" : 9,
        "negligibleRiskCount" : 0,
        "mediumRiskCount" : 4,
        "highRiskCount" : 7,
        "veryHighRiskCount" : 171,
        "negligibleRiskLabel" : "1-30 days",
        "lowRiskLabel" : "31-90 days",
        "mediumRiskLabel" : "91-180 days",
        "highRiskLabel" : "181-365 days",
        "veryHighRiskLabel" : "366+ days",
        "negligibleRiskPercentage" : 0.0,
        "veryHighRiskPercentage" : 82.95726115711666,
        "highRiskPercentage" : 4.082143055632746,
        "mediumRiskPercentage" : 4.810203968209859,
        "lowRiskPercentage" : 8.150391819040738,
        "totalValue" : 35986,
        "totalCount" : 191
      }, {
        "key" : "ROOT",
        "lowRiskThreshold" : 30,
        "mediumRiskThreshold" : 90,
        "highRiskThreshold" : 180,
        "veryHighRiskThreshold" : 365,
        "negligibleRiskValue" : 0,
        "lowRiskValue" : 0,
        "mediumRiskValue" : 39,
        "highRiskValue" : 0,
        "veryHighRiskValue" : 0,
        "lowRiskCount" : 0,
        "negligibleRiskCount" : 0,
        "mediumRiskCount" : 1,
        "highRiskCount" : 0,
        "veryHighRiskCount" : 0,
        "negligibleRiskLabel" : "1-30 days",
        "lowRiskLabel" : "31-90 days",
        "mediumRiskLabel" : "91-180 days",
        "highRiskLabel" : "181-365 days",
        "veryHighRiskLabel" : "366+ days",
        "negligibleRiskPercentage" : 0.0,
        "veryHighRiskPercentage" : 0.0,
        "highRiskPercentage" : 0.0,
        "mediumRiskPercentage" : 100.0,
        "lowRiskPercentage" : 0.0,
        "totalValue" : 39,
        "totalCount" : 1
      } ]
    } ],
    "oldestFiles" : [ {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
      "extension" : "java",
      "linesOfCode" : 1248,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 353,
      "linesOfCodeInUnits" : 1150
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ExprProcessor.java",
      "extension" : "java",
      "linesOfCode" : 987,
      "unitsCount" : 35,
      "unitsMcCabeIndexSum" : 362,
      "linesOfCodeInUnits" : 891
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarDefinitionHelper.java",
      "extension" : "java",
      "linesOfCode" : 883,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 273,
      "linesOfCodeInUnits" : 848
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java",
      "extension" : "java",
      "linesOfCode" : 831,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 257,
      "linesOfCodeInUnits" : 761
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/Statement.java",
      "extension" : "java",
      "linesOfCode" : 748,
      "unitsCount" : 66,
      "unitsMcCabeIndexSum" : 214,
      "linesOfCodeInUnits" : 661
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
      "extension" : "java",
      "linesOfCode" : 733,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 193,
      "linesOfCodeInUnits" : 676
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/MergeHelper.java",
      "extension" : "java",
      "linesOfCode" : 647,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 232,
      "linesOfCodeInUnits" : 629
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SimplifyExprentsHelper.java",
      "extension" : "java",
      "linesOfCode" : 601,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 220,
      "linesOfCodeInUnits" : 554
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java",
      "extension" : "java",
      "linesOfCode" : 598,
      "unitsCount" : 40,
      "unitsMcCabeIndexSum" : 194,
      "linesOfCodeInUnits" : 511
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
      "extension" : "java",
      "linesOfCode" : 578,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 136,
      "linesOfCodeInUnits" : 542
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ConstExprent.java",
      "extension" : "java",
      "linesOfCode" : 576,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 202,
      "linesOfCodeInUnits" : 503
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FunctionExprent.java",
      "extension" : "java",
      "linesOfCode" : 573,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 332
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/cfg/ControlFlowGraph.java",
      "extension" : "java",
      "linesOfCode" : 568,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 502
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/StackVarsProcessor.java",
      "extension" : "java",
      "linesOfCode" : 551,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 66,
      "linesOfCodeInUnits" : 243
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassesProcessor.java",
      "extension" : "java",
      "linesOfCode" : 535,
      "unitsCount" : 22,
      "unitsMcCabeIndexSum" : 141,
      "linesOfCodeInUnits" : 458
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IfHelper.java",
      "extension" : "java",
      "linesOfCode" : 535,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 134,
      "linesOfCodeInUnits" : 513
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/DomHelper.java",
      "extension" : "java",
      "linesOfCode" : 482,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 114,
      "linesOfCodeInUnits" : 389
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/NewExprent.java",
      "extension" : "java",
      "linesOfCode" : 450,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 135,
      "linesOfCodeInUnits" : 394
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper.java",
      "extension" : "java",
      "linesOfCode" : 426,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 93,
      "linesOfCodeInUnits" : 356
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/deobfuscator/ExceptionDeobfuscator.java",
      "extension" : "java",
      "linesOfCode" : 425,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 110,
      "linesOfCodeInUnits" : 395
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/code/DeadCodeHelper.java",
      "extension" : "java",
      "linesOfCode" : 414,
      "unitsCount" : 10,
      "unitsMcCabeIndexSum" : 127,
      "linesOfCodeInUnits" : 400
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/SwitchStatement.java",
      "extension" : "java",
      "linesOfCode" : 404,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 57,
      "linesOfCodeInUnits" : 235
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/interpreter/InstructionImpact.java",
      "extension" : "java",
      "linesOfCode" : 400,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 59,
      "linesOfCodeInUnits" : 172
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/LabelHelper.java",
      "extension" : "java",
      "linesOfCode" : 394,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 104,
      "linesOfCodeInUnits" : 279
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SecondaryFunctionsHelper.java",
      "extension" : "java",
      "linesOfCode" : 384,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 122,
      "linesOfCodeInUnits" : 348
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAConstructorSparseEx.java",
      "extension" : "java",
      "linesOfCode" : 366,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 80,
      "linesOfCodeInUnits" : 331
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedMemberAccess.java",
      "extension" : "java",
      "linesOfCode" : 359,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 129,
      "linesOfCodeInUnits" : 339
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/VarType.java",
      "extension" : "java",
      "linesOfCode" : 339,
      "unitsCount" : 29,
      "unitsMcCabeIndexSum" : 133,
      "linesOfCodeInUnits" : 291
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/VarExprent.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 36,
      "unitsMcCabeIndexSum" : 86,
      "linesOfCodeInUnits" : 253
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/IfStatement.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 90,
      "linesOfCodeInUnits" : 299
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/FastSparseSetFactory.java",
      "extension" : "java",
      "linesOfCode" : 320,
      "unitsCount" : 27,
      "unitsMcCabeIndexSum" : 73,
      "linesOfCodeInUnits" : 262
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructMethod.java",
      "extension" : "java",
      "linesOfCode" : 317,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 67,
      "linesOfCodeInUnits" : 275
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/generics/GenericType.java",
      "extension" : "java",
      "linesOfCode" : 312,
      "unitsCount" : 15,
      "unitsMcCabeIndexSum" : 77,
      "linesOfCodeInUnits" : 285
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/SFormsFastMapDirect.java",
      "extension" : "java",
      "linesOfCode" : 311,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 65,
      "linesOfCodeInUnits" : 259
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/CodeConstants.java",
      "extension" : "java",
      "linesOfCode" : 308,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/Exprent.java",
      "extension" : "java",
      "linesOfCode" : 301,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 88,
      "linesOfCodeInUnits" : 230
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructClass.java",
      "extension" : "java",
      "linesOfCode" : 301,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 56,
      "linesOfCodeInUnits" : 186
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/renamer/IdentifierConverter.java",
      "extension" : "java",
      "linesOfCode" : 283,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 66,
      "linesOfCodeInUnits" : 261
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarVersionsProcessor.java",
      "extension" : "java",
      "linesOfCode" : 271,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 82,
      "linesOfCodeInUnits" : 248
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/InitializerProcessor.java",
      "extension" : "java",
      "linesOfCode" : 258,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 98,
      "linesOfCodeInUnits" : 234
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IdeaNotNullHelper.java",
      "extension" : "java",
      "linesOfCode" : 258,
      "unitsCount" : 5,
      "unitsMcCabeIndexSum" : 93,
      "linesOfCodeInUnits" : 238
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/AssertProcessor.java",
      "extension" : "java",
      "linesOfCode" : 255,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 69,
      "linesOfCodeInUnits" : 200
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/decompiler/ConsoleDecompiler.java",
      "extension" : "java",
      "linesOfCode" : 252,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 50,
      "linesOfCodeInUnits" : 205
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ConcatenationHelper.java",
      "extension" : "java",
      "linesOfCode" : 246,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 83,
      "linesOfCodeInUnits" : 224
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/decompose/FastExtendedPostdominanceHelper.java",
      "extension" : "java",
      "linesOfCode" : 240,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 56,
      "linesOfCodeInUnits" : 197
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/FastFixedSetFactory.java",
      "extension" : "java",
      "linesOfCode" : 238,
      "unitsCount" : 27,
      "unitsMcCabeIndexSum" : 52,
      "linesOfCodeInUnits" : 194
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SequenceHelper.java",
      "extension" : "java",
      "linesOfCode" : 233,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 68,
      "linesOfCodeInUnits" : 218
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/generics/GenericMain.java",
      "extension" : "java",
      "linesOfCode" : 218,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 47,
      "linesOfCodeInUnits" : 195
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarProcessor.java",
      "extension" : "java",
      "linesOfCode" : 212,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 64,
      "linesOfCodeInUnits" : 174
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarTypeProcessor.java",
      "extension" : "java",
      "linesOfCode" : 211,
      "unitsCount" : 14,
      "unitsMcCabeIndexSum" : 60,
      "linesOfCodeInUnits" : 185
    } ],
    "youngestFiles" : [ {
      "relativePath" : "testData/src/pkg/TestWithoutDebugName.java",
      "extension" : "java",
      "linesOfCode" : 12,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/pkg/TestAnnotationExtendWildcard.java",
      "extension" : "java",
      "linesOfCode" : 22,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 6,
      "linesOfCodeInUnits" : 17
    }, {
      "relativePath" : "testData/src/pkg/TestAnnotationExtendObjectStaticMethods.java",
      "extension" : "java",
      "linesOfCode" : 10,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 2
    }, {
      "relativePath" : "testData/src/pkg/TestAnnotationExtendObjectClass.java",
      "extension" : "java",
      "linesOfCode" : 6,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 2
    }, {
      "relativePath" : "testData/src/typeAnnotations/NestedTypeAnnotationsParameters.java",
      "extension" : "java",
      "linesOfCode" : 18,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 15
    }, {
      "relativePath" : "testData/src/pkg/TestAnnotationsForParametersWithNestedClass.java",
      "extension" : "java",
      "linesOfCode" : 23,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 5,
      "linesOfCodeInUnits" : 15
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/collectors/LimitContainer.java",
      "extension" : "java",
      "linesOfCode" : 37,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 21
    }, {
      "relativePath" : "build.gradle.kts",
      "extension" : "kts",
      "linesOfCode" : 39,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/pkg/KotlinDefaultValue.kt",
      "extension" : "kt",
      "linesOfCode" : 1,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/pkg/TestHelloWorld.java",
      "extension" : "java",
      "linesOfCode" : 6,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 3
    }, {
      "relativePath" : "testData/src/pkg/TestNestedCalls.java",
      "extension" : "java",
      "linesOfCode" : 13,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 4,
      "linesOfCodeInUnits" : 9
    }, {
      "relativePath" : "testData/src/pkg/TestTryCatchFinallyMismatched.java",
      "extension" : "java",
      "linesOfCode" : 50,
      "unitsCount" : 5,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 47
    }, {
      "relativePath" : "testData/src/pkg/TestEnumLowLevel.java",
      "extension" : "java",
      "linesOfCode" : 6,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 3
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarVersion.java",
      "extension" : "java",
      "linesOfCode" : 41,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 12,
      "linesOfCodeInUnits" : 29
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordAnnoParameterType.java",
      "extension" : "java",
      "linesOfCode" : 12,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 5
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordAnnoGetter.java",
      "extension" : "java",
      "linesOfCode" : 12,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordAnnoGetterType.java",
      "extension" : "java",
      "linesOfCode" : 12,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 5
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordAnnoConstructor.java",
      "extension" : "java",
      "linesOfCode" : 12,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordAnno.java",
      "extension" : "java",
      "linesOfCode" : 11,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 1
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordAnnoParameterAndType.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 2
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordAnnoComponentType.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 2
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordEmpty.java",
      "extension" : "java",
      "linesOfCode" : 6,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 5
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordDifferentTypes.java",
      "extension" : "java",
      "linesOfCode" : 6,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 5
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordSimple.java",
      "extension" : "java",
      "linesOfCode" : 2,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 1
    }, {
      "relativePath" : "testData/src/records/TestHideConstructorRecordVararg.java",
      "extension" : "java",
      "linesOfCode" : 2,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 1
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/renamer/MemberConverterHelper.java",
      "extension" : "java",
      "linesOfCode" : 88,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 27,
      "linesOfCodeInUnits" : 62
    }, {
      "relativePath" : "testData/src/pkg/TestNestedInheritor.java",
      "extension" : "java",
      "linesOfCode" : 17,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 5
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/decompose/SupportComponent.java",
      "extension" : "java",
      "linesOfCode" : 63,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 16,
      "linesOfCodeInUnits" : 52
    }, {
      "relativePath" : "testData/src/pkg/TestNotNullRecord.java",
      "extension" : "java",
      "linesOfCode" : 4,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 2
    }, {
      "relativePath" : "testData/src/pkg/TestInitGeneric.java",
      "extension" : "java",
      "linesOfCode" : 32,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 7,
      "linesOfCodeInUnits" : 22
    }, {
      "relativePath" : "testData/src/pkg/TestEnumInit.java",
      "extension" : "java",
      "linesOfCode" : 26,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 2
    }, {
      "relativePath" : "testData/src/pkg/TestFinally.java",
      "extension" : "java",
      "linesOfCode" : 23,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 4,
      "linesOfCodeInUnits" : 17
    }, {
      "relativePath" : "testData/src/pkg/TestCustomSyntheticRecords.java",
      "extension" : "java",
      "linesOfCode" : 22,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 4,
      "linesOfCodeInUnits" : 19
    }, {
      "relativePath" : "testData/src/pkg/TestLambda.java",
      "extension" : "java",
      "linesOfCode" : 17,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 13
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/TryHelper.java",
      "extension" : "java",
      "linesOfCode" : 590,
      "unitsCount" : 20,
      "unitsMcCabeIndexSum" : 205,
      "linesOfCodeInUnits" : 552
    }, {
      "relativePath" : "testData/src/pkg/TestTryWithResources.java",
      "extension" : "java",
      "linesOfCode" : 33,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 23
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/JADNameProvider.java",
      "extension" : "java",
      "linesOfCode" : 180,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 42,
      "linesOfCodeInUnits" : 147
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/StatementIterator.java",
      "extension" : "java",
      "linesOfCode" : 31,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 23
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/IdentityRenamerFactory.java",
      "extension" : "java",
      "linesOfCode" : 19,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 3,
      "linesOfCodeInUnits" : 8
    }, {
      "relativePath" : "testData/src/pkg/TestJADNaming.java",
      "extension" : "java",
      "linesOfCode" : 10,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 5,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/ClasspathScanner.java",
      "extension" : "java",
      "linesOfCode" : 68,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 16,
      "linesOfCodeInUnits" : 53
    }, {
      "relativePath" : "testData/src/pkg/TestGenerics.java",
      "extension" : "java",
      "linesOfCode" : 46,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 11,
      "linesOfCodeInUnits" : 33
    }, {
      "relativePath" : "testData/src/pkg/TestCompoundAssignment.java",
      "extension" : "java",
      "linesOfCode" : 68,
      "unitsCount" : 5,
      "unitsMcCabeIndexSum" : 15,
      "linesOfCodeInUnits" : 65
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/DebugPrinter.java",
      "extension" : "java",
      "linesOfCode" : 84,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 21,
      "linesOfCodeInUnits" : 69
    }, {
      "relativePath" : "testData/src/pkg/TestPPMM.java",
      "extension" : "java",
      "linesOfCode" : 61,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 9,
      "linesOfCodeInUnits" : 58
    }, {
      "relativePath" : "testData/src/pkg/TestLVTComplex.java",
      "extension" : "java",
      "linesOfCode" : 60,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 17,
      "linesOfCodeInUnits" : 53
    }, {
      "relativePath" : "testData/src/pkg/TestLoopMerging.java",
      "extension" : "java",
      "linesOfCode" : 45,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 18,
      "linesOfCodeInUnits" : 40
    }, {
      "relativePath" : "testData/src/pkg/TestLVT.java",
      "extension" : "java",
      "linesOfCode" : 33,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 4,
      "linesOfCodeInUnits" : 26
    }, {
      "relativePath" : "testData/src/pkg/TestLVTScoping.java",
      "extension" : "java",
      "linesOfCode" : 32,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 6,
      "linesOfCodeInUnits" : 29
    }, {
      "relativePath" : "testData/src/pkg/TestEnhancedForLoops.java",
      "extension" : "java",
      "linesOfCode" : 23,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 6,
      "linesOfCodeInUnits" : 18
    } ],
    "mostRecentlyChangedFiles" : [ {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/Statement.java",
      "extension" : "java",
      "linesOfCode" : 748,
      "unitsCount" : 66,
      "unitsMcCabeIndexSum" : 214,
      "linesOfCodeInUnits" : 661
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/DomHelper.java",
      "extension" : "java",
      "linesOfCode" : 482,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 114,
      "linesOfCodeInUnits" : 389
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/SwitchStatement.java",
      "extension" : "java",
      "linesOfCode" : 404,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 57,
      "linesOfCodeInUnits" : 235
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/LabelHelper.java",
      "extension" : "java",
      "linesOfCode" : 394,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 104,
      "linesOfCodeInUnits" : 279
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/VarExprent.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 36,
      "unitsMcCabeIndexSum" : 86,
      "linesOfCodeInUnits" : 253
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/decompose/FastExtendedPostdominanceHelper.java",
      "extension" : "java",
      "linesOfCode" : 240,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 56,
      "linesOfCodeInUnits" : 197
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarTypeProcessor.java",
      "extension" : "java",
      "linesOfCode" : 211,
      "unitsCount" : 14,
      "unitsMcCabeIndexSum" : 60,
      "linesOfCodeInUnits" : 185
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/StatEdge.java",
      "extension" : "java",
      "linesOfCode" : 95,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 13,
      "linesOfCodeInUnits" : 54
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/CheckTypesResult.java",
      "extension" : "java",
      "linesOfCode" : 23,
      "unitsCount" : 5,
      "unitsMcCabeIndexSum" : 5,
      "linesOfCodeInUnits" : 14
    }, {
      "relativePath" : "testData/src/pkg/TestWithoutDebugName.java",
      "extension" : "java",
      "linesOfCode" : 12,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/JADNameProvider.java",
      "extension" : "java",
      "linesOfCode" : 180,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 42,
      "linesOfCodeInUnits" : 147
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/ClassWrapper.java",
      "extension" : "java",
      "linesOfCode" : 171,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 30,
      "linesOfCodeInUnits" : 139
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
      "extension" : "java",
      "linesOfCode" : 1248,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 353,
      "linesOfCodeInUnits" : 1150
    }, {
      "relativePath" : "testData/src/pkg/TestAnnotationExtendWildcard.java",
      "extension" : "java",
      "linesOfCode" : 22,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 6,
      "linesOfCodeInUnits" : 17
    }, {
      "relativePath" : "testData/src/pkg/TestAnnotationExtendObjectStaticMethods.java",
      "extension" : "java",
      "linesOfCode" : 10,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 2
    }, {
      "relativePath" : "testData/src/pkg/TestAnnotationExtendObjectClass.java",
      "extension" : "java",
      "linesOfCode" : 6,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 2
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/VBStyleCollection.java",
      "extension" : "java",
      "linesOfCode" : 132,
      "unitsCount" : 22,
      "unitsMcCabeIndexSum" : 29,
      "linesOfCodeInUnits" : 117
    }, {
      "relativePath" : "build.gradle.kts",
      "extension" : "kts",
      "linesOfCode" : 39,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructMember.java",
      "extension" : "java",
      "linesOfCode" : 109,
      "unitsCount" : 10,
      "unitsMcCabeIndexSum" : 28,
      "linesOfCodeInUnits" : 89
    }, {
      "relativePath" : "testData/src/typeAnnotations/NestedTypeAnnotationsParameters.java",
      "extension" : "java",
      "linesOfCode" : 18,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 15
    }, {
      "relativePath" : "testData/src/pkg/TestAnnotationsForParametersWithNestedClass.java",
      "extension" : "java",
      "linesOfCode" : 23,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 5,
      "linesOfCodeInUnits" : 15
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
      "extension" : "java",
      "linesOfCode" : 578,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 136,
      "linesOfCodeInUnits" : 542
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAConstructorSparseEx.java",
      "extension" : "java",
      "linesOfCode" : 366,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 80,
      "linesOfCodeInUnits" : 331
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/collectors/LimitContainer.java",
      "extension" : "java",
      "linesOfCode" : 37,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 21
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/MethodProcessorRunnable.java",
      "extension" : "java",
      "linesOfCode" : 213,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 38,
      "linesOfCodeInUnits" : 176
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/DecompilerContext.java",
      "extension" : "java",
      "linesOfCode" : 126,
      "unitsCount" : 20,
      "unitsMcCabeIndexSum" : 23,
      "linesOfCodeInUnits" : 89
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/MethodWrapper.java",
      "extension" : "java",
      "linesOfCode" : 40,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 5,
      "linesOfCodeInUnits" : 15
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
      "extension" : "java",
      "linesOfCode" : 733,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 193,
      "linesOfCodeInUnits" : 676
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/IfStatement.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 90,
      "linesOfCodeInUnits" : 299
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ConcatenationHelper.java",
      "extension" : "java",
      "linesOfCode" : 246,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 83,
      "linesOfCodeInUnits" : 224
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/DecHelper.java",
      "extension" : "java",
      "linesOfCode" : 174,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 43,
      "linesOfCodeInUnits" : 162
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/LambdaProcessor.java",
      "extension" : "java",
      "linesOfCode" : 94,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 20,
      "linesOfCodeInUnits" : 71
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/StrongConnectivityHelper.java",
      "extension" : "java",
      "linesOfCode" : 91,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 15,
      "linesOfCodeInUnits" : 63
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/InterpreterUtil.java",
      "extension" : "java",
      "linesOfCode" : 70,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 11,
      "linesOfCodeInUnits" : 37
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SwitchPatternHelper.java",
      "extension" : "java",
      "linesOfCode" : 1435,
      "unitsCount" : 31,
      "unitsMcCabeIndexSum" : 186,
      "linesOfCodeInUnits" : 560
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SwitchHelper.java",
      "extension" : "java",
      "linesOfCode" : 635,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 122,
      "linesOfCodeInUnits" : 347
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java",
      "extension" : "java",
      "linesOfCode" : 598,
      "unitsCount" : 40,
      "unitsMcCabeIndexSum" : 194,
      "linesOfCodeInUnits" : 511
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/TryHelper.java",
      "extension" : "java",
      "linesOfCode" : 590,
      "unitsCount" : 20,
      "unitsMcCabeIndexSum" : 205,
      "linesOfCodeInUnits" : 552
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ConstExprent.java",
      "extension" : "java",
      "linesOfCode" : 576,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 202,
      "linesOfCodeInUnits" : 503
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FunctionExprent.java",
      "extension" : "java",
      "linesOfCode" : 573,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 332
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/StackVarsProcessor.java",
      "extension" : "java",
      "linesOfCode" : 551,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 66,
      "linesOfCodeInUnits" : 243
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/PatternHelper.java",
      "extension" : "java",
      "linesOfCode" : 550,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 120,
      "linesOfCodeInUnits" : 345
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/NewExprent.java",
      "extension" : "java",
      "linesOfCode" : 450,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 135,
      "linesOfCodeInUnits" : 394
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/VarType.java",
      "extension" : "java",
      "linesOfCode" : 339,
      "unitsCount" : 29,
      "unitsMcCabeIndexSum" : 133,
      "linesOfCodeInUnits" : 291
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/generics/GenericType.java",
      "extension" : "java",
      "linesOfCode" : 312,
      "unitsCount" : 15,
      "unitsMcCabeIndexSum" : 77,
      "linesOfCodeInUnits" : 285
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/Exprent.java",
      "extension" : "java",
      "linesOfCode" : 301,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 88,
      "linesOfCodeInUnits" : 230
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FieldExprent.java",
      "extension" : "java",
      "linesOfCode" : 195,
      "unitsCount" : 17,
      "unitsMcCabeIndexSum" : 50,
      "linesOfCodeInUnits" : 144
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/AssignmentExprent.java",
      "extension" : "java",
      "linesOfCode" : 159,
      "unitsCount" : 15,
      "unitsMcCabeIndexSum" : 35,
      "linesOfCodeInUnits" : 112
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/LowBreakHelper.java",
      "extension" : "java",
      "linesOfCode" : 141,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 48,
      "linesOfCodeInUnits" : 134
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/SwitchExprent.java",
      "extension" : "java",
      "linesOfCode" : 123,
      "unitsCount" : 10,
      "unitsMcCabeIndexSum" : 30,
      "linesOfCodeInUnits" : 94
    } ],
    "mostPreviouslyChangedFiles" : [ {
      "relativePath" : "testData/src/pkg/TestExtendsList.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/pkg/TestClassSwitch.java",
      "extension" : "java",
      "linesOfCode" : 12,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 3,
      "linesOfCodeInUnits" : 9
    }, {
      "relativePath" : "testData/src/pkg/TestMethodParameters.java",
      "extension" : "java",
      "linesOfCode" : 21,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 6,
      "linesOfCodeInUnits" : 11
    }, {
      "relativePath" : "testData/src/pkg/TestClassVar.java",
      "extension" : "java",
      "linesOfCode" : 31,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 9,
      "linesOfCodeInUnits" : 26
    }, {
      "relativePath" : "testData/src/pkg/TestClassTypes.java",
      "extension" : "java",
      "linesOfCode" : 41,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 12,
      "linesOfCodeInUnits" : 36
    }, {
      "relativePath" : "testData/src/pkg/TestCodeConstructs.java",
      "extension" : "java",
      "linesOfCode" : 10,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/pkg/TestClassNestedInitializer.java",
      "extension" : "java",
      "linesOfCode" : 8,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 4
    }, {
      "relativePath" : "testData/src/pkg/TestClassCast.java",
      "extension" : "java",
      "linesOfCode" : 11,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 7
    }, {
      "relativePath" : "testData/src/pkg/TestClassSimpleBytecodeMapping.java",
      "extension" : "java",
      "linesOfCode" : 45,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 36
    }, {
      "relativePath" : "testData/src/pkg/TestAmbiguousCall.java",
      "extension" : "java",
      "linesOfCode" : 13,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 3,
      "linesOfCodeInUnits" : 10
    }, {
      "relativePath" : "testData/src/pkg/TestAbstractMethods.java",
      "extension" : "java",
      "linesOfCode" : 13,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/pkg/TestThrowException.java",
      "extension" : "java",
      "linesOfCode" : 17,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 11
    }, {
      "relativePath" : "testData/src/pkg/TestLocalClass.java",
      "extension" : "java",
      "linesOfCode" : 22,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 3,
      "linesOfCodeInUnits" : 17
    }, {
      "relativePath" : "testData/src/pkg/TestDeprecations.java",
      "extension" : "java",
      "linesOfCode" : 29,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 4,
      "linesOfCodeInUnits" : 12
    }, {
      "relativePath" : "testData/src/pkg/TestTryCatchFinally.java",
      "extension" : "java",
      "linesOfCode" : 37,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 32
    }, {
      "relativePath" : "testData/src/pkg/TestClassLambda.java",
      "extension" : "java",
      "linesOfCode" : 60,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 13,
      "linesOfCodeInUnits" : 51
    }, {
      "relativePath" : "testData/src/pkg/TestAnonymousClass.java",
      "extension" : "java",
      "linesOfCode" : 95,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 12,
      "linesOfCodeInUnits" : 53
    }, {
      "relativePath" : "testData/src/pkg/TestClassLoop.java",
      "extension" : "java",
      "linesOfCode" : 66,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 14,
      "linesOfCodeInUnits" : 63
    }, {
      "relativePath" : "testData/src/pkg/TestSynchronizedMapping.java",
      "extension" : "java",
      "linesOfCode" : 14,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 9
    }, {
      "relativePath" : "testData/src/pkg/TestParameterizedTypes.java",
      "extension" : "java",
      "linesOfCode" : 6,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/pkg/Shadow.java",
      "extension" : "java",
      "linesOfCode" : 2,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/ext/Shadow.java",
      "extension" : "java",
      "linesOfCode" : 4,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/bulk/pkg/Main.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 5
    }, {
      "relativePath" : "testData/src/pkg/TestInnerClassConstructor.java",
      "extension" : "java",
      "linesOfCode" : 22,
      "unitsCount" : 5,
      "unitsMcCabeIndexSum" : 5,
      "linesOfCodeInUnits" : 15
    }, {
      "relativePath" : "testData/src/java9/TestJava9StringConcat.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/pkg/TestStringConcat.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/pkg/TestMethodReferenceSameName.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 4
    }, {
      "relativePath" : "testData/src/pkg/TestMethodReferenceLetterClass.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 4
    }, {
      "relativePath" : "testData/src/pkg/TestMemberAnnotations.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/pkg/TestInterfaceFields.java",
      "extension" : "java",
      "linesOfCode" : 6,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/pkg/TestClassFields.java",
      "extension" : "java",
      "linesOfCode" : 15,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/pkg/TestExtendingSubclass.java",
      "extension" : "java",
      "linesOfCode" : 13,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/pkg/TestEnum.java",
      "extension" : "java",
      "linesOfCode" : 18,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 3,
      "linesOfCodeInUnits" : 3
    }, {
      "relativePath" : "testData/src/pkg/TestIllegalVarName.kt",
      "extension" : "kt",
      "linesOfCode" : 6,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 3
    }, {
      "relativePath" : "testData/src/pkg/MoreAnnotations.java",
      "extension" : "java",
      "linesOfCode" : 79,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/pkg/TestStaticNameClash.java",
      "extension" : "java",
      "linesOfCode" : 7,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 3
    }, {
      "relativePath" : "testData/src/pkg/TypeAnnotations.java",
      "extension" : "java",
      "linesOfCode" : 15,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 1
    }, {
      "relativePath" : "testData/src/pkg/TestSyntheticAccess.java",
      "extension" : "java",
      "linesOfCode" : 30,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 7,
      "linesOfCodeInUnits" : 21
    }, {
      "relativePath" : "testData/src/pkg/TestKotlinConstructor.kt",
      "extension" : "kt",
      "linesOfCode" : 7,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/pkg/TestAsserts.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 2,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/pkg/TestLocalsSignature.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 4
    }, {
      "relativePath" : "testData/src/pkg/TestAnonymousSignature.java",
      "extension" : "java",
      "linesOfCode" : 19,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 14
    }, {
      "relativePath" : "testData/src/pkg/TestLocalsNames.java",
      "extension" : "java",
      "linesOfCode" : 16,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 3,
      "linesOfCodeInUnits" : 12
    }, {
      "relativePath" : "testData/src/pkg/TestAnonymousParamNames.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 2
    }, {
      "relativePath" : "testData/src/pkg/TestAnonymousClassConstructor.java",
      "extension" : "java",
      "linesOfCode" : 82,
      "unitsCount" : 21,
      "unitsMcCabeIndexSum" : 21,
      "linesOfCodeInUnits" : 63
    }, {
      "relativePath" : "testData/src/pkg/TestAnonymousParams.java",
      "extension" : "java",
      "linesOfCode" : 15,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 9
    }, {
      "relativePath" : "testData/src/pkg/TestAccessReplace.java",
      "extension" : "java",
      "linesOfCode" : 15,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/pkg/TestStringLiterals.java",
      "extension" : "java",
      "linesOfCode" : 9,
      "unitsCount" : 1,
      "unitsMcCabeIndexSum" : 1,
      "linesOfCodeInUnits" : 6
    }, {
      "relativePath" : "testData/src/pkg/TestIffSimplification.java",
      "extension" : "java",
      "linesOfCode" : 40,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 15,
      "linesOfCodeInUnits" : 36
    }, {
      "relativePath" : "testData/src/pkg/TestVarArgCalls.java",
      "extension" : "java",
      "linesOfCode" : 23,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 3,
      "linesOfCodeInUnits" : 20
    } ],
    "mostChangedFiles" : [ {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
      "extension" : "java",
      "linesOfCode" : 1248,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 353,
      "linesOfCodeInUnits" : 1150
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ExprProcessor.java",
      "extension" : "java",
      "linesOfCode" : 987,
      "unitsCount" : 35,
      "unitsMcCabeIndexSum" : 362,
      "linesOfCodeInUnits" : 891
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java",
      "extension" : "java",
      "linesOfCode" : 598,
      "unitsCount" : 40,
      "unitsMcCabeIndexSum" : 194,
      "linesOfCodeInUnits" : 511
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java",
      "extension" : "java",
      "linesOfCode" : 831,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 257,
      "linesOfCodeInUnits" : 761
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassesProcessor.java",
      "extension" : "java",
      "linesOfCode" : 535,
      "unitsCount" : 22,
      "unitsMcCabeIndexSum" : 141,
      "linesOfCodeInUnits" : 458
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/NewExprent.java",
      "extension" : "java",
      "linesOfCode" : 450,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 135,
      "linesOfCodeInUnits" : 394
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/VarExprent.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 36,
      "unitsMcCabeIndexSum" : 86,
      "linesOfCodeInUnits" : 253
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/Statement.java",
      "extension" : "java",
      "linesOfCode" : 748,
      "unitsCount" : 66,
      "unitsMcCabeIndexSum" : 214,
      "linesOfCodeInUnits" : 661
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ConstExprent.java",
      "extension" : "java",
      "linesOfCode" : 576,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 202,
      "linesOfCodeInUnits" : 503
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/ClassWrapper.java",
      "extension" : "java",
      "linesOfCode" : 171,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 30,
      "linesOfCodeInUnits" : 139
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FunctionExprent.java",
      "extension" : "java",
      "linesOfCode" : 573,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 332
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FieldExprent.java",
      "extension" : "java",
      "linesOfCode" : 195,
      "unitsCount" : 17,
      "unitsMcCabeIndexSum" : 50,
      "linesOfCodeInUnits" : 144
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/generics/GenericMain.java",
      "extension" : "java",
      "linesOfCode" : 218,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 47,
      "linesOfCodeInUnits" : 195
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/decompiler/ConsoleDecompiler.java",
      "extension" : "java",
      "linesOfCode" : 252,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 50,
      "linesOfCodeInUnits" : 205
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/SwitchStatement.java",
      "extension" : "java",
      "linesOfCode" : 404,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 57,
      "linesOfCodeInUnits" : 235
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/StackVarsProcessor.java",
      "extension" : "java",
      "linesOfCode" : 551,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 66,
      "linesOfCodeInUnits" : 243
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
      "extension" : "java",
      "linesOfCode" : 733,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 193,
      "linesOfCodeInUnits" : 676
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/MethodProcessorRunnable.java",
      "extension" : "java",
      "linesOfCode" : 213,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 38,
      "linesOfCodeInUnits" : 176
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/Fernflower.java",
      "extension" : "java",
      "linesOfCode" : 139,
      "unitsCount" : 10,
      "unitsMcCabeIndexSum" : 27,
      "linesOfCodeInUnits" : 113
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/AssignmentExprent.java",
      "extension" : "java",
      "linesOfCode" : 159,
      "unitsCount" : 15,
      "unitsMcCabeIndexSum" : 35,
      "linesOfCodeInUnits" : 112
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/Exprent.java",
      "extension" : "java",
      "linesOfCode" : 301,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 88,
      "linesOfCodeInUnits" : 230
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/cfg/ControlFlowGraph.java",
      "extension" : "java",
      "linesOfCode" : 568,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 502
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassReference14Processor.java",
      "extension" : "java",
      "linesOfCode" : 196,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 63,
      "linesOfCodeInUnits" : 172
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructClass.java",
      "extension" : "java",
      "linesOfCode" : 301,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 56,
      "linesOfCodeInUnits" : 186
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SimplifyExprentsHelper.java",
      "extension" : "java",
      "linesOfCode" : 601,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 220,
      "linesOfCodeInUnits" : 554
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ExitExprent.java",
      "extension" : "java",
      "linesOfCode" : 136,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 35,
      "linesOfCodeInUnits" : 101
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/collectors/ImportCollector.java",
      "extension" : "java",
      "linesOfCode" : 148,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 43,
      "linesOfCodeInUnits" : 128
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/CatchStatement.java",
      "extension" : "java",
      "linesOfCode" : 204,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 46,
      "linesOfCodeInUnits" : 172
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/IfStatement.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 90,
      "linesOfCodeInUnits" : 299
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarProcessor.java",
      "extension" : "java",
      "linesOfCode" : 212,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 64,
      "linesOfCodeInUnits" : 174
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructMethod.java",
      "extension" : "java",
      "linesOfCode" : 317,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 67,
      "linesOfCodeInUnits" : 275
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
      "extension" : "java",
      "linesOfCode" : 578,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 136,
      "linesOfCodeInUnits" : 542
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarDefinitionHelper.java",
      "extension" : "java",
      "linesOfCode" : 883,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 273,
      "linesOfCodeInUnits" : 848
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/DomHelper.java",
      "extension" : "java",
      "linesOfCode" : 482,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 114,
      "linesOfCodeInUnits" : 389
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SwitchHelper.java",
      "extension" : "java",
      "linesOfCode" : 635,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 122,
      "linesOfCodeInUnits" : 347
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarTypeProcessor.java",
      "extension" : "java",
      "linesOfCode" : 211,
      "unitsCount" : 14,
      "unitsMcCabeIndexSum" : 60,
      "linesOfCodeInUnits" : 185
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAConstructorSparseEx.java",
      "extension" : "java",
      "linesOfCode" : 366,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 80,
      "linesOfCodeInUnits" : 331
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SecondaryFunctionsHelper.java",
      "extension" : "java",
      "linesOfCode" : 384,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 122,
      "linesOfCodeInUnits" : 348
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ArrayExprent.java",
      "extension" : "java",
      "linesOfCode" : 97,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 18,
      "linesOfCodeInUnits" : 62
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/SwitchExprent.java",
      "extension" : "java",
      "linesOfCode" : 123,
      "unitsCount" : 10,
      "unitsMcCabeIndexSum" : 30,
      "linesOfCodeInUnits" : 94
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/DoStatement.java",
      "extension" : "java",
      "linesOfCode" : 190,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 10,
      "linesOfCodeInUnits" : 35
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarVersionsProcessor.java",
      "extension" : "java",
      "linesOfCode" : 271,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 82,
      "linesOfCodeInUnits" : 248
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper.java",
      "extension" : "java",
      "linesOfCode" : 426,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 93,
      "linesOfCodeInUnits" : 356
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/IfExprent.java",
      "extension" : "java",
      "linesOfCode" : 112,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 17,
      "linesOfCodeInUnits" : 55
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/CatchAllStatement.java",
      "extension" : "java",
      "linesOfCode" : 155,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 42,
      "linesOfCodeInUnits" : 129
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedMemberAccess.java",
      "extension" : "java",
      "linesOfCode" : 359,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 129,
      "linesOfCodeInUnits" : 339
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/AnnotationExprent.java",
      "extension" : "java",
      "linesOfCode" : 89,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 22,
      "linesOfCodeInUnits" : 67
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ConcatenationHelper.java",
      "extension" : "java",
      "linesOfCode" : 246,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 83,
      "linesOfCodeInUnits" : 224
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IfHelper.java",
      "extension" : "java",
      "linesOfCode" : 535,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 134,
      "linesOfCodeInUnits" : 513
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/util/InterpreterUtil.java",
      "extension" : "java",
      "linesOfCode" : 70,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 11,
      "linesOfCodeInUnits" : 37
    } ],
    "filesWithMostContributors" : [ {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ExprProcessor.java",
      "extension" : "java",
      "linesOfCode" : 987,
      "unitsCount" : 35,
      "unitsMcCabeIndexSum" : 362,
      "linesOfCodeInUnits" : 891
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java",
      "extension" : "java",
      "linesOfCode" : 598,
      "unitsCount" : 40,
      "unitsMcCabeIndexSum" : 194,
      "linesOfCodeInUnits" : 511
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java",
      "extension" : "java",
      "linesOfCode" : 831,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 257,
      "linesOfCodeInUnits" : 761
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
      "extension" : "java",
      "linesOfCode" : 1248,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 353,
      "linesOfCodeInUnits" : 1150
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/NewExprent.java",
      "extension" : "java",
      "linesOfCode" : 450,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 135,
      "linesOfCodeInUnits" : 394
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/Statement.java",
      "extension" : "java",
      "linesOfCode" : 748,
      "unitsCount" : 66,
      "unitsMcCabeIndexSum" : 214,
      "linesOfCodeInUnits" : 661
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ConstExprent.java",
      "extension" : "java",
      "linesOfCode" : 576,
      "unitsCount" : 30,
      "unitsMcCabeIndexSum" : 202,
      "linesOfCodeInUnits" : 503
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassReference14Processor.java",
      "extension" : "java",
      "linesOfCode" : 196,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 63,
      "linesOfCodeInUnits" : 172
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FieldExprent.java",
      "extension" : "java",
      "linesOfCode" : 195,
      "unitsCount" : 17,
      "unitsMcCabeIndexSum" : 50,
      "linesOfCodeInUnits" : 144
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/decompiler/ConsoleDecompiler.java",
      "extension" : "java",
      "linesOfCode" : 252,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 50,
      "linesOfCodeInUnits" : 205
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/gen/generics/GenericMain.java",
      "extension" : "java",
      "linesOfCode" : 218,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 47,
      "linesOfCodeInUnits" : 195
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/StackVarsProcessor.java",
      "extension" : "java",
      "linesOfCode" : 551,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 66,
      "linesOfCodeInUnits" : 243
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/code/cfg/ControlFlowGraph.java",
      "extension" : "java",
      "linesOfCode" : 568,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 502
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
      "extension" : "java",
      "linesOfCode" : 733,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 193,
      "linesOfCodeInUnits" : 676
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SecondaryFunctionsHelper.java",
      "extension" : "java",
      "linesOfCode" : 384,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 122,
      "linesOfCodeInUnits" : 348
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ConcatenationHelper.java",
      "extension" : "java",
      "linesOfCode" : 246,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 83,
      "linesOfCodeInUnits" : 224
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/DirectGraph.java",
      "extension" : "java",
      "linesOfCode" : 93,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 17,
      "linesOfCodeInUnits" : 72
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassesProcessor.java",
      "extension" : "java",
      "linesOfCode" : 535,
      "unitsCount" : 22,
      "unitsMcCabeIndexSum" : 141,
      "linesOfCodeInUnits" : 458
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/VarExprent.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 36,
      "unitsMcCabeIndexSum" : 86,
      "linesOfCodeInUnits" : 253
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FunctionExprent.java",
      "extension" : "java",
      "linesOfCode" : 573,
      "unitsCount" : 23,
      "unitsMcCabeIndexSum" : 128,
      "linesOfCodeInUnits" : 332
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/MethodProcessorRunnable.java",
      "extension" : "java",
      "linesOfCode" : 213,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 38,
      "linesOfCodeInUnits" : 176
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/Fernflower.java",
      "extension" : "java",
      "linesOfCode" : 139,
      "unitsCount" : 10,
      "unitsMcCabeIndexSum" : 27,
      "linesOfCodeInUnits" : 113
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/AssignmentExprent.java",
      "extension" : "java",
      "linesOfCode" : 159,
      "unitsCount" : 15,
      "unitsMcCabeIndexSum" : 35,
      "linesOfCodeInUnits" : 112
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/CatchStatement.java",
      "extension" : "java",
      "linesOfCode" : 204,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 46,
      "linesOfCodeInUnits" : 172
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ArrayExprent.java",
      "extension" : "java",
      "linesOfCode" : 97,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 18,
      "linesOfCodeInUnits" : 62
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper.java",
      "extension" : "java",
      "linesOfCode" : 426,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 93,
      "linesOfCodeInUnits" : 356
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/AnnotationExprent.java",
      "extension" : "java",
      "linesOfCode" : 89,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 22,
      "linesOfCodeInUnits" : 67
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarVersionsGraph.java",
      "extension" : "java",
      "linesOfCode" : 105,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 21,
      "linesOfCodeInUnits" : 95
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SimplifyExprentsHelper.java",
      "extension" : "java",
      "linesOfCode" : 601,
      "unitsCount" : 19,
      "unitsMcCabeIndexSum" : 220,
      "linesOfCodeInUnits" : 554
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructClass.java",
      "extension" : "java",
      "linesOfCode" : 301,
      "unitsCount" : 33,
      "unitsMcCabeIndexSum" : 56,
      "linesOfCodeInUnits" : 186
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ExitExprent.java",
      "extension" : "java",
      "linesOfCode" : 136,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 35,
      "linesOfCodeInUnits" : 101
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/IfStatement.java",
      "extension" : "java",
      "linesOfCode" : 336,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 90,
      "linesOfCodeInUnits" : 299
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/SwitchExprent.java",
      "extension" : "java",
      "linesOfCode" : 123,
      "unitsCount" : 10,
      "unitsMcCabeIndexSum" : 30,
      "linesOfCodeInUnits" : 94
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/DoStatement.java",
      "extension" : "java",
      "linesOfCode" : 190,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 10,
      "linesOfCodeInUnits" : 35
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/CatchAllStatement.java",
      "extension" : "java",
      "linesOfCode" : 155,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 42,
      "linesOfCodeInUnits" : 129
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/ClassWrapper.java",
      "extension" : "java",
      "linesOfCode" : 171,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 30,
      "linesOfCodeInUnits" : 139
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/SwitchStatement.java",
      "extension" : "java",
      "linesOfCode" : 404,
      "unitsCount" : 18,
      "unitsMcCabeIndexSum" : 57,
      "linesOfCodeInUnits" : 235
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/collectors/ImportCollector.java",
      "extension" : "java",
      "linesOfCode" : 148,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 43,
      "linesOfCodeInUnits" : 128
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarDefinitionHelper.java",
      "extension" : "java",
      "linesOfCode" : 883,
      "unitsCount" : 28,
      "unitsMcCabeIndexSum" : 273,
      "linesOfCodeInUnits" : 848
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/DomHelper.java",
      "extension" : "java",
      "linesOfCode" : 482,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 114,
      "linesOfCodeInUnits" : 389
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarTypeProcessor.java",
      "extension" : "java",
      "linesOfCode" : 211,
      "unitsCount" : 14,
      "unitsMcCabeIndexSum" : 60,
      "linesOfCodeInUnits" : 185
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarVersionsProcessor.java",
      "extension" : "java",
      "linesOfCode" : 271,
      "unitsCount" : 13,
      "unitsMcCabeIndexSum" : 82,
      "linesOfCodeInUnits" : 248
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/IfExprent.java",
      "extension" : "java",
      "linesOfCode" : 112,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 17,
      "linesOfCodeInUnits" : 55
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IfHelper.java",
      "extension" : "java",
      "linesOfCode" : 535,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 134,
      "linesOfCodeInUnits" : 513
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/InitializerProcessor.java",
      "extension" : "java",
      "linesOfCode" : 258,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 98,
      "linesOfCodeInUnits" : 234
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/consts/ConstantPool.java",
      "extension" : "java",
      "linesOfCode" : 169,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 43,
      "linesOfCodeInUnits" : 127
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ExitHelper.java",
      "extension" : "java",
      "linesOfCode" : 187,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 60,
      "linesOfCodeInUnits" : 170
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/MonitorExprent.java",
      "extension" : "java",
      "linesOfCode" : 62,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 14,
      "linesOfCodeInUnits" : 43
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/stats/GeneralStatement.java",
      "extension" : "java",
      "linesOfCode" : 35,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 6,
      "linesOfCodeInUnits" : 26
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/Exprent.java",
      "extension" : "java",
      "linesOfCode" : 301,
      "unitsCount" : 25,
      "unitsMcCabeIndexSum" : 88,
      "linesOfCodeInUnits" : 230
    } ],
    "filesWithLeastContributors" : [ {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/typeann/TargetInfo.java",
      "extension" : "java",
      "linesOfCode" : 181,
      "unitsCount" : 32,
      "unitsMcCabeIndexSum" : 39,
      "linesOfCodeInUnits" : 136
    }, {
      "relativePath" : "testData/classes/pkg/PrivateClasses.java",
      "extension" : "java",
      "linesOfCode" : 162,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 4,
      "linesOfCodeInUnits" : 150
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchNestedDeconstructionsJavac.java",
      "extension" : "java",
      "linesOfCode" : 155,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 58,
      "linesOfCodeInUnits" : 152
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchSimpleReferencesJavac.java",
      "extension" : "java",
      "linesOfCode" : 149,
      "unitsCount" : 12,
      "unitsMcCabeIndexSum" : 48,
      "linesOfCodeInUnits" : 143
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchOnStringsJavac.java",
      "extension" : "java",
      "linesOfCode" : 140,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 36,
      "linesOfCodeInUnits" : 135
    }, {
      "relativePath" : "testData/src/patterns/TestSwitchPatternWithExpression.java",
      "extension" : "java",
      "linesOfCode" : 119,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 40,
      "linesOfCodeInUnits" : 114
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchGuarded2Javac.java",
      "extension" : "java",
      "linesOfCode" : 111,
      "unitsCount" : 5,
      "unitsMcCabeIndexSum" : 32,
      "linesOfCodeInUnits" : 108
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/typeann/TypeAnnotation.java",
      "extension" : "java",
      "linesOfCode" : 102,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 14,
      "linesOfCodeInUnits" : 51
    }, {
      "relativePath" : "testData/src/pkg/TestSimpleInstanceOfRecordPatternJavac.java",
      "extension" : "java",
      "linesOfCode" : 99,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 31,
      "linesOfCodeInUnits" : 96
    }, {
      "relativePath" : "testData/src/pkg/TestConstType.java",
      "extension" : "java",
      "linesOfCode" : 97,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 24,
      "linesOfCodeInUnits" : 92
    }, {
      "relativePath" : "testData/src/pkg/TestAnonymousClass.java",
      "extension" : "java",
      "linesOfCode" : 95,
      "unitsCount" : 11,
      "unitsMcCabeIndexSum" : 12,
      "linesOfCodeInUnits" : 53
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchOnStringsEcj.java",
      "extension" : "java",
      "linesOfCode" : 93,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 20,
      "linesOfCodeInUnits" : 88
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/renamer/MemberConverterHelper.java",
      "extension" : "java",
      "linesOfCode" : 88,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 27,
      "linesOfCodeInUnits" : 62
    }, {
      "relativePath" : "testData/src/pkg/TestAnonymousClassConstructor.java",
      "extension" : "java",
      "linesOfCode" : 82,
      "unitsCount" : 21,
      "unitsMcCabeIndexSum" : 21,
      "linesOfCodeInUnits" : 63
    }, {
      "relativePath" : "testData/src/pkg/MoreAnnotations.java",
      "extension" : "java",
      "linesOfCode" : 79,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "testData/src/patterns/TestInstanceofWithPattern.java",
      "extension" : "java",
      "linesOfCode" : 71,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 27,
      "linesOfCodeInUnits" : 66
    }, {
      "relativePath" : "testData/src/pkg/TestCompoundAssignment.java",
      "extension" : "java",
      "linesOfCode" : 68,
      "unitsCount" : 5,
      "unitsMcCabeIndexSum" : 15,
      "linesOfCodeInUnits" : 65
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchWithDeconstructionsWithoutNestedJavac.java",
      "extension" : "java",
      "linesOfCode" : 64,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 17,
      "linesOfCodeInUnits" : 61
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/decompose/SupportComponent.java",
      "extension" : "java",
      "linesOfCode" : 63,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 16,
      "linesOfCodeInUnits" : 52
    }, {
      "relativePath" : "testData/src/pkg/TestPPMM.java",
      "extension" : "java",
      "linesOfCode" : 61,
      "unitsCount" : 9,
      "unitsMcCabeIndexSum" : 9,
      "linesOfCodeInUnits" : 58
    }, {
      "relativePath" : "testData/src/pkg/TestLVTComplex.java",
      "extension" : "java",
      "linesOfCode" : 60,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 17,
      "linesOfCodeInUnits" : 53
    }, {
      "relativePath" : "testData/src/pkg/TestClashName.java",
      "extension" : "java",
      "linesOfCode" : 55,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 4,
      "linesOfCodeInUnits" : 15
    }, {
      "relativePath" : "testData/src/pkg/TestInvertedFloatComparison.java",
      "extension" : "java",
      "linesOfCode" : 51,
      "unitsCount" : 16,
      "unitsMcCabeIndexSum" : 16,
      "linesOfCodeInUnits" : 48
    }, {
      "relativePath" : "testData/src/pkg/TestTryCatchFinallyMismatched.java",
      "extension" : "java",
      "linesOfCode" : 50,
      "unitsCount" : 5,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 47
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/CancellationManager.java",
      "extension" : "java",
      "linesOfCode" : 49,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 10,
      "linesOfCodeInUnits" : 27
    }, {
      "relativePath" : "testData/src/pkg/TestComplexInstanceOfRecordPatternJavac.java",
      "extension" : "java",
      "linesOfCode" : 48,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 14,
      "linesOfCodeInUnits" : 45
    }, {
      "relativePath" : "testData/src/pkg/TestGenerics.java",
      "extension" : "java",
      "linesOfCode" : 46,
      "unitsCount" : 8,
      "unitsMcCabeIndexSum" : 11,
      "linesOfCodeInUnits" : 33
    }, {
      "relativePath" : "testData/src/pkg/TestLoopMerging.java",
      "extension" : "java",
      "linesOfCode" : 45,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 18,
      "linesOfCodeInUnits" : 40
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchClassReferencesFastExitEcj.java",
      "extension" : "java",
      "linesOfCode" : 44,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 12,
      "linesOfCodeInUnits" : 41
    }, {
      "relativePath" : "testData/src/pkg/SwitchOnStatic.java",
      "extension" : "java",
      "linesOfCode" : 44,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 12,
      "linesOfCodeInUnits" : 42
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchClassReferencesFastExitJavac.java",
      "extension" : "java",
      "linesOfCode" : 44,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 12,
      "linesOfCodeInUnits" : 41
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchGuardedJavac.java",
      "extension" : "java",
      "linesOfCode" : 43,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 20,
      "linesOfCodeInUnits" : 40
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchGuardedEcj.java",
      "extension" : "java",
      "linesOfCode" : 43,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 20,
      "linesOfCodeInUnits" : 40
    }, {
      "relativePath" : "testData/obfuscated/ae.java",
      "extension" : "java",
      "linesOfCode" : 41,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 23
    }, {
      "relativePath" : "testData/src/pkg/TestClassTypes.java",
      "extension" : "java",
      "linesOfCode" : 41,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 12,
      "linesOfCodeInUnits" : 36
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarVersion.java",
      "extension" : "java",
      "linesOfCode" : 41,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 12,
      "linesOfCodeInUnits" : 29
    }, {
      "relativePath" : "testData/src/pkg/TestIffSimplification.java",
      "extension" : "java",
      "linesOfCode" : 40,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 15,
      "linesOfCodeInUnits" : 36
    }, {
      "relativePath" : "testData/src/pkg/TestConstantsAsIs.java",
      "extension" : "java",
      "linesOfCode" : 39,
      "unitsCount" : 0,
      "unitsMcCabeIndexSum" : 0,
      "linesOfCodeInUnits" : 0
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/typeann/TypeAnnotationWriteHelper.java",
      "extension" : "java",
      "linesOfCode" : 39,
      "unitsCount" : 6,
      "unitsMcCabeIndexSum" : 6,
      "linesOfCodeInUnits" : 21
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/struct/attr/StructMethodParametersAttribute.java",
      "extension" : "java",
      "linesOfCode" : 39,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 6,
      "linesOfCodeInUnits" : 24
    }, {
      "relativePath" : "testData/obfuscated/as.java",
      "extension" : "java",
      "linesOfCode" : 38,
      "unitsCount" : 7,
      "unitsMcCabeIndexSum" : 9,
      "linesOfCodeInUnits" : 29
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchRules.java",
      "extension" : "java",
      "linesOfCode" : 38,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 10,
      "linesOfCodeInUnits" : 35
    }, {
      "relativePath" : "testData/src/pkg/TestTryCatchFinallyJsrRet.java",
      "extension" : "java",
      "linesOfCode" : 37,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 32
    }, {
      "relativePath" : "testData/src/pkg/TestTryCatchFinally.java",
      "extension" : "java",
      "linesOfCode" : 37,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 32
    }, {
      "relativePath" : "src/org/jetbrains/java/decompiler/main/collectors/LimitContainer.java",
      "extension" : "java",
      "linesOfCode" : 37,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 21
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchOnEnumEclipse.java",
      "extension" : "java",
      "linesOfCode" : 36,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 27
    }, {
      "relativePath" : "testData/obfuscated/ab.java",
      "extension" : "java",
      "linesOfCode" : 33,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 7,
      "linesOfCodeInUnits" : 27
    }, {
      "relativePath" : "testData/src/pkg/TestTryWithResources.java",
      "extension" : "java",
      "linesOfCode" : 33,
      "unitsCount" : 3,
      "unitsMcCabeIndexSum" : 8,
      "linesOfCodeInUnits" : 23
    }, {
      "relativePath" : "testData/src/pkg/TestSwitchClassReferencesEcj.java",
      "extension" : "java",
      "linesOfCode" : 33,
      "unitsCount" : 4,
      "unitsMcCabeIndexSum" : 16,
      "linesOfCodeInUnits" : 30
    }, {
      "relativePath" : "testData/src/pkg/TestLVT.java",
      "extension" : "java",
      "linesOfCode" : 33,
      "unitsCount" : 2,
      "unitsMcCabeIndexSum" : 4,
      "linesOfCodeInUnits" : 26
    } ],
    "firstDate" : "2014-03-04",
    "latestDate" : "2025-12-22",
    "daysBetweenFirstAndLastDate" : 4312,
    "weeks" : 616,
    "estimatedWorkindDays" : 3080,
    "activeDays" : 421,
    "ageInDays" : 4339,
    "historyPerExtensionPerYear" : [ {
      "extension" : "",
      "year" : "2025",
      "commitsCount" : 1,
      "contributors" : [ "bartek.pacia@jetbrains.com" ]
    }, {
      "extension" : "groovy",
      "year" : "2017",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2022",
      "commitsCount" : 14,
      "contributors" : [ "bart.vanhelvert@jetbrains.com", "coehlrich@users.noreply.github.com", "ilyas.selimov@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2023",
      "commitsCount" : 7,
      "contributors" : [ "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2024",
      "commitsCount" : 49,
      "contributors" : [ "jrd2558@gmail.com", "bartek.pacia@jetbrains.com", "lexmanos@gmail.com", "25208576+supercoder7979@users.noreply.github.com", "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2025",
      "commitsCount" : 4,
      "contributors" : [ "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "mf",
      "year" : "2015",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "mf",
      "year" : "2014",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "java",
      "year" : "2021",
      "commitsCount" : 56,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "xenoamess@gmail.com", "bart.vanhelvert@jetbrains.com", "leonrdsnt@gmail.com", "vladimir.krivosheev@jetbrains.com", "mdegtyarev@gmail.com", "anna.kozlova@jetbrains.com", "tagir.valeev@jetbrains.com", "nikolay.chashnikov@jetbrains.com", "andrey.cherkasov@jetbrains.com", "coehlrich@users.noreply.github.com", "ilyas.selimov@jetbrains.com" ]
    }, {
      "extension" : "java",
      "year" : "2020",
      "commitsCount" : 16,
      "contributors" : [ "vladimir.krivosheev@jetbrains.com", "vladimir.ilmov@gmail.com", "mdegtyarev@gmail.com", "anna.kozlova@jetbrains.com", "tagir.valeev@jetbrains.com", "malte0811@web.de", "cdr@intellij.com", "simonbarnes1@googlemail.com" ]
    }, {
      "extension" : "editorconfig",
      "year" : "2017",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "iml",
      "year" : "2021",
      "commitsCount" : 1,
      "contributors" : [ "ilyas.selimov@jetbrains.com" ]
    }, {
      "extension" : "iml",
      "year" : "2022",
      "commitsCount" : 1,
      "contributors" : [ "tagir.valeev@jetbrains.com" ]
    }, {
      "extension" : "gitignore",
      "year" : "2014",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "java",
      "year" : "2019",
      "commitsCount" : 20,
      "contributors" : [ "sergey.ignatov@jetbrains.com", "alexandr.suhinin@jetbrains.com", "anna.kozlova@jetbrains.com", "aleksey.rostovskiy@jetbrains.com", "egor.ushakov@jetbrains.com", "themrmilchmann@gmail.com", "roman.shevchenko@jetbrains.com", "gregory.shrago@jetbrains.com", "artemiy.sartakov@jetbrains.com", "rustam.vishnyakov@jetbrains.com", "anton.makeev@jetbrains.com", "tagir.valeev@jetbrains.com", "git@md-5.net", "egor.zhdan@jetbrains.com", "cdr@intellij.com" ]
    }, {
      "extension" : "java",
      "year" : "2018",
      "commitsCount" : 65,
      "contributors" : [ "stsypanov@luxoft.com", "upnotes@example.com", "vladimir.krivosheev@jetbrains.com", "jrd2558@gmail.com", "anna.kozlova@jetbrains.com", "roman.ivanov@jetbrains.com", "34900092+temp1011@users.noreply.github.com", "egor.ushakov@jetbrains.com", "roman.shevchenko@jetbrains.com", "mdegtyarev@gmail.com", "tagir.valeev@jetbrains.com", "git@md-5.net", "nikolay.chashnikov@jetbrains.com", "cdr@intellij.com" ]
    }, {
      "extension" : "java",
      "year" : "2017",
      "commitsCount" : 87,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "contact@apixandru.com", "helg.git@helg.com", "mdegtyarev@gmail.com", "tagir.valeev@jetbrains.com", "d.cherniachenko@gmail.com", "n.sherlock@gmail.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "java",
      "year" : "2016",
      "commitsCount" : 58,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "contact@apixandru.com", "dw@ge40", "vladimir.krivosheev@jetbrains.com", "anna.kozlova@jetbrains.com", "intermediatelanguage@gmail.com", "tagir.valeev@jetbrains.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "java",
      "year" : "2015",
      "commitsCount" : 50,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "sebastian.zarnekow@itemis.de", "cdr@intellij.com", "admin@notbed.com", "stiver.mail@gmail.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "kt",
      "year" : "2024",
      "commitsCount" : 2,
      "contributors" : [ "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "java",
      "year" : "2014",
      "commitsCount" : 153,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "stiver.mail@gmail.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "iml",
      "year" : "2025",
      "commitsCount" : 1,
      "contributors" : [ "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "gitignore",
      "year" : "2017",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "bat",
      "year" : "2017",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2020",
      "commitsCount" : 3,
      "contributors" : [ "tagir.valeev@jetbrains.com", "malte0811@web.de" ]
    }, {
      "extension" : "dec",
      "year" : "2021",
      "commitsCount" : 25,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "bart.vanhelvert@jetbrains.com", "leonrdsnt@gmail.com", "mdegtyarev@gmail.com", "coehlrich@users.noreply.github.com", "ilyas.selimov@jetbrains.com" ]
    }, {
      "extension" : "",
      "year" : "2017",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "jar",
      "year" : "2020",
      "commitsCount" : 1,
      "contributors" : [ "vladimir.ilmov@gmail.com" ]
    }, {
      "extension" : "jar",
      "year" : "2021",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "bart.vanhelvert@jetbrains.com" ]
    }, {
      "extension" : "jar",
      "year" : "2022",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "md",
      "year" : "2017",
      "commitsCount" : 5,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "bmintz@protonmail.com", "dylanperks23@gmail.com" ]
    }, {
      "extension" : "jar",
      "year" : "2023",
      "commitsCount" : 1,
      "contributors" : [ "ben@bencreasy.com" ]
    }, {
      "extension" : "jar",
      "year" : "2025",
      "commitsCount" : 2,
      "contributors" : [ "bartek.pacia@jetbrains.com", "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "gitattributes",
      "year" : "2014",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "md",
      "year" : "2018",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2019",
      "commitsCount" : 1,
      "contributors" : [ "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "gitignore",
      "year" : "2021",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2015",
      "commitsCount" : 17,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "sebastian.zarnekow@itemis.de", "admin@notbed.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2016",
      "commitsCount" : 20,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "contact@apixandru.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2017",
      "commitsCount" : 44,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "contact@apixandru.com", "helg.git@helg.com", "mdegtyarev@gmail.com", "d.cherniachenko@gmail.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2018",
      "commitsCount" : 21,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "upnotes@example.com", "mdegtyarev@gmail.com", "jrd2558@gmail.com", "git@md-5.net", "34900092+temp1011@users.noreply.github.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "java",
      "year" : "2025",
      "commitsCount" : 11,
      "contributors" : [ "tagir.valeev@jetbrains.com", "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "",
      "year" : "2021",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "bart.vanhelvert@jetbrains.com" ]
    }, {
      "extension" : "kt",
      "year" : "2018",
      "commitsCount" : 6,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "upnotes@example.com" ]
    }, {
      "extension" : "java",
      "year" : "2024",
      "commitsCount" : 111,
      "contributors" : [ "vladimir.krivosheev@jetbrains.com", "jrd2558@gmail.com", "bartek.pacia@jetbrains.com", "coehlrich@users.noreply.github.com", "mikhail.pyltsin@jetbrains.com", "roman.shevchenko@jetbrains.com", "pokechu022@gmail.com", "h4ckm310n@outlook.com", "tagir.valeev@jetbrains.com", "zml@stellardrift.ca", "basleijdekkers@gmail.com", "lexmanos@gmail.com", "25208576+supercoder7979@users.noreply.github.com" ]
    }, {
      "extension" : "java",
      "year" : "2023",
      "commitsCount" : 42,
      "contributors" : [ "bart.vanhelvert@jetbrains.com", "tagir.valeev@jetbrains.com", "basleijdekkers@gmail.com", "nikolay.chashnikov@jetbrains.com", "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "",
      "year" : "2023",
      "commitsCount" : 1,
      "contributors" : [ "ben@bencreasy.com" ]
    }, {
      "extension" : "kt",
      "year" : "2016",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "java",
      "year" : "2022",
      "commitsCount" : 71,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "bart.vanhelvert@jetbrains.com", "vladimir.krivosheev@jetbrains.com", "tagir.valeev@jetbrains.com", "nico.mexis@kabelmail.de", "44521157+asmjmp0@users.noreply.github.com", "coehlrich@users.noreply.github.com", "ilyas.selimov@jetbrains.com" ]
    }, {
      "extension" : "dec",
      "year" : "2014",
      "commitsCount" : 32,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "stiver.mail@gmail.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "classpath",
      "year" : "2014",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2020",
      "commitsCount" : 3,
      "contributors" : [ "tagir.valeev@jetbrains.com", "malte0811@web.de" ]
    }, {
      "extension" : "md",
      "year" : "2021",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2021",
      "commitsCount" : 19,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "bart.vanhelvert@jetbrains.com", "leonrdsnt@gmail.com", "mdegtyarev@gmail.com", "coehlrich@users.noreply.github.com", "ilyas.selimov@jetbrains.com" ]
    }, {
      "extension" : "md",
      "year" : "2024",
      "commitsCount" : 2,
      "contributors" : [ "bartek.pacia@jetbrains.com", "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2022",
      "commitsCount" : 14,
      "contributors" : [ "bart.vanhelvert@jetbrains.com", "coehlrich@users.noreply.github.com", "ilyas.selimov@jetbrains.com" ]
    }, {
      "extension" : "md",
      "year" : "2023",
      "commitsCount" : 1,
      "contributors" : [ "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2023",
      "commitsCount" : 5,
      "contributors" : [ "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2024",
      "commitsCount" : 32,
      "contributors" : [ "jrd2558@gmail.com", "bartek.pacia@jetbrains.com", "25208576+supercoder7979@users.noreply.github.com", "lexmanos@gmail.com", "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "jasm",
      "year" : "2022",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "md",
      "year" : "2025",
      "commitsCount" : 4,
      "contributors" : [ "bart.vanhelvert@jetbrains.com", "bartek.pacia@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2025",
      "commitsCount" : 4,
      "contributors" : [ "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "jasm",
      "year" : "2021",
      "commitsCount" : 1,
      "contributors" : [ "mdegtyarev@gmail.com" ]
    }, {
      "extension" : "bat",
      "year" : "2021",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "jar",
      "year" : "2014",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "bat",
      "year" : "2023",
      "commitsCount" : 1,
      "contributors" : [ "ben@bencreasy.com" ]
    }, {
      "extension" : "jar",
      "year" : "2017",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "bat",
      "year" : "2025",
      "commitsCount" : 1,
      "contributors" : [ "bartek.pacia@jetbrains.com" ]
    }, {
      "extension" : "txt",
      "year" : "2025",
      "commitsCount" : 1,
      "contributors" : [ "bart.vanhelvert@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2014",
      "commitsCount" : 21,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "stiver.mail@gmail.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2015",
      "commitsCount" : 10,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "sebastian.zarnekow@itemis.de", "admin@notbed.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2016",
      "commitsCount" : 20,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "contact@apixandru.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2017",
      "commitsCount" : 38,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "contact@apixandru.com", "helg.git@helg.com", "mdegtyarev@gmail.com", "d.cherniachenko@gmail.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "xml",
      "year" : "2016",
      "commitsCount" : 4,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "vladimir.krivosheev@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2018",
      "commitsCount" : 18,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "upnotes@example.com", "jrd2558@gmail.com", "mdegtyarev@gmail.com", "34900092+temp1011@users.noreply.github.com", "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "class",
      "year" : "2019",
      "commitsCount" : 1,
      "contributors" : [ "egor.ushakov@jetbrains.com" ]
    }, {
      "extension" : "xml",
      "year" : "2014",
      "commitsCount" : 10,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "xml",
      "year" : "2015",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "anna.kozlova@jetbrains.com" ]
    }, {
      "extension" : "gradle",
      "year" : "2024",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "gradle",
      "year" : "2021",
      "commitsCount" : 4,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "ilyas.selimov@jetbrains.com" ]
    }, {
      "extension" : "gradle",
      "year" : "2022",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "tagir.valeev@jetbrains.com" ]
    }, {
      "extension" : "txt",
      "year" : "2014",
      "commitsCount" : 9,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "stiver.mail@gmail.com" ]
    }, {
      "extension" : "txt",
      "year" : "2015",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "iml",
      "year" : "2018",
      "commitsCount" : 1,
      "contributors" : [ "nikolay.chashnikov@jetbrains.com" ]
    }, {
      "extension" : "kts",
      "year" : "2025",
      "commitsCount" : 3,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "alexandr.evstigneev@jetbrains.com", "bartek.pacia@jetbrains.com" ]
    }, {
      "extension" : "kts",
      "year" : "2024",
      "commitsCount" : 1,
      "contributors" : [ "bartek.pacia@jetbrains.com" ]
    }, {
      "extension" : "iml",
      "year" : "2014",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "iml",
      "year" : "2015",
      "commitsCount" : 1,
      "contributors" : [ "vladimir.krivosheev@jetbrains.com" ]
    }, {
      "extension" : "iml",
      "year" : "2016",
      "commitsCount" : 5,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "vladimir.krivosheev@jetbrains.com", "nikolay.chashnikov@jetbrains.com" ]
    }, {
      "extension" : "jcoder",
      "year" : "2022",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "mf",
      "year" : "2020",
      "commitsCount" : 1,
      "contributors" : [ "vladimir.ilmov@gmail.com" ]
    }, {
      "extension" : "jcoder",
      "year" : "2021",
      "commitsCount" : 1,
      "contributors" : [ "mdegtyarev@gmail.com" ]
    }, {
      "extension" : "mf",
      "year" : "2022",
      "commitsCount" : 1,
      "contributors" : [ "tagir.valeev@jetbrains.com" ]
    }, {
      "extension" : "properties",
      "year" : "2017",
      "commitsCount" : 2,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "gradle",
      "year" : "2019",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "gradle",
      "year" : "2017",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "jasm",
      "year" : "2018",
      "commitsCount" : 3,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "upnotes@example.com", "mdegtyarev@gmail.com" ]
    }, {
      "extension" : "jasm",
      "year" : "2017",
      "commitsCount" : 1,
      "contributors" : [ "mdegtyarev@gmail.com" ]
    }, {
      "extension" : "bazel",
      "year" : "2024",
      "commitsCount" : 2,
      "contributors" : [ "vladimir.krivosheev@jetbrains.com" ]
    }, {
      "extension" : "bazel",
      "year" : "2025",
      "commitsCount" : 7,
      "contributors" : [ "leonid.shalupov@jetbrains.com", "vladimir.krivosheev@jetbrains.com", "evgenii.ilichev@jetbrains.com", "ilia.kirianovskii@jetbrains.com", "mikhail.pyltsin@jetbrains.com" ]
    }, {
      "extension" : "prefs",
      "year" : "2014",
      "commitsCount" : 1,
      "contributors" : [ "roman.shevchenko@jetbrains.com" ]
    }, {
      "extension" : "properties",
      "year" : "2025",
      "commitsCount" : 2,
      "contributors" : [ "bartek.pacia@jetbrains.com" ]
    }, {
      "extension" : "properties",
      "year" : "2024",
      "commitsCount" : 1,
      "contributors" : [ "bartek.pacia@jetbrains.com" ]
    }, {
      "extension" : "properties",
      "year" : "2023",
      "commitsCount" : 1,
      "contributors" : [ "ben@bencreasy.com" ]
    }, {
      "extension" : "properties",
      "year" : "2022",
      "commitsCount" : 1,
      "contributors" : [ "tagir.valeev@jetbrains.com" ]
    }, {
      "extension" : "properties",
      "year" : "2021",
      "commitsCount" : 3,
      "contributors" : [ "roman.shevchenko@jetbrains.com", "bart.vanhelvert@jetbrains.com" ]
    } ]
  },
  "unitsAnalysisResults" : {
    "totalNumberOfUnits" : 2714,
    "linesOfCodeInUnits" : 42463,
    "unitSizeRiskDistribution" : {
      "key" : "",
      "lowRiskThreshold" : 10,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 7801,
      "lowRiskValue" : 6078,
      "mediumRiskValue" : 9785,
      "highRiskValue" : 6740,
      "veryHighRiskValue" : 12059,
      "lowRiskCount" : 420,
      "negligibleRiskCount" : 1835,
      "mediumRiskCount" : 321,
      "highRiskCount" : 97,
      "veryHighRiskCount" : 41,
      "negligibleRiskLabel" : "1-10",
      "lowRiskLabel" : "11-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 18.371287944799,
      "veryHighRiskPercentage" : 28.398841344229094,
      "highRiskPercentage" : 15.872642064856464,
      "mediumRiskPercentage" : 23.04359089089325,
      "lowRiskPercentage" : 14.313637755222194,
      "totalValue" : 42463,
      "totalCount" : 2714
    },
    "conditionalComplexityRiskDistribution" : {
      "key" : "",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 10,
      "highRiskThreshold" : 25,
      "veryHighRiskThreshold" : 50,
      "negligibleRiskValue" : 13764,
      "lowRiskValue" : 6159,
      "mediumRiskValue" : 9776,
      "highRiskValue" : 3376,
      "veryHighRiskValue" : 9388,
      "lowRiskCount" : 269,
      "negligibleRiskCount" : 2198,
      "mediumRiskCount" : 193,
      "highRiskCount" : 34,
      "veryHighRiskCount" : 20,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-10",
      "mediumRiskLabel" : "11-25",
      "highRiskLabel" : "26-50",
      "veryHighRiskLabel" : "51+",
      "negligibleRiskPercentage" : 32.41410168852884,
      "veryHighRiskPercentage" : 22.108659303393544,
      "highRiskPercentage" : 7.95045098085392,
      "mediumRiskPercentage" : 23.022395968254717,
      "lowRiskPercentage" : 14.504392058968985,
      "totalValue" : 42463,
      "totalCount" : 2714
    },
    "unitSizeRiskDistributionPerExtension" : [ {
      "key" : "java",
      "lowRiskThreshold" : 10,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 7790,
      "lowRiskValue" : 6067,
      "mediumRiskValue" : 9785,
      "highRiskValue" : 6740,
      "veryHighRiskValue" : 12059,
      "lowRiskCount" : 419,
      "negligibleRiskCount" : 1832,
      "mediumRiskCount" : 321,
      "highRiskCount" : 97,
      "veryHighRiskCount" : 41,
      "negligibleRiskLabel" : "1-10",
      "lowRiskLabel" : "11-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 18.354892674536416,
      "veryHighRiskPercentage" : 28.41356235715464,
      "highRiskPercentage" : 15.880869913527015,
      "mediumRiskPercentage" : 23.05553592045428,
      "lowRiskPercentage" : 14.295139134327655,
      "totalValue" : 42441,
      "totalCount" : 2710
    }, {
      "key" : "groovy",
      "lowRiskThreshold" : 10,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 3,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 1,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-10",
      "lowRiskLabel" : "11-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 100.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 3,
      "totalCount" : 1
    }, {
      "key" : "kt",
      "lowRiskThreshold" : 10,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 8,
      "lowRiskValue" : 11,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 1,
      "negligibleRiskCount" : 2,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-10",
      "lowRiskLabel" : "11-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 42.10526315789474,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 57.89473684210526,
      "totalValue" : 19,
      "totalCount" : 3
    } ],
    "unitSizeRiskDistributionPerComponent" : [ [ {
      "key" : "testData",
      "lowRiskThreshold" : 10,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 2384,
      "lowRiskValue" : 1594,
      "mediumRiskValue" : 1244,
      "highRiskValue" : 646,
      "veryHighRiskValue" : 8356,
      "lowRiskCount" : 117,
      "negligibleRiskCount" : 618,
      "mediumRiskCount" : 42,
      "highRiskCount" : 10,
      "veryHighRiskCount" : 18,
      "negligibleRiskLabel" : "1-10",
      "lowRiskLabel" : "11-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 16.76040494938133,
      "veryHighRiskPercentage" : 58.74578177727784,
      "highRiskPercentage" : 4.54161979752531,
      "mediumRiskPercentage" : 8.74578177727784,
      "lowRiskPercentage" : 11.206411698537682,
      "totalValue" : 14224,
      "totalCount" : 805
    }, {
      "key" : "src",
      "lowRiskThreshold" : 10,
      "mediumRiskThreshold" : 20,
      "highRiskThreshold" : 50,
      "veryHighRiskThreshold" : 100,
      "negligibleRiskValue" : 5417,
      "lowRiskValue" : 4484,
      "mediumRiskValue" : 8541,
      "highRiskValue" : 6094,
      "veryHighRiskValue" : 3703,
      "lowRiskCount" : 303,
      "negligibleRiskCount" : 1217,
      "mediumRiskCount" : 279,
      "highRiskCount" : 87,
      "veryHighRiskCount" : 23,
      "negligibleRiskLabel" : "1-10",
      "lowRiskLabel" : "11-20",
      "mediumRiskLabel" : "21-50",
      "highRiskLabel" : "51-100",
      "veryHighRiskLabel" : "101+",
      "negligibleRiskPercentage" : 19.182690605191404,
      "veryHighRiskPercentage" : 13.113070576153547,
      "highRiskPercentage" : 21.580084280604837,
      "mediumRiskPercentage" : 30.245405290555613,
      "lowRiskPercentage" : 15.8787492474946,
      "totalValue" : 28239,
      "totalCount" : 1909
    } ] ],
    "longestUnits" : [ {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/a3.java",
        "extension" : "java",
        "linesOfCode" : 1947,
        "unitsCount" : 4,
        "unitsMcCabeIndexSum" : 359,
        "linesOfCodeInUnits" : 1942
      },
      "startLine" : 40,
      "endLine" : 2081,
      "linesOfCode" : 1914,
      "mcCabeIndex" : 355,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/an.java",
        "extension" : "java",
        "linesOfCode" : 979,
        "unitsCount" : 10,
        "unitsMcCabeIndexSum" : 179,
        "linesOfCodeInUnits" : 951
      },
      "startLine" : 111,
      "endLine" : 1056,
      "linesOfCode" : 886,
      "mcCabeIndex" : 163,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/a5.java",
        "extension" : "java",
        "linesOfCode" : 862,
        "unitsCount" : 3,
        "unitsMcCabeIndexSum" : 159,
        "linesOfCodeInUnits" : 856
      },
      "startLine" : 31,
      "endLine" : 923,
      "linesOfCode" : 838,
      "mcCabeIndex" : 154,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/bb.java",
        "extension" : "java",
        "linesOfCode" : 848,
        "unitsCount" : 4,
        "unitsMcCabeIndexSum" : 157,
        "linesOfCodeInUnits" : 837
      },
      "startLine" : 25,
      "endLine" : 909,
      "linesOfCode" : 830,
      "mcCabeIndex" : 154,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/s.java",
        "extension" : "java",
        "linesOfCode" : 876,
        "unitsCount" : 7,
        "unitsMcCabeIndexSum" : 165,
        "linesOfCodeInUnits" : 867
      },
      "startLine" : 57,
      "endLine" : 941,
      "linesOfCode" : 830,
      "mcCabeIndex" : 154,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/p.java",
        "extension" : "java",
        "linesOfCode" : 972,
        "unitsCount" : 9,
        "unitsMcCabeIndexSum" : 178,
        "linesOfCodeInUnits" : 958
      },
      "startLine" : 168,
      "endLine" : 1052,
      "linesOfCode" : 830,
      "mcCabeIndex" : 154,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/a8.java",
        "extension" : "java",
        "linesOfCode" : 377,
        "unitsCount" : 2,
        "unitsMcCabeIndexSum" : 68,
        "linesOfCodeInUnits" : 374
      },
      "startLine" : 8,
      "endLine" : 405,
      "linesOfCode" : 372,
      "mcCabeIndex" : 67,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public void processBlock()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ExprProcessor.java",
        "extension" : "java",
        "linesOfCode" : 987,
        "unitsCount" : 35,
        "unitsMcCabeIndexSum" : 362,
        "linesOfCodeInUnits" : 891
      },
      "startLine" : 265,
      "endLine" : 612,
      "linesOfCode" : 340,
      "mcCabeIndex" : 179,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/aw.java",
        "extension" : "java",
        "linesOfCode" : 334,
        "unitsCount" : 5,
        "unitsMcCabeIndexSum" : 62,
        "linesOfCodeInUnits" : 328
      },
      "startLine" : 26,
      "endLine" : 362,
      "linesOfCode" : 316,
      "mcCabeIndex" : 58,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/al.java",
        "extension" : "java",
        "linesOfCode" : 413,
        "unitsCount" : 13,
        "unitsMcCabeIndexSum" : 80,
        "linesOfCodeInUnits" : 393
      },
      "startLine" : 124,
      "endLine" : 460,
      "linesOfCode" : 316,
      "mcCabeIndex" : 58,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/v.java",
        "extension" : "java",
        "linesOfCode" : 388,
        "unitsCount" : 6,
        "unitsMcCabeIndexSum" : 74,
        "linesOfCodeInUnits" : 382
      },
      "startLine" : 87,
      "endLine" : 423,
      "linesOfCode" : 316,
      "mcCabeIndex" : 58,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void flattenStatement()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper.java",
        "extension" : "java",
        "linesOfCode" : 426,
        "unitsCount" : 9,
        "unitsMcCabeIndexSum" : 93,
        "linesOfCodeInUnits" : 356
      },
      "startLine" : 60,
      "endLine" : 389,
      "linesOfCode" : 260,
      "mcCabeIndex" : 62,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static Exprent identifySecondaryFunctions()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SecondaryFunctionsHelper.java",
        "extension" : "java",
        "linesOfCode" : 384,
        "unitsCount" : 4,
        "unitsMcCabeIndexSum" : 122,
        "linesOfCodeInUnits" : 348
      },
      "startLine" : 120,
      "endLine" : 369,
      "linesOfCode" : 219,
      "mcCabeIndex" : 78,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private boolean methodToJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
        "extension" : "java",
        "linesOfCode" : 1248,
        "unitsCount" : 33,
        "unitsMcCabeIndexSum" : 353,
        "linesOfCodeInUnits" : 1150
      },
      "startLine" : 737,
      "endLine" : 1006,
      "linesOfCode" : 216,
      "mcCabeIndex" : 69,
      "numberOfParameters" : 5,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public TextBuffer toJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/NewExprent.java",
        "extension" : "java",
        "linesOfCode" : 450,
        "unitsCount" : 28,
        "unitsMcCabeIndexSum" : 135,
        "linesOfCodeInUnits" : 394
      },
      "startLine" : 166,
      "endLine" : 394,
      "linesOfCode" : 194,
      "mcCabeIndex" : 63,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void processExprent()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
        "extension" : "java",
        "linesOfCode" : 578,
        "unitsCount" : 18,
        "unitsMcCabeIndexSum" : 136,
        "linesOfCodeInUnits" : 542
      },
      "startLine" : 155,
      "endLine" : 411,
      "linesOfCode" : 187,
      "mcCabeIndex" : 46,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private InstructionSequence parseBytecode()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructMethod.java",
        "extension" : "java",
        "linesOfCode" : 317,
        "unitsCount" : 18,
        "unitsMcCabeIndexSum" : 67,
        "linesOfCodeInUnits" : 275
      },
      "startLine" : 119,
      "endLine" : 318,
      "linesOfCode" : 178,
      "mcCabeIndex" : 40,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public void loadClasses()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassesProcessor.java",
        "extension" : "java",
        "linesOfCode" : 535,
        "unitsCount" : 22,
        "unitsMcCabeIndexSum" : 141,
        "linesOfCodeInUnits" : 458
      },
      "startLine" : 90,
      "endLine" : 304,
      "linesOfCode" : 172,
      "mcCabeIndex" : 56,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void insertLocalVars()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java",
        "extension" : "java",
        "linesOfCode" : 831,
        "unitsCount" : 19,
        "unitsMcCabeIndexSum" : 257,
        "linesOfCodeInUnits" : 761
      },
      "startLine" : 444,
      "endLine" : 649,
      "linesOfCode" : 167,
      "mcCabeIndex" : 44,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean reorderIf()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IfHelper.java",
        "extension" : "java",
        "linesOfCode" : 535,
        "unitsCount" : 12,
        "unitsMcCabeIndexSum" : 134,
        "linesOfCodeInUnits" : 513
      },
      "startLine" : 403,
      "endLine" : 609,
      "linesOfCode" : 156,
      "mcCabeIndex" : 40,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public TextBuffer toJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java",
        "extension" : "java",
        "linesOfCode" : 598,
        "unitsCount" : 40,
        "unitsMcCabeIndexSum" : 194,
        "linesOfCodeInUnits" : 511
      },
      "startLine" : 253,
      "endLine" : 429,
      "linesOfCode" : 144,
      "mcCabeIndex" : 51,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public TextBuffer toJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ConstExprent.java",
        "extension" : "java",
        "linesOfCode" : 576,
        "unitsCount" : 30,
        "unitsMcCabeIndexSum" : 202,
        "linesOfCodeInUnits" : 503
      },
      "startLine" : 203,
      "endLine" : 355,
      "linesOfCode" : 142,
      "mcCabeIndex" : 65,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void processSpecialInstructions()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/code/interpreter/InstructionImpact.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "unitsCount" : 2,
        "unitsMcCabeIndexSum" : 59,
        "linesOfCodeInUnits" : 172
      },
      "startLine" : 367,
      "endLine" : 510,
      "linesOfCode" : 141,
      "mcCabeIndex" : 49,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void computeLocalVarsAndDefinitions()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java",
        "extension" : "java",
        "linesOfCode" : 831,
        "unitsCount" : 19,
        "unitsMcCabeIndexSum" : 257,
        "linesOfCodeInUnits" : 761
      },
      "startLine" : 258,
      "endLine" : 431,
      "linesOfCode" : 137,
      "mcCabeIndex" : 50,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private Record getFinallyInformation()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
        "extension" : "java",
        "linesOfCode" : 733,
        "unitsCount" : 16,
        "unitsMcCabeIndexSum" : 193,
        "linesOfCodeInUnits" : 676
      },
      "startLine" : 121,
      "endLine" : 282,
      "linesOfCode" : 131,
      "mcCabeIndex" : 46,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void computeMethodType()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedMemberAccess.java",
        "extension" : "java",
        "linesOfCode" : 359,
        "unitsCount" : 8,
        "unitsMcCabeIndexSum" : 129,
        "linesOfCodeInUnits" : 339
      },
      "startLine" : 55,
      "endLine" : 203,
      "linesOfCode" : 129,
      "mcCabeIndex" : 71,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean tryConvertForEach()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/MergeHelper.java",
        "extension" : "java",
        "linesOfCode" : 647,
        "unitsCount" : 23,
        "unitsMcCabeIndexSum" : 232,
        "linesOfCodeInUnits" : 629
      },
      "startLine" : 519,
      "endLine" : 665,
      "linesOfCode" : 124,
      "mcCabeIndex" : 58,
      "numberOfParameters" : 7,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void writeClassDefinition()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
        "extension" : "java",
        "linesOfCode" : 1248,
        "unitsCount" : 33,
        "unitsMcCabeIndexSum" : 353,
        "linesOfCodeInUnits" : 1150
      },
      "startLine" : 428,
      "endLine" : 572,
      "linesOfCode" : 123,
      "mcCabeIndex" : 40,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/a4.java",
        "extension" : "java",
        "linesOfCode" : 147,
        "unitsCount" : 3,
        "unitsMcCabeIndexSum" : 24,
        "linesOfCodeInUnits" : 136
      },
      "startLine" : 35,
      "endLine" : 161,
      "linesOfCode" : 118,
      "mcCabeIndex" : 19,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static Statement findGeneralStatement()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/DomHelper.java",
        "extension" : "java",
        "linesOfCode" : 482,
        "unitsCount" : 9,
        "unitsMcCabeIndexSum" : 114,
        "linesOfCodeInUnits" : 389
      },
      "startLine" : 388,
      "endLine" : 543,
      "linesOfCode" : 118,
      "mcCabeIndex" : 39,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/r.java",
        "extension" : "java",
        "linesOfCode" : 152,
        "unitsCount" : 5,
        "unitsMcCabeIndexSum" : 27,
        "linesOfCodeInUnits" : 141
      },
      "startLine" : 45,
      "endLine" : 169,
      "linesOfCode" : 116,
      "mcCabeIndex" : 19,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/a7.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "unitsCount" : 2,
        "unitsMcCabeIndexSum" : 20,
        "linesOfCodeInUnits" : 119
      },
      "startLine" : 14,
      "endLine" : 136,
      "linesOfCode" : 114,
      "mcCabeIndex" : 19,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/ba.java",
        "extension" : "java",
        "linesOfCode" : 154,
        "unitsCount" : 3,
        "unitsMcCabeIndexSum" : 26,
        "linesOfCodeInUnits" : 145
      },
      "startLine" : 52,
      "endLine" : 174,
      "linesOfCode" : 114,
      "mcCabeIndex" : 19,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/az.java",
        "extension" : "java",
        "linesOfCode" : 179,
        "unitsCount" : 11,
        "unitsMcCabeIndexSum" : 33,
        "linesOfCodeInUnits" : 164
      },
      "startLine" : 80,
      "endLine" : 202,
      "linesOfCode" : 114,
      "mcCabeIndex" : 19,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/ax.java",
        "extension" : "java",
        "linesOfCode" : 150,
        "unitsCount" : 8,
        "unitsMcCabeIndexSum" : 28,
        "linesOfCodeInUnits" : 145
      },
      "startLine" : 47,
      "endLine" : 169,
      "linesOfCode" : 114,
      "mcCabeIndex" : 19,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public static RootStatement codeToJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/MethodProcessorRunnable.java",
        "extension" : "java",
        "linesOfCode" : 213,
        "unitsCount" : 6,
        "unitsMcCabeIndexSum" : 38,
        "linesOfCodeInUnits" : 176
      },
      "startLine" : 77,
      "endLine" : 261,
      "linesOfCode" : 114,
      "mcCabeIndex" : 22,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/o.java",
        "extension" : "java",
        "linesOfCode" : 377,
        "unitsCount" : 28,
        "unitsMcCabeIndexSum" : 87,
        "linesOfCodeInUnits" : 349
      },
      "startLine" : 335,
      "endLine" : 453,
      "linesOfCode" : 110,
      "mcCabeIndex" : 19,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "void u()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/okhttp3/internal/connection/e.java",
        "extension" : "java",
        "linesOfCode" : 474,
        "unitsCount" : 20,
        "unitsMcCabeIndexSum" : 88,
        "linesOfCodeInUnits" : 374
      },
      "startLine" : 426,
      "endLine" : 544,
      "linesOfCode" : 108,
      "mcCabeIndex" : 21,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public static boolean isChoiceStatement()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/DecHelper.java",
        "extension" : "java",
        "linesOfCode" : 174,
        "unitsCount" : 6,
        "unitsMcCabeIndexSum" : 43,
        "linesOfCodeInUnits" : 162
      },
      "startLine" : 61,
      "endLine" : 187,
      "linesOfCode" : 106,
      "mcCabeIndex" : 25,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean removeReturnCheck()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IdeaNotNullHelper.java",
        "extension" : "java",
        "linesOfCode" : 258,
        "unitsCount" : 5,
        "unitsMcCabeIndexSum" : 93,
        "linesOfCodeInUnits" : 238
      },
      "startLine" : 208,
      "endLine" : 346,
      "linesOfCode" : 104,
      "mcCabeIndex" : 44,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void processExprent()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAConstructorSparseEx.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "unitsCount" : 11,
        "unitsMcCabeIndexSum" : 80,
        "linesOfCodeInUnits" : 331
      },
      "startLine" : 122,
      "endLine" : 262,
      "linesOfCode" : 101,
      "mcCabeIndex" : 23,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private Exprent replaceAccessExprent()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedMemberAccess.java",
        "extension" : "java",
        "linesOfCode" : 359,
        "unitsCount" : 8,
        "unitsMcCabeIndexSum" : 129,
        "linesOfCodeInUnits" : 339
      },
      "startLine" : 312,
      "endLine" : 445,
      "linesOfCode" : 100,
      "mcCabeIndex" : 26,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public p()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/p.java",
        "extension" : "java",
        "linesOfCode" : 972,
        "unitsCount" : 9,
        "unitsMcCabeIndexSum" : 178,
        "linesOfCodeInUnits" : 958
      },
      "startLine" : 16,
      "endLine" : 130,
      "linesOfCode" : 99,
      "mcCabeIndex" : 17,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private SFormsFastMapDirect getFilteredOutMap()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
        "extension" : "java",
        "linesOfCode" : 578,
        "unitsCount" : 18,
        "unitsMcCabeIndexSum" : 136,
        "linesOfCodeInUnits" : 542
      },
      "startLine" : 531,
      "endLine" : 665,
      "linesOfCode" : 99,
      "mcCabeIndex" : 23,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public void classToJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
        "extension" : "java",
        "linesOfCode" : 1248,
        "unitsCount" : 33,
        "unitsMcCabeIndexSum" : 353,
        "linesOfCodeInUnits" : 1150
      },
      "startLine" : 236,
      "endLine" : 361,
      "linesOfCode" : 97,
      "mcCabeIndex" : 31,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public static void extendSynchronizedRangeToMonitorExit()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/code/DeadCodeHelper.java",
        "extension" : "java",
        "linesOfCode" : 414,
        "unitsCount" : 10,
        "unitsMcCabeIndexSum" : 127,
        "linesOfCodeInUnits" : 400
      },
      "startLine" : 248,
      "endLine" : 368,
      "linesOfCode" : 95,
      "mcCabeIndex" : 26,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean removeEmptyBlock()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/code/DeadCodeHelper.java",
        "extension" : "java",
        "linesOfCode" : 414,
        "unitsCount" : 10,
        "unitsMcCabeIndexSum" : 127,
        "linesOfCodeInUnits" : 400
      },
      "startLine" : 66,
      "endLine" : 186,
      "linesOfCode" : 94,
      "mcCabeIndex" : 32,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void condenseSequencesRec()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SequenceHelper.java",
        "extension" : "java",
        "linesOfCode" : 233,
        "unitsCount" : 8,
        "unitsMcCabeIndexSum" : 68,
        "linesOfCodeInUnits" : 218
      },
      "startLine" : 26,
      "endLine" : 146,
      "linesOfCode" : 91,
      "mcCabeIndex" : 28,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private Area compareSubGraphsEx()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
        "extension" : "java",
        "linesOfCode" : 733,
        "unitsCount" : 16,
        "unitsMcCabeIndexSum" : 193,
        "linesOfCodeInUnits" : 676
      },
      "startLine" : 504,
      "endLine" : 622,
      "linesOfCode" : 91,
      "mcCabeIndex" : 27,
      "numberOfParameters" : 7,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public void init()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/ClassWrapper.java",
        "extension" : "java",
        "linesOfCode" : 171,
        "unitsCount" : 11,
        "unitsMcCabeIndexSum" : 30,
        "linesOfCodeInUnits" : 139
      },
      "startLine" : 40,
      "endLine" : 140,
      "linesOfCode" : 88,
      "mcCabeIndex" : 11,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    } ],
    "conditionalComplexityRiskDistributionPerExtension" : [ {
      "key" : "java",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 10,
      "highRiskThreshold" : 25,
      "veryHighRiskThreshold" : 50,
      "negligibleRiskValue" : 13742,
      "lowRiskValue" : 6159,
      "mediumRiskValue" : 9776,
      "highRiskValue" : 3376,
      "veryHighRiskValue" : 9388,
      "lowRiskCount" : 269,
      "negligibleRiskCount" : 2194,
      "mediumRiskCount" : 193,
      "highRiskCount" : 34,
      "veryHighRiskCount" : 20,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-10",
      "mediumRiskLabel" : "11-25",
      "highRiskLabel" : "26-50",
      "veryHighRiskLabel" : "51+",
      "negligibleRiskPercentage" : 32.379067411229705,
      "veryHighRiskPercentage" : 22.12011969557739,
      "highRiskPercentage" : 7.954572229683561,
      "mediumRiskPercentage" : 23.034330011074196,
      "lowRiskPercentage" : 14.511910652435144,
      "totalValue" : 42441,
      "totalCount" : 2710
    }, {
      "key" : "groovy",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 10,
      "highRiskThreshold" : 25,
      "veryHighRiskThreshold" : 50,
      "negligibleRiskValue" : 3,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 1,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-10",
      "mediumRiskLabel" : "11-25",
      "highRiskLabel" : "26-50",
      "veryHighRiskLabel" : "51+",
      "negligibleRiskPercentage" : 100.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 3,
      "totalCount" : 1
    }, {
      "key" : "kt",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 10,
      "highRiskThreshold" : 25,
      "veryHighRiskThreshold" : 50,
      "negligibleRiskValue" : 19,
      "lowRiskValue" : 0,
      "mediumRiskValue" : 0,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 0,
      "lowRiskCount" : 0,
      "negligibleRiskCount" : 3,
      "mediumRiskCount" : 0,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 0,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-10",
      "mediumRiskLabel" : "11-25",
      "highRiskLabel" : "26-50",
      "veryHighRiskLabel" : "51+",
      "negligibleRiskPercentage" : 100.0,
      "veryHighRiskPercentage" : 0.0,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 0.0,
      "lowRiskPercentage" : 0.0,
      "totalValue" : 19,
      "totalCount" : 3
    } ],
    "conditionalComplexityRiskDistributionPerComponent" : [ [ {
      "key" : "testData",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 10,
      "highRiskThreshold" : 25,
      "veryHighRiskThreshold" : 50,
      "negligibleRiskValue" : 4294,
      "lowRiskValue" : 923,
      "mediumRiskValue" : 1559,
      "highRiskValue" : 0,
      "veryHighRiskValue" : 7448,
      "lowRiskCount" : 35,
      "negligibleRiskCount" : 738,
      "mediumRiskCount" : 22,
      "highRiskCount" : 0,
      "veryHighRiskCount" : 10,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-10",
      "mediumRiskLabel" : "11-25",
      "highRiskLabel" : "26-50",
      "veryHighRiskLabel" : "51+",
      "negligibleRiskPercentage" : 30.188413948256468,
      "veryHighRiskPercentage" : 52.36220472440945,
      "highRiskPercentage" : 0.0,
      "mediumRiskPercentage" : 10.960348706411699,
      "lowRiskPercentage" : 6.4890326209223845,
      "totalValue" : 14224,
      "totalCount" : 805
    }, {
      "key" : "src",
      "lowRiskThreshold" : 5,
      "mediumRiskThreshold" : 10,
      "highRiskThreshold" : 25,
      "veryHighRiskThreshold" : 50,
      "negligibleRiskValue" : 9470,
      "lowRiskValue" : 5236,
      "mediumRiskValue" : 8217,
      "highRiskValue" : 3376,
      "veryHighRiskValue" : 1940,
      "lowRiskCount" : 234,
      "negligibleRiskCount" : 1460,
      "mediumRiskCount" : 171,
      "highRiskCount" : 34,
      "veryHighRiskCount" : 10,
      "negligibleRiskLabel" : "1-5",
      "lowRiskLabel" : "6-10",
      "mediumRiskLabel" : "11-25",
      "highRiskLabel" : "26-50",
      "veryHighRiskLabel" : "51+",
      "negligibleRiskPercentage" : 33.53518184071674,
      "veryHighRiskPercentage" : 6.86993165480364,
      "highRiskPercentage" : 11.955097560111902,
      "mediumRiskPercentage" : 29.098055880165727,
      "lowRiskPercentage" : 18.54173306420199,
      "totalValue" : 28239,
      "totalCount" : 1909
    } ] ],
    "mostComplexUnits" : [ {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/a3.java",
        "extension" : "java",
        "linesOfCode" : 1947,
        "unitsCount" : 4,
        "unitsMcCabeIndexSum" : 359,
        "linesOfCodeInUnits" : 1942
      },
      "startLine" : 40,
      "endLine" : 2081,
      "linesOfCode" : 1914,
      "mcCabeIndex" : 355,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public void processBlock()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ExprProcessor.java",
        "extension" : "java",
        "linesOfCode" : 987,
        "unitsCount" : 35,
        "unitsMcCabeIndexSum" : 362,
        "linesOfCodeInUnits" : 891
      },
      "startLine" : 265,
      "endLine" : 612,
      "linesOfCode" : 340,
      "mcCabeIndex" : 179,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/an.java",
        "extension" : "java",
        "linesOfCode" : 979,
        "unitsCount" : 10,
        "unitsMcCabeIndexSum" : 179,
        "linesOfCodeInUnits" : 951
      },
      "startLine" : 111,
      "endLine" : 1056,
      "linesOfCode" : 886,
      "mcCabeIndex" : 163,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/bb.java",
        "extension" : "java",
        "linesOfCode" : 848,
        "unitsCount" : 4,
        "unitsMcCabeIndexSum" : 157,
        "linesOfCodeInUnits" : 837
      },
      "startLine" : 25,
      "endLine" : 909,
      "linesOfCode" : 830,
      "mcCabeIndex" : 154,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/s.java",
        "extension" : "java",
        "linesOfCode" : 876,
        "unitsCount" : 7,
        "unitsMcCabeIndexSum" : 165,
        "linesOfCodeInUnits" : 867
      },
      "startLine" : 57,
      "endLine" : 941,
      "linesOfCode" : 830,
      "mcCabeIndex" : 154,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/p.java",
        "extension" : "java",
        "linesOfCode" : 972,
        "unitsCount" : 9,
        "unitsMcCabeIndexSum" : 178,
        "linesOfCodeInUnits" : 958
      },
      "startLine" : 168,
      "endLine" : 1052,
      "linesOfCode" : 830,
      "mcCabeIndex" : 154,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/a5.java",
        "extension" : "java",
        "linesOfCode" : 862,
        "unitsCount" : 3,
        "unitsMcCabeIndexSum" : 159,
        "linesOfCodeInUnits" : 856
      },
      "startLine" : 31,
      "endLine" : 923,
      "linesOfCode" : 838,
      "mcCabeIndex" : 154,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static Exprent identifySecondaryFunctions()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SecondaryFunctionsHelper.java",
        "extension" : "java",
        "linesOfCode" : 384,
        "unitsCount" : 4,
        "unitsMcCabeIndexSum" : 122,
        "linesOfCodeInUnits" : 348
      },
      "startLine" : 120,
      "endLine" : 369,
      "linesOfCode" : 219,
      "mcCabeIndex" : 78,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void computeMethodType()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedMemberAccess.java",
        "extension" : "java",
        "linesOfCode" : 359,
        "unitsCount" : 8,
        "unitsMcCabeIndexSum" : 129,
        "linesOfCodeInUnits" : 339
      },
      "startLine" : 55,
      "endLine" : 203,
      "linesOfCode" : 129,
      "mcCabeIndex" : 71,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private boolean methodToJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
        "extension" : "java",
        "linesOfCode" : 1248,
        "unitsCount" : 33,
        "unitsMcCabeIndexSum" : 353,
        "linesOfCodeInUnits" : 1150
      },
      "startLine" : 737,
      "endLine" : 1006,
      "linesOfCode" : 216,
      "mcCabeIndex" : 69,
      "numberOfParameters" : 5,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/a8.java",
        "extension" : "java",
        "linesOfCode" : 377,
        "unitsCount" : 2,
        "unitsMcCabeIndexSum" : 68,
        "linesOfCodeInUnits" : 374
      },
      "startLine" : 8,
      "endLine" : 405,
      "linesOfCode" : 372,
      "mcCabeIndex" : 67,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public TextBuffer toJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ConstExprent.java",
        "extension" : "java",
        "linesOfCode" : 576,
        "unitsCount" : 30,
        "unitsMcCabeIndexSum" : 202,
        "linesOfCodeInUnits" : 503
      },
      "startLine" : 203,
      "endLine" : 355,
      "linesOfCode" : 142,
      "mcCabeIndex" : 65,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public TextBuffer toJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/NewExprent.java",
        "extension" : "java",
        "linesOfCode" : 450,
        "unitsCount" : 28,
        "unitsMcCabeIndexSum" : 135,
        "linesOfCodeInUnits" : 394
      },
      "startLine" : 166,
      "endLine" : 394,
      "linesOfCode" : 194,
      "mcCabeIndex" : 63,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void flattenStatement()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper.java",
        "extension" : "java",
        "linesOfCode" : 426,
        "unitsCount" : 9,
        "unitsMcCabeIndexSum" : 93,
        "linesOfCodeInUnits" : 356
      },
      "startLine" : 60,
      "endLine" : 389,
      "linesOfCode" : 260,
      "mcCabeIndex" : 62,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/aw.java",
        "extension" : "java",
        "linesOfCode" : 334,
        "unitsCount" : 5,
        "unitsMcCabeIndexSum" : 62,
        "linesOfCodeInUnits" : 328
      },
      "startLine" : 26,
      "endLine" : 362,
      "linesOfCode" : 316,
      "mcCabeIndex" : 58,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/al.java",
        "extension" : "java",
        "linesOfCode" : 413,
        "unitsCount" : 13,
        "unitsMcCabeIndexSum" : 80,
        "linesOfCodeInUnits" : 393
      },
      "startLine" : 124,
      "endLine" : 460,
      "linesOfCode" : 316,
      "mcCabeIndex" : 58,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "static",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "testData/obfuscated/v.java",
        "extension" : "java",
        "linesOfCode" : 388,
        "unitsCount" : 6,
        "unitsMcCabeIndexSum" : 74,
        "linesOfCodeInUnits" : 382
      },
      "startLine" : 87,
      "endLine" : 423,
      "linesOfCode" : 316,
      "mcCabeIndex" : 58,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean tryConvertForEach()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/MergeHelper.java",
        "extension" : "java",
        "linesOfCode" : 647,
        "unitsCount" : 23,
        "unitsMcCabeIndexSum" : 232,
        "linesOfCodeInUnits" : 629
      },
      "startLine" : 519,
      "endLine" : 665,
      "linesOfCode" : 124,
      "mcCabeIndex" : 58,
      "numberOfParameters" : 7,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public void loadClasses()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassesProcessor.java",
        "extension" : "java",
        "linesOfCode" : 535,
        "unitsCount" : 22,
        "unitsMcCabeIndexSum" : 141,
        "linesOfCodeInUnits" : 458
      },
      "startLine" : 90,
      "endLine" : 304,
      "linesOfCode" : 172,
      "mcCabeIndex" : 56,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public TextBuffer toJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent.java",
        "extension" : "java",
        "linesOfCode" : 598,
        "unitsCount" : 40,
        "unitsMcCabeIndexSum" : 194,
        "linesOfCodeInUnits" : 511
      },
      "startLine" : 253,
      "endLine" : 429,
      "linesOfCode" : 144,
      "mcCabeIndex" : 51,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void computeLocalVarsAndDefinitions()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java",
        "extension" : "java",
        "linesOfCode" : 831,
        "unitsCount" : 19,
        "unitsMcCabeIndexSum" : 257,
        "linesOfCodeInUnits" : 761
      },
      "startLine" : 258,
      "endLine" : 431,
      "linesOfCode" : 137,
      "mcCabeIndex" : 50,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void processSpecialInstructions()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/code/interpreter/InstructionImpact.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "unitsCount" : 2,
        "unitsMcCabeIndexSum" : 59,
        "linesOfCodeInUnits" : 172
      },
      "startLine" : 367,
      "endLine" : 510,
      "linesOfCode" : 141,
      "mcCabeIndex" : 49,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void processExprent()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
        "extension" : "java",
        "linesOfCode" : 578,
        "unitsCount" : 18,
        "unitsMcCabeIndexSum" : 136,
        "linesOfCodeInUnits" : 542
      },
      "startLine" : 155,
      "endLine" : 411,
      "linesOfCode" : 187,
      "mcCabeIndex" : 46,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private Record getFinallyInformation()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
        "extension" : "java",
        "linesOfCode" : 733,
        "unitsCount" : 16,
        "unitsMcCabeIndexSum" : 193,
        "linesOfCodeInUnits" : 676
      },
      "startLine" : 121,
      "endLine" : 282,
      "linesOfCode" : 131,
      "mcCabeIndex" : 46,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public CheckTypesResult checkExprTypeBounds()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/FunctionExprent.java",
        "extension" : "java",
        "linesOfCode" : 573,
        "unitsCount" : 23,
        "unitsMcCabeIndexSum" : 128,
        "linesOfCodeInUnits" : 332
      },
      "startLine" : 353,
      "endLine" : 438,
      "linesOfCode" : 80,
      "mcCabeIndex" : 45,
      "numberOfParameters" : 0,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void insertLocalVars()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/rels/NestedClassProcessor.java",
        "extension" : "java",
        "linesOfCode" : 831,
        "unitsCount" : 19,
        "unitsMcCabeIndexSum" : 257,
        "linesOfCodeInUnits" : 761
      },
      "startLine" : 444,
      "endLine" : 649,
      "linesOfCode" : 167,
      "mcCabeIndex" : 44,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean removeReturnCheck()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IdeaNotNullHelper.java",
        "extension" : "java",
        "linesOfCode" : 258,
        "unitsCount" : 5,
        "unitsMcCabeIndexSum" : 93,
        "linesOfCodeInUnits" : 238
      },
      "startLine" : 208,
      "endLine" : 346,
      "linesOfCode" : 104,
      "mcCabeIndex" : 44,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void writeClassDefinition()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
        "extension" : "java",
        "linesOfCode" : 1248,
        "unitsCount" : 33,
        "unitsMcCabeIndexSum" : 353,
        "linesOfCodeInUnits" : 1150
      },
      "startLine" : 428,
      "endLine" : 572,
      "linesOfCode" : 123,
      "mcCabeIndex" : 40,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean reorderIf()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IfHelper.java",
        "extension" : "java",
        "linesOfCode" : 535,
        "unitsCount" : 12,
        "unitsMcCabeIndexSum" : 134,
        "linesOfCodeInUnits" : 513
      },
      "startLine" : 403,
      "endLine" : 609,
      "linesOfCode" : 156,
      "mcCabeIndex" : 40,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private InstructionSequence parseBytecode()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/struct/StructMethod.java",
        "extension" : "java",
        "linesOfCode" : 317,
        "unitsCount" : 18,
        "unitsMcCabeIndexSum" : 67,
        "linesOfCodeInUnits" : 275
      },
      "startLine" : 119,
      "endLine" : 318,
      "linesOfCode" : 178,
      "mcCabeIndex" : 40,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static Statement findGeneralStatement()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/DomHelper.java",
        "extension" : "java",
        "linesOfCode" : 482,
        "unitsCount" : 9,
        "unitsMcCabeIndexSum" : 114,
        "linesOfCodeInUnits" : 389
      },
      "startLine" : 388,
      "endLine" : 543,
      "linesOfCode" : 118,
      "mcCabeIndex" : 39,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean buildIff()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SimplifyExprentsHelper.java",
        "extension" : "java",
        "linesOfCode" : 601,
        "unitsCount" : 19,
        "unitsMcCabeIndexSum" : 220,
        "linesOfCodeInUnits" : 554
      },
      "startLine" : 640,
      "endLine" : 742,
      "linesOfCode" : 80,
      "mcCabeIndex" : 36,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void simpleMerge()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarVersionsProcessor.java",
        "extension" : "java",
        "linesOfCode" : 271,
        "unitsCount" : 13,
        "unitsMcCabeIndexSum" : 82,
        "linesOfCodeInUnits" : 248
      },
      "startLine" : 140,
      "endLine" : 238,
      "linesOfCode" : 82,
      "mcCabeIndex" : 35,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean removeEmptyBlock()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/code/DeadCodeHelper.java",
        "extension" : "java",
        "linesOfCode" : 414,
        "unitsCount" : 10,
        "unitsMcCabeIndexSum" : 127,
        "linesOfCodeInUnits" : 400
      },
      "startLine" : 66,
      "endLine" : 186,
      "linesOfCode" : 94,
      "mcCabeIndex" : 32,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public static boolean addTryWithResourceJ11()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/TryHelper.java",
        "extension" : "java",
        "linesOfCode" : 590,
        "unitsCount" : 20,
        "unitsMcCabeIndexSum" : 205,
        "linesOfCodeInUnits" : 552
      },
      "startLine" : 218,
      "endLine" : 345,
      "linesOfCode" : 87,
      "mcCabeIndex" : 32,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public void classToJava()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
        "extension" : "java",
        "linesOfCode" : 1248,
        "unitsCount" : 33,
        "unitsMcCabeIndexSum" : 353,
        "linesOfCodeInUnits" : 1150
      },
      "startLine" : 236,
      "endLine" : 361,
      "linesOfCode" : 97,
      "mcCabeIndex" : 31,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void extractDynamicInitializers()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/InitializerProcessor.java",
        "extension" : "java",
        "linesOfCode" : 258,
        "unitsCount" : 7,
        "unitsMcCabeIndexSum" : 98,
        "linesOfCodeInUnits" : 234
      },
      "startLine" : 190,
      "endLine" : 284,
      "linesOfCode" : 79,
      "mcCabeIndex" : 30,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean findAndReduceRedundantLoop()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/EliminateLoopsHelper.java",
        "extension" : "java",
        "linesOfCode" : 154,
        "unitsCount" : 6,
        "unitsMcCabeIndexSum" : 50,
        "linesOfCodeInUnits" : 144
      },
      "startLine" : 72,
      "endLine" : 181,
      "linesOfCode" : 87,
      "mcCabeIndex" : 30,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public static boolean getCastedExprent()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/ExprProcessor.java",
        "extension" : "java",
        "linesOfCode" : 987,
        "unitsCount" : 35,
        "unitsMcCabeIndexSum" : 362,
        "linesOfCodeInUnits" : 891
      },
      "startLine" : 1031,
      "endLine" : 1094,
      "linesOfCode" : 49,
      "mcCabeIndex" : 30,
      "numberOfParameters" : 9,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static int isArrayInitializer()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SimplifyExprentsHelper.java",
        "extension" : "java",
        "linesOfCode" : 601,
        "unitsCount" : 19,
        "unitsMcCabeIndexSum" : 220,
        "linesOfCodeInUnits" : 554
      },
      "startLine" : 257,
      "endLine" : 339,
      "linesOfCode" : 66,
      "mcCabeIndex" : 30,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean processCatchStatement()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/PatternHelper.java",
        "extension" : "java",
        "linesOfCode" : 550,
        "unitsCount" : 19,
        "unitsMcCabeIndexSum" : 120,
        "linesOfCodeInUnits" : 345
      },
      "startLine" : 349,
      "endLine" : 415,
      "linesOfCode" : 65,
      "mcCabeIndex" : 29,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static RecordConstructorContext tryToDeleteRecordConstructor()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/main/ClassWriter.java",
        "extension" : "java",
        "linesOfCode" : 1248,
        "unitsCount" : 33,
        "unitsMcCabeIndexSum" : 353,
        "linesOfCodeInUnits" : 1150
      },
      "startLine" : 1016,
      "endLine" : 1096,
      "linesOfCode" : 79,
      "mcCabeIndex" : 28,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private TextBuffer createFloat()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/exps/ConstExprent.java",
        "extension" : "java",
        "linesOfCode" : 576,
        "unitsCount" : 30,
        "unitsMcCabeIndexSum" : 202,
        "linesOfCodeInUnits" : 503
      },
      "startLine" : 357,
      "endLine" : 413,
      "linesOfCode" : 53,
      "mcCabeIndex" : 28,
      "numberOfParameters" : 3,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private void propogateLVTs()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarDefinitionHelper.java",
        "extension" : "java",
        "linesOfCode" : 883,
        "unitsCount" : 28,
        "unitsMcCabeIndexSum" : 273,
        "linesOfCodeInUnits" : 848
      },
      "startLine" : 813,
      "endLine" : 914,
      "linesOfCode" : 85,
      "mcCabeIndex" : 28,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public static void duplicateMergedMatchedExceptionCatchBlocks()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/deobfuscator/ExceptionDeobfuscator.java",
        "extension" : "java",
        "linesOfCode" : 425,
        "unitsCount" : 12,
        "unitsMcCabeIndexSum" : 110,
        "linesOfCodeInUnits" : 395
      },
      "startLine" : 407,
      "endLine" : 500,
      "linesOfCode" : 86,
      "mcCabeIndex" : 28,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static void condenseSequencesRec()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/SequenceHelper.java",
        "extension" : "java",
        "linesOfCode" : 233,
        "unitsCount" : 8,
        "unitsMcCabeIndexSum" : 68,
        "linesOfCodeInUnits" : 218
      },
      "startLine" : 26,
      "endLine" : 146,
      "linesOfCode" : 91,
      "mcCabeIndex" : 28,
      "numberOfParameters" : 1,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private static boolean findAndRemoveParameterCheck()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/IdeaNotNullHelper.java",
        "extension" : "java",
        "linesOfCode" : 258,
        "unitsCount" : 5,
        "unitsMcCabeIndexSum" : 93,
        "linesOfCodeInUnits" : 238
      },
      "startLine" : 44,
      "endLine" : 139,
      "linesOfCode" : 72,
      "mcCabeIndex" : 28,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private VPPEntry mergeVars()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/vars/VarDefinitionHelper.java",
        "extension" : "java",
        "linesOfCode" : 883,
        "unitsCount" : 28,
        "unitsMcCabeIndexSum" : 273,
        "linesOfCodeInUnits" : 848
      },
      "startLine" : 518,
      "endLine" : 616,
      "linesOfCode" : 77,
      "mcCabeIndex" : 27,
      "numberOfParameters" : 4,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "private Area compareSubGraphsEx()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/FinallyProcessor.java",
        "extension" : "java",
        "linesOfCode" : 733,
        "unitsCount" : 16,
        "unitsMcCabeIndexSum" : 193,
        "linesOfCodeInUnits" : 676
      },
      "startLine" : 504,
      "endLine" : 622,
      "linesOfCode" : 91,
      "mcCabeIndex" : 27,
      "numberOfParameters" : 7,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    }, {
      "shortName" : "public static Exprent parseAnnotationElement()",
      "longName" : "",
      "sourceFile" : {
        "relativePath" : "src/org/jetbrains/java/decompiler/struct/attr/StructAnnotationAttribute.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "unitsCount" : 4,
        "unitsMcCabeIndexSum" : 32,
        "linesOfCodeInUnits" : 88
      },
      "startLine" : 63,
      "endLine" : 135,
      "linesOfCode" : 69,
      "mcCabeIndex" : 27,
      "numberOfParameters" : 2,
      "numberOfLiterals" : 0,
      "numberOfStatements" : 0,
      "numberOfExpressions" : 0,
      "children" : [ ]
    } ]
  },
  "duplicationAnalysisResults" : {
    "overallDuplication" : {
      "key" : "system",
      "numberOfDuplicates" : 2696,
      "cleanedLinesOfCode" : 41640,
      "duplicatedLinesOfCode" : 7351,
      "numberOfFilesWithDuplicates" : 102,
      "duplicationPercentage" : 17.653698366954853
    },
    "duplicationPerComponent" : [ [ {
      "key" : "testData",
      "numberOfDuplicates" : 0,
      "cleanedLinesOfCode" : 15680,
      "duplicatedLinesOfCode" : 6272,
      "numberOfFilesWithDuplicates" : 0,
      "duplicationPercentage" : 40.0
    }, {
      "key" : "src",
      "numberOfDuplicates" : 0,
      "cleanedLinesOfCode" : 25933,
      "duplicatedLinesOfCode" : 1079,
      "numberOfFilesWithDuplicates" : 0,
      "duplicationPercentage" : 4.1607218601781515
    }, {
      "key" : "ROOT",
      "numberOfDuplicates" : 0,
      "cleanedLinesOfCode" : 27,
      "duplicatedLinesOfCode" : 0,
      "numberOfFilesWithDuplicates" : 0,
      "duplicationPercentage" : 0.0
    } ] ],
    "duplicationPerConcern" : [ ],
    "duplicationPerExtension" : [ {
      "key" : "java",
      "numberOfDuplicates" : 0,
      "cleanedLinesOfCode" : 41575,
      "duplicatedLinesOfCode" : 7351,
      "numberOfFilesWithDuplicates" : 0,
      "duplicationPercentage" : 17.68129885748647
    } ],
    "longestDuplicates" : [ {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchOnStringsEcj.java",
          "extension" : "java",
          "linesOfCode" : 93,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 88
        },
        "sourceFileCleanedLinesOfCode" : 76,
        "startLine" : 4,
        "endLine" : 96,
        "cleanedStartLine" : 2,
        "cleanedEndLine" : 74,
        "percentage" : 96.05263157894737,
        "blockSize" : 73
      }, {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchOnStringsJavac.java",
          "extension" : "java",
          "linesOfCode" : 140,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 36,
          "linesOfCodeInUnits" : 135
        },
        "sourceFileCleanedLinesOfCode" : 113,
        "startLine" : 3,
        "endLine" : 95,
        "cleanedStartLine" : 2,
        "cleanedEndLine" : 74,
        "percentage" : 64.60176991150442,
        "blockSize" : 73
      } ],
      "blockSize" : 73
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAConstructorSparseEx.java",
          "extension" : "java",
          "linesOfCode" : 366,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 80,
          "linesOfCodeInUnits" : 331
        },
        "sourceFileCleanedLinesOfCode" : 254,
        "startLine" : 393,
        "endLine" : 448,
        "cleanedStartLine" : 197,
        "cleanedEndLine" : 227,
        "percentage" : 12.204724409448819,
        "blockSize" : 31
      }, {
        "sourceFile" : {
          "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
          "extension" : "java",
          "linesOfCode" : 578,
          "unitsCount" : 18,
          "unitsMcCabeIndexSum" : 136,
          "linesOfCodeInUnits" : 542
        },
        "sourceFileCleanedLinesOfCode" : 418,
        "startLine" : 664,
        "endLine" : 720,
        "cleanedStartLine" : 336,
        "cleanedEndLine" : 366,
        "percentage" : 7.416267942583732,
        "blockSize" : 31
      } ],
      "blockSize" : 31
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchClassReferencesFastExitEcj.java",
          "extension" : "java",
          "linesOfCode" : 44,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 12,
          "linesOfCodeInUnits" : 41
        },
        "sourceFileCleanedLinesOfCode" : 31,
        "startLine" : 4,
        "endLine" : 40,
        "cleanedStartLine" : 2,
        "cleanedEndLine" : 31,
        "percentage" : 96.7741935483871,
        "blockSize" : 30
      }, {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchClassReferencesFastExitJavac.java",
          "extension" : "java",
          "linesOfCode" : 44,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 12,
          "linesOfCodeInUnits" : 41
        },
        "sourceFileCleanedLinesOfCode" : 31,
        "startLine" : 5,
        "endLine" : 41,
        "cleanedStartLine" : 2,
        "cleanedEndLine" : 31,
        "percentage" : 96.7741935483871,
        "blockSize" : 30
      } ],
      "blockSize" : 30
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAConstructorSparseEx.java",
          "extension" : "java",
          "linesOfCode" : 366,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 80,
          "linesOfCodeInUnits" : 331
        },
        "sourceFileCleanedLinesOfCode" : 254,
        "startLine" : 330,
        "endLine" : 382,
        "cleanedStartLine" : 165,
        "cleanedEndLine" : 192,
        "percentage" : 11.023622047244094,
        "blockSize" : 28
      }, {
        "sourceFile" : {
          "relativePath" : "src/org/jetbrains/java/decompiler/modules/decompiler/sforms/SSAUConstructorSparseEx.java",
          "extension" : "java",
          "linesOfCode" : 578,
          "unitsCount" : 18,
          "unitsMcCabeIndexSum" : 136,
          "linesOfCodeInUnits" : 542
        },
        "sourceFileCleanedLinesOfCode" : 418,
        "startLine" : 558,
        "endLine" : 611,
        "cleanedStartLine" : 281,
        "cleanedEndLine" : 308,
        "percentage" : 6.698564593301436,
        "blockSize" : 28
      } ],
      "blockSize" : 28
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchGuardedEcj.java",
          "extension" : "java",
          "linesOfCode" : 43,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 40
        },
        "sourceFileCleanedLinesOfCode" : 33,
        "startLine" : 14,
        "endLine" : 47,
        "cleanedStartLine" : 8,
        "cleanedEndLine" : 33,
        "percentage" : 78.78787878787878,
        "blockSize" : 26
      }, {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchGuardedJavac.java",
          "extension" : "java",
          "linesOfCode" : 43,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 40
        },
        "sourceFileCleanedLinesOfCode" : 33,
        "startLine" : 14,
        "endLine" : 47,
        "cleanedStartLine" : 8,
        "cleanedEndLine" : 33,
        "percentage" : 78.78787878787878,
        "blockSize" : 26
      } ],
      "blockSize" : 26
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 111,
        "endLine" : 137,
        "cleanedStartLine" : 78,
        "cleanedEndLine" : 100,
        "percentage" : 18.4,
        "blockSize" : 23
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 116,
        "endLine" : 142,
        "cleanedStartLine" : 81,
        "cleanedEndLine" : 103,
        "percentage" : 17.96875,
        "blockSize" : 23
      } ],
      "blockSize" : 23
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchClassReferencesEcj.java",
          "extension" : "java",
          "linesOfCode" : 33,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 16,
          "linesOfCodeInUnits" : 30
        },
        "sourceFileCleanedLinesOfCode" : 23,
        "startLine" : 5,
        "endLine" : 35,
        "cleanedStartLine" : 2,
        "cleanedEndLine" : 23,
        "percentage" : 95.65217391304348,
        "blockSize" : 22
      }, {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchClassReferencesJavac.java",
          "extension" : "java",
          "linesOfCode" : 33,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 16,
          "linesOfCodeInUnits" : 30
        },
        "sourceFileCleanedLinesOfCode" : 23,
        "startLine" : 5,
        "endLine" : 35,
        "cleanedStartLine" : 2,
        "cleanedEndLine" : 23,
        "percentage" : 95.65217391304348,
        "blockSize" : 22
      } ],
      "blockSize" : 22
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ap.java",
          "extension" : "java",
          "linesOfCode" : 79,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 16,
          "linesOfCodeInUnits" : 73
        },
        "sourceFileCleanedLinesOfCode" : 65,
        "startLine" : 34,
        "endLine" : 59,
        "cleanedStartLine" : 20,
        "cleanedEndLine" : 41,
        "percentage" : 33.84615384615385,
        "blockSize" : 22
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/n.java",
          "extension" : "java",
          "linesOfCode" : 166,
          "unitsCount" : 13,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 116
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 146,
        "endLine" : 171,
        "cleanedStartLine" : 80,
        "cleanedEndLine" : 101,
        "percentage" : 17.6,
        "blockSize" : 22
      } ],
      "blockSize" : 22
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/az.java",
          "extension" : "java",
          "linesOfCode" : 179,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 33,
          "linesOfCodeInUnits" : 164
        },
        "sourceFileCleanedLinesOfCode" : 142,
        "startLine" : 86,
        "endLine" : 110,
        "cleanedStartLine" : 49,
        "cleanedEndLine" : 69,
        "percentage" : 14.788732394366198,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/r.java",
          "extension" : "java",
          "linesOfCode" : 152,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 141
        },
        "sourceFileCleanedLinesOfCode" : 126,
        "startLine" : 51,
        "endLine" : 75,
        "cleanedStartLine" : 31,
        "cleanedEndLine" : 51,
        "percentage" : 16.666666666666668,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a7.java",
          "extension" : "java",
          "linesOfCode" : 125,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 119
        },
        "sourceFileCleanedLinesOfCode" : 107,
        "startLine" : 20,
        "endLine" : 44,
        "cleanedStartLine" : 14,
        "cleanedEndLine" : 34,
        "percentage" : 19.626168224299064,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/az.java",
          "extension" : "java",
          "linesOfCode" : 179,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 33,
          "linesOfCodeInUnits" : 164
        },
        "sourceFileCleanedLinesOfCode" : 142,
        "startLine" : 86,
        "endLine" : 110,
        "cleanedStartLine" : 49,
        "cleanedEndLine" : 69,
        "percentage" : 14.788732394366198,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a7.java",
          "extension" : "java",
          "linesOfCode" : 125,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 119
        },
        "sourceFileCleanedLinesOfCode" : 107,
        "startLine" : 20,
        "endLine" : 44,
        "cleanedStartLine" : 14,
        "cleanedEndLine" : 34,
        "percentage" : 19.626168224299064,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 58,
        "endLine" : 82,
        "cleanedStartLine" : 35,
        "cleanedEndLine" : 55,
        "percentage" : 16.40625,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a4.java",
          "extension" : "java",
          "linesOfCode" : 147,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 24,
          "linesOfCodeInUnits" : 136
        },
        "sourceFileCleanedLinesOfCode" : 124,
        "startLine" : 41,
        "endLine" : 65,
        "cleanedStartLine" : 27,
        "cleanedEndLine" : 47,
        "percentage" : 16.93548387096774,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/r.java",
          "extension" : "java",
          "linesOfCode" : 152,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 141
        },
        "sourceFileCleanedLinesOfCode" : 126,
        "startLine" : 51,
        "endLine" : 75,
        "cleanedStartLine" : 31,
        "cleanedEndLine" : 51,
        "percentage" : 16.666666666666668,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 53,
        "endLine" : 77,
        "cleanedStartLine" : 32,
        "cleanedEndLine" : 52,
        "percentage" : 16.8,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 58,
        "endLine" : 82,
        "cleanedStartLine" : 35,
        "cleanedEndLine" : 55,
        "percentage" : 16.40625,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a4.java",
          "extension" : "java",
          "linesOfCode" : 147,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 24,
          "linesOfCodeInUnits" : 136
        },
        "sourceFileCleanedLinesOfCode" : 124,
        "startLine" : 41,
        "endLine" : 65,
        "cleanedStartLine" : 27,
        "cleanedEndLine" : 47,
        "percentage" : 16.93548387096774,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a7.java",
          "extension" : "java",
          "linesOfCode" : 125,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 119
        },
        "sourceFileCleanedLinesOfCode" : 107,
        "startLine" : 20,
        "endLine" : 44,
        "cleanedStartLine" : 14,
        "cleanedEndLine" : 34,
        "percentage" : 19.626168224299064,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a7.java",
          "extension" : "java",
          "linesOfCode" : 125,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 119
        },
        "sourceFileCleanedLinesOfCode" : 107,
        "startLine" : 20,
        "endLine" : 44,
        "cleanedStartLine" : 14,
        "cleanedEndLine" : 34,
        "percentage" : 19.626168224299064,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 53,
        "endLine" : 77,
        "cleanedStartLine" : 32,
        "cleanedEndLine" : 52,
        "percentage" : 16.8,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a4.java",
          "extension" : "java",
          "linesOfCode" : 147,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 24,
          "linesOfCodeInUnits" : 136
        },
        "sourceFileCleanedLinesOfCode" : 124,
        "startLine" : 41,
        "endLine" : 65,
        "cleanedStartLine" : 27,
        "cleanedEndLine" : 47,
        "percentage" : 16.93548387096774,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 58,
        "endLine" : 82,
        "cleanedStartLine" : 35,
        "cleanedEndLine" : 55,
        "percentage" : 16.40625,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 58,
        "endLine" : 82,
        "cleanedStartLine" : 35,
        "cleanedEndLine" : 55,
        "percentage" : 16.40625,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/r.java",
          "extension" : "java",
          "linesOfCode" : 152,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 141
        },
        "sourceFileCleanedLinesOfCode" : 126,
        "startLine" : 51,
        "endLine" : 75,
        "cleanedStartLine" : 31,
        "cleanedEndLine" : 51,
        "percentage" : 16.666666666666668,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a7.java",
          "extension" : "java",
          "linesOfCode" : 125,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 119
        },
        "sourceFileCleanedLinesOfCode" : 107,
        "startLine" : 20,
        "endLine" : 44,
        "cleanedStartLine" : 14,
        "cleanedEndLine" : 34,
        "percentage" : 19.626168224299064,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/r.java",
          "extension" : "java",
          "linesOfCode" : 152,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 141
        },
        "sourceFileCleanedLinesOfCode" : 126,
        "startLine" : 51,
        "endLine" : 75,
        "cleanedStartLine" : 31,
        "cleanedEndLine" : 51,
        "percentage" : 16.666666666666668,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 53,
        "endLine" : 77,
        "cleanedStartLine" : 32,
        "cleanedEndLine" : 52,
        "percentage" : 16.8,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/az.java",
          "extension" : "java",
          "linesOfCode" : 179,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 33,
          "linesOfCodeInUnits" : 164
        },
        "sourceFileCleanedLinesOfCode" : 142,
        "startLine" : 86,
        "endLine" : 110,
        "cleanedStartLine" : 49,
        "cleanedEndLine" : 69,
        "percentage" : 14.788732394366198,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a4.java",
          "extension" : "java",
          "linesOfCode" : 147,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 24,
          "linesOfCodeInUnits" : 136
        },
        "sourceFileCleanedLinesOfCode" : 124,
        "startLine" : 41,
        "endLine" : 65,
        "cleanedStartLine" : 27,
        "cleanedEndLine" : 47,
        "percentage" : 16.93548387096774,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/az.java",
          "extension" : "java",
          "linesOfCode" : 179,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 33,
          "linesOfCodeInUnits" : 164
        },
        "sourceFileCleanedLinesOfCode" : 142,
        "startLine" : 86,
        "endLine" : 110,
        "cleanedStartLine" : 49,
        "cleanedEndLine" : 69,
        "percentage" : 14.788732394366198,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/az.java",
          "extension" : "java",
          "linesOfCode" : 179,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 33,
          "linesOfCodeInUnits" : 164
        },
        "sourceFileCleanedLinesOfCode" : 142,
        "startLine" : 86,
        "endLine" : 110,
        "cleanedStartLine" : 49,
        "cleanedEndLine" : 69,
        "percentage" : 14.788732394366198,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 58,
        "endLine" : 82,
        "cleanedStartLine" : 35,
        "cleanedEndLine" : 55,
        "percentage" : 16.40625,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a4.java",
          "extension" : "java",
          "linesOfCode" : 147,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 24,
          "linesOfCodeInUnits" : 136
        },
        "sourceFileCleanedLinesOfCode" : 124,
        "startLine" : 41,
        "endLine" : 65,
        "cleanedStartLine" : 27,
        "cleanedEndLine" : 47,
        "percentage" : 16.93548387096774,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 53,
        "endLine" : 77,
        "cleanedStartLine" : 32,
        "cleanedEndLine" : 52,
        "percentage" : 16.8,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 53,
        "endLine" : 77,
        "cleanedStartLine" : 32,
        "cleanedEndLine" : 52,
        "percentage" : 16.8,
        "blockSize" : 21
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/r.java",
          "extension" : "java",
          "linesOfCode" : 152,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 141
        },
        "sourceFileCleanedLinesOfCode" : 126,
        "startLine" : 51,
        "endLine" : 75,
        "cleanedStartLine" : 31,
        "cleanedEndLine" : 51,
        "percentage" : 16.666666666666668,
        "blockSize" : 21
      } ],
      "blockSize" : 21
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 69,
        "endLine" : 91,
        "cleanedStartLine" : 54,
        "cleanedEndLine" : 72,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 206,
        "endLine" : 228,
        "cleanedStartLine" : 147,
        "cleanedEndLine" : 165,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 157,
        "endLine" : 179,
        "cleanedStartLine" : 129,
        "cleanedEndLine" : 147,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 183,
        "endLine" : 205,
        "cleanedStartLine" : 145,
        "cleanedEndLine" : 163,
        "percentage" : 2.4739583333333335,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 588,
        "endLine" : 610,
        "cleanedStartLine" : 483,
        "cleanedEndLine" : 501,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 731,
        "endLine" : 753,
        "cleanedStartLine" : 585,
        "cleanedEndLine" : 603,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 151,
        "endLine" : 173,
        "cleanedStartLine" : 120,
        "cleanedEndLine" : 138,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 294,
        "endLine" : 316,
        "cleanedStartLine" : 222,
        "cleanedEndLine" : 240,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 751,
        "endLine" : 773,
        "cleanedStartLine" : 618,
        "cleanedEndLine" : 636,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 894,
        "endLine" : 916,
        "cleanedStartLine" : 720,
        "cleanedEndLine" : 738,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 69,
        "endLine" : 91,
        "cleanedStartLine" : 54,
        "cleanedEndLine" : 72,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 63,
        "endLine" : 85,
        "cleanedStartLine" : 45,
        "cleanedEndLine" : 63,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 894,
        "endLine" : 916,
        "cleanedStartLine" : 720,
        "cleanedEndLine" : 738,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 783,
        "endLine" : 805,
        "cleanedStartLine" : 643,
        "cleanedEndLine" : 661,
        "percentage" : 2.4739583333333335,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 598,
        "endLine" : 620,
        "cleanedStartLine" : 496,
        "cleanedEndLine" : 514,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 620,
        "endLine" : 642,
        "cleanedStartLine" : 508,
        "cleanedEndLine" : 526,
        "percentage" : 2.4739583333333335,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 69,
        "endLine" : 91,
        "cleanedStartLine" : 54,
        "cleanedEndLine" : 72,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 95,
        "endLine" : 117,
        "cleanedStartLine" : 70,
        "cleanedEndLine" : 88,
        "percentage" : 2.4739583333333335,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 322,
        "endLine" : 344,
        "cleanedStartLine" : 266,
        "cleanedEndLine" : 284,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 457,
        "endLine" : 479,
        "cleanedStartLine" : 357,
        "cleanedEndLine" : 375,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 500,
        "endLine" : 522,
        "cleanedStartLine" : 408,
        "cleanedEndLine" : 426,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 532,
        "endLine" : 554,
        "cleanedStartLine" : 433,
        "cleanedEndLine" : 451,
        "percentage" : 2.4739583333333335,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 500,
        "endLine" : 522,
        "cleanedStartLine" : 408,
        "cleanedEndLine" : 426,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 643,
        "endLine" : 665,
        "cleanedStartLine" : 510,
        "cleanedEndLine" : 528,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 314,
        "endLine" : 336,
        "cleanedStartLine" : 255,
        "cleanedEndLine" : 273,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 457,
        "endLine" : 479,
        "cleanedStartLine" : 357,
        "cleanedEndLine" : 375,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 588,
        "endLine" : 610,
        "cleanedStartLine" : 483,
        "cleanedEndLine" : 501,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 620,
        "endLine" : 642,
        "cleanedStartLine" : 508,
        "cleanedEndLine" : 526,
        "percentage" : 2.4739583333333335,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 314,
        "endLine" : 336,
        "cleanedStartLine" : 255,
        "cleanedEndLine" : 273,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 346,
        "endLine" : 368,
        "cleanedStartLine" : 280,
        "cleanedEndLine" : 298,
        "percentage" : 2.4739583333333335,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 157,
        "endLine" : 179,
        "cleanedStartLine" : 129,
        "cleanedEndLine" : 147,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 294,
        "endLine" : 316,
        "cleanedStartLine" : 222,
        "cleanedEndLine" : 240,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/al.java",
          "extension" : "java",
          "linesOfCode" : 413,
          "unitsCount" : 13,
          "unitsMcCabeIndexSum" : 80,
          "linesOfCodeInUnits" : 393
        },
        "sourceFileCleanedLinesOfCode" : 347,
        "startLine" : 325,
        "endLine" : 347,
        "cleanedStartLine" : 240,
        "cleanedEndLine" : 258,
        "percentage" : 5.475504322766571,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/v.java",
          "extension" : "java",
          "linesOfCode" : 388,
          "unitsCount" : 6,
          "unitsMcCabeIndexSum" : 74,
          "linesOfCodeInUnits" : 382
        },
        "sourceFileCleanedLinesOfCode" : 331,
        "startLine" : 288,
        "endLine" : 310,
        "cleanedStartLine" : 224,
        "cleanedEndLine" : 242,
        "percentage" : 5.740181268882175,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 598,
        "endLine" : 620,
        "cleanedStartLine" : 496,
        "cleanedEndLine" : 514,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 731,
        "endLine" : 753,
        "cleanedStartLine" : 585,
        "cleanedEndLine" : 603,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 598,
        "endLine" : 620,
        "cleanedStartLine" : 496,
        "cleanedEndLine" : 514,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 588,
        "endLine" : 610,
        "cleanedStartLine" : 483,
        "cleanedEndLine" : 501,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "src/org/jetbrains/java/decompiler/util/FastFixedSetFactory.java",
          "extension" : "java",
          "linesOfCode" : 238,
          "unitsCount" : 27,
          "unitsMcCabeIndexSum" : 52,
          "linesOfCodeInUnits" : 194
        },
        "sourceFileCleanedLinesOfCode" : 175,
        "startLine" : 287,
        "endLine" : 315,
        "cleanedStartLine" : 157,
        "cleanedEndLine" : 175,
        "percentage" : 10.857142857142858,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "src/org/jetbrains/java/decompiler/util/FastSparseSetFactory.java",
          "extension" : "java",
          "linesOfCode" : 320,
          "unitsCount" : 27,
          "unitsMcCabeIndexSum" : 73,
          "linesOfCodeInUnits" : 262
        },
        "sourceFileCleanedLinesOfCode" : 236,
        "startLine" : 394,
        "endLine" : 422,
        "cleanedStartLine" : 218,
        "cleanedEndLine" : 236,
        "percentage" : 8.05084745762712,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 731,
        "endLine" : 753,
        "cleanedStartLine" : 585,
        "cleanedEndLine" : 603,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 620,
        "endLine" : 642,
        "cleanedStartLine" : 508,
        "cleanedEndLine" : 526,
        "percentage" : 2.4739583333333335,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 157,
        "endLine" : 179,
        "cleanedStartLine" : 129,
        "cleanedEndLine" : 147,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 151,
        "endLine" : 173,
        "cleanedStartLine" : 120,
        "cleanedEndLine" : 138,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 151,
        "endLine" : 173,
        "cleanedStartLine" : 120,
        "cleanedEndLine" : 138,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 183,
        "endLine" : 205,
        "cleanedStartLine" : 145,
        "cleanedEndLine" : 163,
        "percentage" : 2.4739583333333335,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/aw.java",
          "extension" : "java",
          "linesOfCode" : 334,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 62,
          "linesOfCodeInUnits" : 328
        },
        "sourceFileCleanedLinesOfCode" : 292,
        "startLine" : 227,
        "endLine" : 249,
        "cleanedStartLine" : 185,
        "cleanedEndLine" : 203,
        "percentage" : 6.506849315068493,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/v.java",
          "extension" : "java",
          "linesOfCode" : 388,
          "unitsCount" : 6,
          "unitsMcCabeIndexSum" : 74,
          "linesOfCodeInUnits" : 382
        },
        "sourceFileCleanedLinesOfCode" : 331,
        "startLine" : 288,
        "endLine" : 310,
        "cleanedStartLine" : 224,
        "cleanedEndLine" : 242,
        "percentage" : 5.740181268882175,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 763,
        "endLine" : 785,
        "cleanedStartLine" : 633,
        "cleanedEndLine" : 651,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 894,
        "endLine" : 916,
        "cleanedStartLine" : 720,
        "cleanedEndLine" : 738,
        "percentage" : 2.2485207100591715,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 763,
        "endLine" : 785,
        "cleanedStartLine" : 633,
        "cleanedEndLine" : 651,
        "percentage" : 2.5,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 751,
        "endLine" : 773,
        "cleanedStartLine" : 618,
        "cleanedEndLine" : 636,
        "percentage" : 2.557200538358008,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/al.java",
          "extension" : "java",
          "linesOfCode" : 413,
          "unitsCount" : 13,
          "unitsMcCabeIndexSum" : 80,
          "linesOfCodeInUnits" : 393
        },
        "sourceFileCleanedLinesOfCode" : 347,
        "startLine" : 162,
        "endLine" : 184,
        "cleanedStartLine" : 105,
        "cleanedEndLine" : 123,
        "percentage" : 5.475504322766571,
        "blockSize" : 19
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/aw.java",
          "extension" : "java",
          "linesOfCode" : 334,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 62,
          "linesOfCodeInUnits" : 328
        },
        "sourceFileCleanedLinesOfCode" : 292,
        "startLine" : 64,
        "endLine" : 86,
        "cleanedStartLine" : 50,
        "cleanedEndLine" : 68,
        "percentage" : 6.506849315068493,
        "blockSize" : 19
      } ],
      "blockSize" : 19
    } ],
    "mostFrequentDuplicates" : [ {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/al.java",
          "extension" : "java",
          "linesOfCode" : 413,
          "unitsCount" : 13,
          "unitsMcCabeIndexSum" : 80,
          "linesOfCodeInUnits" : 393
        },
        "sourceFileCleanedLinesOfCode" : 347,
        "startLine" : 167,
        "endLine" : 172,
        "cleanedStartLine" : 110,
        "cleanedEndLine" : 115,
        "percentage" : 1.7291066282420748,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/v.java",
          "extension" : "java",
          "linesOfCode" : 388,
          "unitsCount" : 6,
          "unitsMcCabeIndexSum" : 74,
          "linesOfCodeInUnits" : 382
        },
        "sourceFileCleanedLinesOfCode" : 331,
        "startLine" : 130,
        "endLine" : 135,
        "cleanedStartLine" : 94,
        "cleanedEndLine" : 99,
        "percentage" : 1.8126888217522659,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/aw.java",
          "extension" : "java",
          "linesOfCode" : 334,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 62,
          "linesOfCodeInUnits" : 328
        },
        "sourceFileCleanedLinesOfCode" : 292,
        "startLine" : 69,
        "endLine" : 74,
        "cleanedStartLine" : 55,
        "cleanedEndLine" : 60,
        "percentage" : 2.0547945205479454,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 690,
        "endLine" : 699,
        "cleanedStartLine" : 566,
        "cleanedEndLine" : 571,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 669,
        "endLine" : 678,
        "cleanedStartLine" : 555,
        "cleanedEndLine" : 560,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 658,
        "endLine" : 667,
        "cleanedStartLine" : 541,
        "cleanedEndLine" : 546,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 801,
        "endLine" : 810,
        "cleanedStartLine" : 643,
        "cleanedEndLine" : 648,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 407,
        "endLine" : 412,
        "cleanedStartLine" : 329,
        "cleanedEndLine" : 334,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 383,
        "endLine" : 388,
        "cleanedStartLine" : 315,
        "cleanedEndLine" : 320,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 375,
        "endLine" : 380,
        "cleanedStartLine" : 304,
        "cleanedEndLine" : 309,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 518,
        "endLine" : 523,
        "cleanedStartLine" : 406,
        "cleanedEndLine" : 411,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 187,
        "endLine" : 192,
        "cleanedStartLine" : 129,
        "cleanedEndLine" : 134,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 231,
        "endLine" : 236,
        "cleanedStartLine" : 168,
        "cleanedEndLine" : 173,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 275,
        "endLine" : 280,
        "cleanedStartLine" : 204,
        "cleanedEndLine" : 209,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 319,
        "endLine" : 324,
        "cleanedStartLine" : 243,
        "cleanedEndLine" : 248,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 377,
        "endLine" : 382,
        "cleanedStartLine" : 289,
        "cleanedEndLine" : 294,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 415,
        "endLine" : 420,
        "cleanedStartLine" : 319,
        "cleanedEndLine" : 324,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 440,
        "endLine" : 445,
        "cleanedStartLine" : 341,
        "cleanedEndLine" : 346,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 482,
        "endLine" : 487,
        "cleanedStartLine" : 378,
        "cleanedEndLine" : 383,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 540,
        "endLine" : 545,
        "cleanedStartLine" : 424,
        "cleanedEndLine" : 429,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 578,
        "endLine" : 583,
        "cleanedStartLine" : 454,
        "cleanedEndLine" : 459,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 601,
        "endLine" : 606,
        "cleanedStartLine" : 472,
        "cleanedEndLine" : 477,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 626,
        "endLine" : 631,
        "cleanedStartLine" : 494,
        "cleanedEndLine" : 499,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 668,
        "endLine" : 673,
        "cleanedStartLine" : 531,
        "cleanedEndLine" : 536,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 712,
        "endLine" : 717,
        "cleanedStartLine" : 567,
        "cleanedEndLine" : 572,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 756,
        "endLine" : 761,
        "cleanedStartLine" : 606,
        "cleanedEndLine" : 611,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 814,
        "endLine" : 819,
        "cleanedStartLine" : 652,
        "cleanedEndLine" : 657,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 852,
        "endLine" : 857,
        "cleanedStartLine" : 682,
        "cleanedEndLine" : 687,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 877,
        "endLine" : 882,
        "cleanedStartLine" : 704,
        "cleanedEndLine" : 709,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 919,
        "endLine" : 924,
        "cleanedStartLine" : 741,
        "cleanedEndLine" : 746,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 977,
        "endLine" : 982,
        "cleanedStartLine" : 787,
        "cleanedEndLine" : 792,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 1015,
        "endLine" : 1020,
        "cleanedStartLine" : 817,
        "cleanedEndLine" : 822,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/an.java",
          "extension" : "java",
          "linesOfCode" : 979,
          "unitsCount" : 10,
          "unitsMcCabeIndexSum" : 179,
          "linesOfCodeInUnits" : 951
        },
        "sourceFileCleanedLinesOfCode" : 849,
        "startLine" : 1038,
        "endLine" : 1043,
        "cleanedStartLine" : 835,
        "cleanedEndLine" : 840,
        "percentage" : 0.7067137809187279,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 845,
        "endLine" : 850,
        "cleanedStartLine" : 693,
        "cleanedEndLine" : 698,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 825,
        "endLine" : 830,
        "cleanedStartLine" : 683,
        "cleanedEndLine" : 688,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 813,
        "endLine" : 818,
        "cleanedStartLine" : 668,
        "cleanedEndLine" : 673,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 956,
        "endLine" : 961,
        "cleanedStartLine" : 770,
        "cleanedEndLine" : 775,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 223,
        "endLine" : 228,
        "cleanedStartLine" : 179,
        "cleanedEndLine" : 184,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 197,
        "endLine" : 202,
        "cleanedStartLine" : 163,
        "cleanedEndLine" : 168,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 191,
        "endLine" : 196,
        "cleanedStartLine" : 154,
        "cleanedEndLine" : 159,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 334,
        "endLine" : 339,
        "cleanedStartLine" : 256,
        "cleanedEndLine" : 261,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 416,
        "endLine" : 425,
        "cleanedStartLine" : 338,
        "cleanedEndLine" : 343,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 393,
        "endLine" : 402,
        "cleanedStartLine" : 325,
        "cleanedEndLine" : 330,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 384,
        "endLine" : 393,
        "cleanedStartLine" : 313,
        "cleanedEndLine" : 318,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 527,
        "endLine" : 536,
        "cleanedStartLine" : 415,
        "cleanedEndLine" : 420,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 78,
        "endLine" : 83,
        "cleanedStartLine" : 54,
        "cleanedEndLine" : 59,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 122,
        "endLine" : 127,
        "cleanedStartLine" : 93,
        "cleanedEndLine" : 98,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 166,
        "endLine" : 171,
        "cleanedStartLine" : 129,
        "cleanedEndLine" : 134,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 210,
        "endLine" : 215,
        "cleanedStartLine" : 168,
        "cleanedEndLine" : 173,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 268,
        "endLine" : 273,
        "cleanedStartLine" : 214,
        "cleanedEndLine" : 219,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 306,
        "endLine" : 311,
        "cleanedStartLine" : 244,
        "cleanedEndLine" : 249,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 331,
        "endLine" : 336,
        "cleanedStartLine" : 266,
        "cleanedEndLine" : 271,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 373,
        "endLine" : 378,
        "cleanedStartLine" : 303,
        "cleanedEndLine" : 308,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 431,
        "endLine" : 436,
        "cleanedStartLine" : 349,
        "cleanedEndLine" : 354,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 469,
        "endLine" : 474,
        "cleanedStartLine" : 379,
        "cleanedEndLine" : 384,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 492,
        "endLine" : 497,
        "cleanedStartLine" : 397,
        "cleanedEndLine" : 402,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 517,
        "endLine" : 522,
        "cleanedStartLine" : 419,
        "cleanedEndLine" : 424,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 559,
        "endLine" : 564,
        "cleanedStartLine" : 456,
        "cleanedEndLine" : 461,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 603,
        "endLine" : 608,
        "cleanedStartLine" : 492,
        "cleanedEndLine" : 497,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 647,
        "endLine" : 652,
        "cleanedStartLine" : 531,
        "cleanedEndLine" : 536,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 705,
        "endLine" : 710,
        "cleanedStartLine" : 577,
        "cleanedEndLine" : 582,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 743,
        "endLine" : 748,
        "cleanedStartLine" : 607,
        "cleanedEndLine" : 612,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 768,
        "endLine" : 773,
        "cleanedStartLine" : 629,
        "cleanedEndLine" : 634,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 810,
        "endLine" : 815,
        "cleanedStartLine" : 666,
        "cleanedEndLine" : 671,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 868,
        "endLine" : 873,
        "cleanedStartLine" : 712,
        "cleanedEndLine" : 717,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 906,
        "endLine" : 911,
        "cleanedStartLine" : 742,
        "cleanedEndLine" : 747,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 929,
        "endLine" : 934,
        "cleanedStartLine" : 760,
        "cleanedEndLine" : 765,
        "percentage" : 0.78125,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 419,
        "endLine" : 426,
        "cleanedStartLine" : 339,
        "cleanedEndLine" : 344,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 396,
        "endLine" : 403,
        "cleanedStartLine" : 326,
        "cleanedEndLine" : 331,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 387,
        "endLine" : 394,
        "cleanedStartLine" : 314,
        "cleanedEndLine" : 319,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 530,
        "endLine" : 537,
        "cleanedStartLine" : 416,
        "cleanedEndLine" : 421,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 240,
        "endLine" : 245,
        "cleanedStartLine" : 190,
        "cleanedEndLine" : 195,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 214,
        "endLine" : 219,
        "cleanedStartLine" : 174,
        "cleanedEndLine" : 179,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 208,
        "endLine" : 213,
        "cleanedStartLine" : 165,
        "cleanedEndLine" : 170,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 351,
        "endLine" : 356,
        "cleanedStartLine" : 267,
        "cleanedEndLine" : 272,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/r.java",
          "extension" : "java",
          "linesOfCode" : 152,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 141
        },
        "sourceFileCleanedLinesOfCode" : 126,
        "startLine" : 67,
        "endLine" : 74,
        "cleanedStartLine" : 45,
        "cleanedEndLine" : 50,
        "percentage" : 4.761904761904762,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/az.java",
          "extension" : "java",
          "linesOfCode" : 179,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 33,
          "linesOfCodeInUnits" : 164
        },
        "sourceFileCleanedLinesOfCode" : 142,
        "startLine" : 102,
        "endLine" : 109,
        "cleanedStartLine" : 63,
        "cleanedEndLine" : 68,
        "percentage" : 4.225352112676056,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 74,
        "endLine" : 81,
        "cleanedStartLine" : 49,
        "cleanedEndLine" : 54,
        "percentage" : 4.6875,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 69,
        "endLine" : 76,
        "cleanedStartLine" : 46,
        "cleanedEndLine" : 51,
        "percentage" : 4.8,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a7.java",
          "extension" : "java",
          "linesOfCode" : 125,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 119
        },
        "sourceFileCleanedLinesOfCode" : 107,
        "startLine" : 36,
        "endLine" : 43,
        "cleanedStartLine" : 28,
        "cleanedEndLine" : 33,
        "percentage" : 5.607476635514018,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a4.java",
          "extension" : "java",
          "linesOfCode" : 147,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 24,
          "linesOfCodeInUnits" : 136
        },
        "sourceFileCleanedLinesOfCode" : 124,
        "startLine" : 57,
        "endLine" : 64,
        "cleanedStartLine" : 41,
        "cleanedEndLine" : 46,
        "percentage" : 4.838709677419355,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/al.java",
          "extension" : "java",
          "linesOfCode" : 413,
          "unitsCount" : 13,
          "unitsMcCabeIndexSum" : 80,
          "linesOfCodeInUnits" : 393
        },
        "sourceFileCleanedLinesOfCode" : 347,
        "startLine" : 434,
        "endLine" : 443,
        "cleanedStartLine" : 329,
        "cleanedEndLine" : 334,
        "percentage" : 1.7291066282420748,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/v.java",
          "extension" : "java",
          "linesOfCode" : 388,
          "unitsCount" : 6,
          "unitsMcCabeIndexSum" : 74,
          "linesOfCodeInUnits" : 382
        },
        "sourceFileCleanedLinesOfCode" : 331,
        "startLine" : 397,
        "endLine" : 406,
        "cleanedStartLine" : 313,
        "cleanedEndLine" : 318,
        "percentage" : 1.8126888217522659,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/aw.java",
          "extension" : "java",
          "linesOfCode" : 334,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 62,
          "linesOfCodeInUnits" : 328
        },
        "sourceFileCleanedLinesOfCode" : 292,
        "startLine" : 336,
        "endLine" : 345,
        "cleanedStartLine" : 274,
        "cleanedEndLine" : 279,
        "percentage" : 2.0547945205479454,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/r.java",
          "extension" : "java",
          "linesOfCode" : 152,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 141
        },
        "sourceFileCleanedLinesOfCode" : 126,
        "startLine" : 59,
        "endLine" : 64,
        "cleanedStartLine" : 39,
        "cleanedEndLine" : 44,
        "percentage" : 4.761904761904762,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/az.java",
          "extension" : "java",
          "linesOfCode" : 179,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 33,
          "linesOfCodeInUnits" : 164
        },
        "sourceFileCleanedLinesOfCode" : 142,
        "startLine" : 94,
        "endLine" : 99,
        "cleanedStartLine" : 57,
        "cleanedEndLine" : 62,
        "percentage" : 4.225352112676056,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 66,
        "endLine" : 71,
        "cleanedStartLine" : 43,
        "cleanedEndLine" : 48,
        "percentage" : 4.6875,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 61,
        "endLine" : 66,
        "cleanedStartLine" : 40,
        "cleanedEndLine" : 45,
        "percentage" : 4.8,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a7.java",
          "extension" : "java",
          "linesOfCode" : 125,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 119
        },
        "sourceFileCleanedLinesOfCode" : 107,
        "startLine" : 28,
        "endLine" : 33,
        "cleanedStartLine" : 22,
        "cleanedEndLine" : 27,
        "percentage" : 5.607476635514018,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a4.java",
          "extension" : "java",
          "linesOfCode" : 147,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 24,
          "linesOfCodeInUnits" : 136
        },
        "sourceFileCleanedLinesOfCode" : 124,
        "startLine" : 49,
        "endLine" : 54,
        "cleanedStartLine" : 35,
        "cleanedEndLine" : 40,
        "percentage" : 4.838709677419355,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 387,
        "endLine" : 394,
        "cleanedStartLine" : 315,
        "cleanedEndLine" : 320,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 363,
        "endLine" : 370,
        "cleanedStartLine" : 301,
        "cleanedEndLine" : 306,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 355,
        "endLine" : 362,
        "cleanedStartLine" : 290,
        "cleanedEndLine" : 295,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 498,
        "endLine" : 505,
        "cleanedStartLine" : 392,
        "cleanedEndLine" : 397,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/al.java",
          "extension" : "java",
          "linesOfCode" : 413,
          "unitsCount" : 13,
          "unitsMcCabeIndexSum" : 80,
          "linesOfCodeInUnits" : 393
        },
        "sourceFileCleanedLinesOfCode" : 347,
        "startLine" : 430,
        "endLine" : 441,
        "cleanedStartLine" : 327,
        "cleanedEndLine" : 332,
        "percentage" : 1.7291066282420748,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/v.java",
          "extension" : "java",
          "linesOfCode" : 388,
          "unitsCount" : 6,
          "unitsMcCabeIndexSum" : 74,
          "linesOfCodeInUnits" : 382
        },
        "sourceFileCleanedLinesOfCode" : 331,
        "startLine" : 393,
        "endLine" : 404,
        "cleanedStartLine" : 311,
        "cleanedEndLine" : 316,
        "percentage" : 1.8126888217522659,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/aw.java",
          "extension" : "java",
          "linesOfCode" : 334,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 62,
          "linesOfCodeInUnits" : 328
        },
        "sourceFileCleanedLinesOfCode" : 292,
        "startLine" : 332,
        "endLine" : 343,
        "cleanedStartLine" : 272,
        "cleanedEndLine" : 277,
        "percentage" : 2.0547945205479454,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 189,
        "endLine" : 194,
        "cleanedStartLine" : 131,
        "cleanedEndLine" : 136,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 233,
        "endLine" : 238,
        "cleanedStartLine" : 170,
        "cleanedEndLine" : 175,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 277,
        "endLine" : 282,
        "cleanedStartLine" : 206,
        "cleanedEndLine" : 211,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 321,
        "endLine" : 326,
        "cleanedStartLine" : 245,
        "cleanedEndLine" : 250,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 379,
        "endLine" : 384,
        "cleanedStartLine" : 291,
        "cleanedEndLine" : 296,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 417,
        "endLine" : 422,
        "cleanedStartLine" : 321,
        "cleanedEndLine" : 326,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 442,
        "endLine" : 447,
        "cleanedStartLine" : 343,
        "cleanedEndLine" : 348,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 484,
        "endLine" : 489,
        "cleanedStartLine" : 380,
        "cleanedEndLine" : 385,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 542,
        "endLine" : 547,
        "cleanedStartLine" : 426,
        "cleanedEndLine" : 431,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 580,
        "endLine" : 585,
        "cleanedStartLine" : 456,
        "cleanedEndLine" : 461,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 603,
        "endLine" : 608,
        "cleanedStartLine" : 474,
        "cleanedEndLine" : 479,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 628,
        "endLine" : 633,
        "cleanedStartLine" : 496,
        "cleanedEndLine" : 501,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 670,
        "endLine" : 675,
        "cleanedStartLine" : 533,
        "cleanedEndLine" : 538,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 714,
        "endLine" : 719,
        "cleanedStartLine" : 569,
        "cleanedEndLine" : 574,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 758,
        "endLine" : 763,
        "cleanedStartLine" : 608,
        "cleanedEndLine" : 613,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 816,
        "endLine" : 821,
        "cleanedStartLine" : 654,
        "cleanedEndLine" : 659,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 854,
        "endLine" : 859,
        "cleanedStartLine" : 684,
        "cleanedEndLine" : 689,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 879,
        "endLine" : 884,
        "cleanedStartLine" : 706,
        "cleanedEndLine" : 711,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 921,
        "endLine" : 926,
        "cleanedStartLine" : 743,
        "cleanedEndLine" : 748,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 979,
        "endLine" : 984,
        "cleanedStartLine" : 789,
        "cleanedEndLine" : 794,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 1017,
        "endLine" : 1022,
        "cleanedStartLine" : 819,
        "cleanedEndLine" : 824,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 1040,
        "endLine" : 1045,
        "cleanedStartLine" : 837,
        "cleanedEndLine" : 842,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/r.java",
          "extension" : "java",
          "linesOfCode" : 152,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 141
        },
        "sourceFileCleanedLinesOfCode" : 126,
        "startLine" : 54,
        "endLine" : 59,
        "cleanedStartLine" : 34,
        "cleanedEndLine" : 39,
        "percentage" : 4.761904761904762,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/az.java",
          "extension" : "java",
          "linesOfCode" : 179,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 33,
          "linesOfCodeInUnits" : 164
        },
        "sourceFileCleanedLinesOfCode" : 142,
        "startLine" : 89,
        "endLine" : 94,
        "cleanedStartLine" : 52,
        "cleanedEndLine" : 57,
        "percentage" : 4.225352112676056,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 61,
        "endLine" : 66,
        "cleanedStartLine" : 38,
        "cleanedEndLine" : 43,
        "percentage" : 4.6875,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 56,
        "endLine" : 61,
        "cleanedStartLine" : 35,
        "cleanedEndLine" : 40,
        "percentage" : 4.8,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a7.java",
          "extension" : "java",
          "linesOfCode" : 125,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 119
        },
        "sourceFileCleanedLinesOfCode" : 107,
        "startLine" : 23,
        "endLine" : 28,
        "cleanedStartLine" : 17,
        "cleanedEndLine" : 22,
        "percentage" : 5.607476635514018,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a4.java",
          "extension" : "java",
          "linesOfCode" : 147,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 24,
          "linesOfCodeInUnits" : 136
        },
        "sourceFileCleanedLinesOfCode" : 124,
        "startLine" : 44,
        "endLine" : 49,
        "cleanedStartLine" : 30,
        "cleanedEndLine" : 35,
        "percentage" : 4.838709677419355,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/al.java",
          "extension" : "java",
          "linesOfCode" : 413,
          "unitsCount" : 13,
          "unitsMcCabeIndexSum" : 80,
          "linesOfCodeInUnits" : 393
        },
        "sourceFileCleanedLinesOfCode" : 347,
        "startLine" : 388,
        "endLine" : 393,
        "cleanedStartLine" : 291,
        "cleanedEndLine" : 296,
        "percentage" : 1.7291066282420748,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/v.java",
          "extension" : "java",
          "linesOfCode" : 388,
          "unitsCount" : 6,
          "unitsMcCabeIndexSum" : 74,
          "linesOfCodeInUnits" : 382
        },
        "sourceFileCleanedLinesOfCode" : 331,
        "startLine" : 351,
        "endLine" : 356,
        "cleanedStartLine" : 275,
        "cleanedEndLine" : 280,
        "percentage" : 1.8126888217522659,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/aw.java",
          "extension" : "java",
          "linesOfCode" : 334,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 62,
          "linesOfCodeInUnits" : 328
        },
        "sourceFileCleanedLinesOfCode" : 292,
        "startLine" : 290,
        "endLine" : 295,
        "cleanedStartLine" : 236,
        "cleanedEndLine" : 241,
        "percentage" : 2.0547945205479454,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchGuarded2Javac.java",
          "extension" : "java",
          "linesOfCode" : 111,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 32,
          "linesOfCodeInUnits" : 108
        },
        "sourceFileCleanedLinesOfCode" : 77,
        "startLine" : 32,
        "endLine" : 39,
        "cleanedStartLine" : 22,
        "cleanedEndLine" : 27,
        "percentage" : 7.792207792207792,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchGuarded2Javac.java",
          "extension" : "java",
          "linesOfCode" : 111,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 32,
          "linesOfCodeInUnits" : 108
        },
        "sourceFileCleanedLinesOfCode" : 77,
        "startLine" : 52,
        "endLine" : 59,
        "cleanedStartLine" : 36,
        "cleanedEndLine" : 41,
        "percentage" : 7.792207792207792,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/src/pkg/TestSwitchGuarded2Javac.java",
          "extension" : "java",
          "linesOfCode" : 111,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 32,
          "linesOfCodeInUnits" : 108
        },
        "sourceFileCleanedLinesOfCode" : 77,
        "startLine" : 101,
        "endLine" : 108,
        "cleanedStartLine" : 68,
        "cleanedEndLine" : 73,
        "percentage" : 7.792207792207792,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 534,
        "endLine" : 539,
        "cleanedStartLine" : 435,
        "cleanedEndLine" : 440,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 512,
        "endLine" : 517,
        "cleanedStartLine" : 423,
        "cleanedEndLine" : 428,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 502,
        "endLine" : 507,
        "cleanedStartLine" : 410,
        "cleanedEndLine" : 415,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 645,
        "endLine" : 650,
        "cleanedStartLine" : 512,
        "cleanedEndLine" : 517,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 50,
        "endLine" : 56,
        "cleanedStartLine" : 33,
        "cleanedEndLine" : 38,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 138,
        "endLine" : 144,
        "cleanedStartLine" : 108,
        "cleanedEndLine" : 113,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 303,
        "endLine" : 309,
        "cleanedStartLine" : 245,
        "cleanedEndLine" : 250,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 489,
        "endLine" : 495,
        "cleanedStartLine" : 398,
        "cleanedEndLine" : 403,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 575,
        "endLine" : 581,
        "cleanedStartLine" : 471,
        "cleanedEndLine" : 476,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 740,
        "endLine" : 746,
        "cleanedStartLine" : 608,
        "cleanedEndLine" : 613,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 100,
        "endLine" : 105,
        "cleanedStartLine" : 75,
        "cleanedEndLine" : 80,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 74,
        "endLine" : 79,
        "cleanedStartLine" : 59,
        "cleanedEndLine" : 64,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 68,
        "endLine" : 73,
        "cleanedStartLine" : 50,
        "cleanedEndLine" : 55,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 211,
        "endLine" : 216,
        "cleanedStartLine" : 152,
        "cleanedEndLine" : 157,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/r.java",
          "extension" : "java",
          "linesOfCode" : 152,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 27,
          "linesOfCodeInUnits" : 141
        },
        "sourceFileCleanedLinesOfCode" : 126,
        "startLine" : 128,
        "endLine" : 135,
        "cleanedStartLine" : 94,
        "cleanedEndLine" : 99,
        "percentage" : 4.761904761904762,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/o.java",
          "extension" : "java",
          "linesOfCode" : 377,
          "unitsCount" : 28,
          "unitsMcCabeIndexSum" : 87,
          "linesOfCodeInUnits" : 349
        },
        "sourceFileCleanedLinesOfCode" : 286,
        "startLine" : 414,
        "endLine" : 421,
        "cleanedStartLine" : 256,
        "cleanedEndLine" : 261,
        "percentage" : 2.097902097902098,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a7.java",
          "extension" : "java",
          "linesOfCode" : 125,
          "unitsCount" : 2,
          "unitsMcCabeIndexSum" : 20,
          "linesOfCodeInUnits" : 119
        },
        "sourceFileCleanedLinesOfCode" : 107,
        "startLine" : 96,
        "endLine" : 103,
        "cleanedStartLine" : 76,
        "cleanedEndLine" : 81,
        "percentage" : 5.607476635514018,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/az.java",
          "extension" : "java",
          "linesOfCode" : 179,
          "unitsCount" : 11,
          "unitsMcCabeIndexSum" : 33,
          "linesOfCodeInUnits" : 164
        },
        "sourceFileCleanedLinesOfCode" : 142,
        "startLine" : 162,
        "endLine" : 169,
        "cleanedStartLine" : 111,
        "cleanedEndLine" : 116,
        "percentage" : 4.225352112676056,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ba.java",
          "extension" : "java",
          "linesOfCode" : 154,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 26,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 128,
        "startLine" : 134,
        "endLine" : 141,
        "cleanedStartLine" : 97,
        "cleanedEndLine" : 102,
        "percentage" : 4.6875,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/ax.java",
          "extension" : "java",
          "linesOfCode" : 150,
          "unitsCount" : 8,
          "unitsMcCabeIndexSum" : 28,
          "linesOfCodeInUnits" : 145
        },
        "sourceFileCleanedLinesOfCode" : 125,
        "startLine" : 129,
        "endLine" : 136,
        "cleanedStartLine" : 94,
        "cleanedEndLine" : 99,
        "percentage" : 4.8,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a4.java",
          "extension" : "java",
          "linesOfCode" : 147,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 24,
          "linesOfCodeInUnits" : 136
        },
        "sourceFileCleanedLinesOfCode" : 124,
        "startLine" : 119,
        "endLine" : 126,
        "cleanedStartLine" : 91,
        "cleanedEndLine" : 96,
        "percentage" : 4.838709677419355,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 385,
        "endLine" : 390,
        "cleanedStartLine" : 313,
        "cleanedEndLine" : 318,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 361,
        "endLine" : 366,
        "cleanedStartLine" : 299,
        "cleanedEndLine" : 304,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 353,
        "endLine" : 358,
        "cleanedStartLine" : 288,
        "cleanedEndLine" : 293,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 496,
        "endLine" : 501,
        "cleanedStartLine" : 390,
        "cleanedEndLine" : 395,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 154,
        "endLine" : 159,
        "cleanedStartLine" : 117,
        "cleanedEndLine" : 122,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 128,
        "endLine" : 133,
        "cleanedStartLine" : 101,
        "cleanedEndLine" : 106,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 122,
        "endLine" : 127,
        "cleanedStartLine" : 92,
        "cleanedEndLine" : 97,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 265,
        "endLine" : 270,
        "cleanedStartLine" : 194,
        "cleanedEndLine" : 199,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/al.java",
          "extension" : "java",
          "linesOfCode" : 413,
          "unitsCount" : 13,
          "unitsMcCabeIndexSum" : 80,
          "linesOfCodeInUnits" : 393
        },
        "sourceFileCleanedLinesOfCode" : 347,
        "startLine" : 225,
        "endLine" : 230,
        "cleanedStartLine" : 156,
        "cleanedEndLine" : 161,
        "percentage" : 1.7291066282420748,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/v.java",
          "extension" : "java",
          "linesOfCode" : 388,
          "unitsCount" : 6,
          "unitsMcCabeIndexSum" : 74,
          "linesOfCodeInUnits" : 382
        },
        "sourceFileCleanedLinesOfCode" : 331,
        "startLine" : 188,
        "endLine" : 193,
        "cleanedStartLine" : 140,
        "cleanedEndLine" : 145,
        "percentage" : 1.8126888217522659,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/aw.java",
          "extension" : "java",
          "linesOfCode" : 334,
          "unitsCount" : 5,
          "unitsMcCabeIndexSum" : 62,
          "linesOfCodeInUnits" : 328
        },
        "sourceFileCleanedLinesOfCode" : 292,
        "startLine" : 127,
        "endLine" : 132,
        "cleanedStartLine" : 101,
        "cleanedEndLine" : 106,
        "percentage" : 2.0547945205479454,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    }, {
      "displayContent" : "",
      "duplicatedFileBlocks" : [ {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/s.java",
          "extension" : "java",
          "linesOfCode" : 876,
          "unitsCount" : 7,
          "unitsMcCabeIndexSum" : 165,
          "linesOfCodeInUnits" : 867
        },
        "sourceFileCleanedLinesOfCode" : 768,
        "startLine" : 351,
        "endLine" : 356,
        "cleanedStartLine" : 285,
        "cleanedEndLine" : 290,
        "percentage" : 0.78125,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/a5.java",
          "extension" : "java",
          "linesOfCode" : 862,
          "unitsCount" : 3,
          "unitsMcCabeIndexSum" : 159,
          "linesOfCodeInUnits" : 856
        },
        "sourceFileCleanedLinesOfCode" : 760,
        "startLine" : 327,
        "endLine" : 332,
        "cleanedStartLine" : 271,
        "cleanedEndLine" : 276,
        "percentage" : 0.7894736842105263,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/bb.java",
          "extension" : "java",
          "linesOfCode" : 848,
          "unitsCount" : 4,
          "unitsMcCabeIndexSum" : 157,
          "linesOfCodeInUnits" : 837
        },
        "sourceFileCleanedLinesOfCode" : 743,
        "startLine" : 319,
        "endLine" : 324,
        "cleanedStartLine" : 260,
        "cleanedEndLine" : 265,
        "percentage" : 0.8075370121130552,
        "blockSize" : 6
      }, {
        "sourceFile" : {
          "relativePath" : "testData/obfuscated/p.java",
          "extension" : "java",
          "linesOfCode" : 972,
          "unitsCount" : 9,
          "unitsMcCabeIndexSum" : 178,
          "linesOfCodeInUnits" : 958
        },
        "sourceFileCleanedLinesOfCode" : 845,
        "startLine" : 462,
        "endLine" : 467,
        "cleanedStartLine" : 362,
        "cleanedEndLine" : 367,
        "percentage" : 0.7100591715976331,
        "blockSize" : 6
      } ],
      "blockSize" : 6
    } ]
  },
  "contributorsAnalysisResults" : {
    "latestCommitDate" : "2025-12-22",
    "contributors" : [ {
      "email" : "roman.shevchenko@jetbrains.com",
      "userName" : "Roman Shevchenko",
      "commitsCount" : 223,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2014-05-19",
      "latestCommitDate" : "2025-01-10",
      "activeYears" : [ "2014", "2015", "2016", "2017", "2018", "2019", "2021", "2022", "2024", "2025" ],
      "commitDates" : [ "2025-01-10", "2024-11-05", "2024-04-03", "2022-09-01", "2022-06-27", "2022-03-31", "2021-11-25", "2021-11-24", "2021-04-20", "2021-02-17", "2021-02-12", "2021-02-11", "2021-01-18", "2019-07-15", "2019-04-10", "2018-12-17", "2018-10-24", "2018-10-23", "2018-10-19", "2018-09-28", "2018-08-10", "2018-03-08", "2018-03-07", "2018-03-06", "2018-01-31", "2018-01-11", "2017-12-08", "2017-12-07", "2017-12-06", "2017-12-05", "2017-12-04", "2017-12-01", "2017-11-28", "2017-09-27", "2017-06-08", "2016-08-01", "2016-05-30", "2016-05-20", "2016-04-21", "2016-04-20", "2016-04-11", "2016-03-21", "2016-03-18", "2016-03-16", "2016-03-04", "2016-03-03", "2016-03-01", "2016-01-27", "2015-12-28", "2015-11-11", "2015-11-10", "2015-11-09", "2015-09-07", "2015-06-29", "2015-03-10", "2015-02-18", "2015-02-17", "2014-11-12", "2014-11-10", "2014-11-05", "2014-11-04", "2014-10-24", "2014-10-17", "2014-10-16", "2014-10-14", "2014-10-09", "2014-10-08", "2014-10-07", "2014-10-06", "2014-10-02", "2014-09-29", "2014-09-16", "2014-09-12", "2014-09-11", "2014-09-09", "2014-09-07", "2014-09-05", "2014-09-04", "2014-09-03", "2014-09-02", "2014-09-01", "2014-08-31", "2014-08-29", "2014-08-28", "2014-07-18", "2014-07-03", "2014-06-30", "2014-06-27", "2014-06-26", "2014-06-25", "2014-06-24", "2014-06-23", "2014-06-20", "2014-05-30", "2014-05-29", "2014-05-28", "2014-05-27", "2014-05-26", "2014-05-24", "2014-05-21", "2014-05-20", "2014-05-19" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "egor.ushakov@jetbrains.com",
      "userName" : "Egor Ushakov",
      "commitsCount" : 136,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2014-10-05",
      "latestCommitDate" : "2019-03-06",
      "activeYears" : [ "2014", "2015", "2016", "2017", "2018", "2019" ],
      "commitDates" : [ "2019-03-06", "2018-12-18", "2018-12-17", "2018-12-14", "2018-09-27", "2018-09-12", "2018-05-21", "2018-05-17", "2018-04-27", "2018-02-16", "2018-01-11", "2018-01-10", "2017-10-25", "2017-05-10", "2017-05-05", "2017-05-04", "2017-05-03", "2017-04-28", "2017-04-27", "2017-04-26", "2017-04-25", "2017-04-24", "2017-04-21", "2017-04-20", "2017-04-13", "2017-04-04", "2017-04-03", "2017-02-07", "2017-01-23", "2017-01-17", "2017-01-13", "2017-01-12", "2017-01-11", "2017-01-10", "2017-01-09", "2016-10-14", "2016-05-26", "2016-03-29", "2016-03-28", "2016-03-02", "2016-03-01", "2016-02-29", "2015-05-18", "2015-04-14", "2015-03-27", "2015-03-26", "2015-03-25", "2015-03-24", "2015-03-02", "2015-01-26", "2015-01-22", "2015-01-21", "2015-01-20", "2015-01-16", "2015-01-15", "2015-01-14", "2014-12-31", "2014-12-26", "2014-12-25", "2014-12-24", "2014-10-22", "2014-10-21", "2014-10-20", "2014-10-17", "2014-10-15", "2014-10-13", "2014-10-10", "2014-10-08", "2014-10-07", "2014-10-05" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "mikhail.pyltsin@jetbrains.com",
      "userName" : "Mikhail Pyltsin",
      "commitsCount" : 113,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 2,
      "commitsCount180Days" : 5,
      "commitsCount365Days" : 10,
      "firstCommitDate" : "2023-06-06",
      "latestCommitDate" : "2025-11-25",
      "activeYears" : [ "2023", "2024", "2025" ],
      "commitDates" : [ "2025-11-25", "2025-10-07", "2025-09-29", "2025-09-26", "2025-05-13", "2025-05-12", "2025-02-26", "2025-01-27", "2025-01-21", "2024-12-12", "2024-12-06", "2024-12-02", "2024-11-25", "2024-11-21", "2024-11-13", "2024-11-12", "2024-11-04", "2024-10-23", "2024-10-09", "2024-10-03", "2024-09-27", "2024-09-26", "2024-09-25", "2024-09-16", "2024-09-13", "2024-09-12", "2024-09-11", "2024-09-10", "2024-09-09", "2024-08-29", "2024-08-28", "2024-09-06", "2024-09-05", "2024-09-02", "2024-08-30", "2024-08-27", "2024-08-23", "2024-06-18", "2024-06-07", "2024-05-30", "2024-05-22", "2024-03-11", "2023-12-04", "2023-11-27", "2023-11-16", "2023-11-15", "2023-11-14", "2023-11-13", "2023-11-07", "2023-10-30", "2023-10-27", "2023-10-31", "2023-10-24", "2023-08-02", "2023-06-28", "2023-06-18", "2023-06-16", "2023-06-15", "2023-06-14", "2023-06-13", "2023-06-06" ],
      "bot" : false,
      "active" : true,
      "rookie" : false
    }, {
      "email" : "bart.vanhelvert@jetbrains.com",
      "userName" : "Bart van Helvert",
      "commitsCount" : 65,
      "commitsCount30Days" : 1,
      "commitsCount90Days" : 1,
      "commitsCount180Days" : 1,
      "commitsCount365Days" : 2,
      "firstCommitDate" : "2021-12-09",
      "latestCommitDate" : "2025-12-22",
      "activeYears" : [ "2021", "2022", "2023", "2025" ],
      "commitDates" : [ "2025-12-22", "2025-03-03", "2023-10-03", "2023-03-25", "2022-12-02", "2022-08-15", "2022-08-11", "2022-03-30", "2022-02-21", "2022-02-06", "2022-02-03", "2022-02-02", "2022-02-01", "2022-01-31", "2022-01-27", "2022-01-26", "2022-01-24", "2022-01-23", "2022-01-19", "2022-01-17", "2022-01-12", "2022-01-11", "2022-01-10", "2022-01-06", "2022-01-05", "2022-01-04", "2021-12-31", "2021-12-30", "2021-12-29", "2021-12-22", "2021-12-20", "2021-12-17", "2021-12-16", "2021-12-15", "2021-12-13", "2021-12-10", "2021-12-09" ],
      "bot" : false,
      "active" : true,
      "rookie" : false
    }, {
      "email" : "tagir.valeev@jetbrains.com",
      "userName" : "Tagir Valeev",
      "commitsCount" : 43,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 1,
      "commitsCount365Days" : 1,
      "firstCommitDate" : "2016-09-09",
      "latestCommitDate" : "2025-09-10",
      "activeYears" : [ "2016", "2017", "2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025" ],
      "commitDates" : [ "2025-09-10", "2024-11-29", "2024-07-05", "2024-06-20", "2023-10-21", "2023-10-19", "2023-07-18", "2023-07-17", "2023-06-13", "2023-02-07", "2022-12-05", "2022-09-23", "2022-09-16", "2022-09-15", "2022-09-13", "2022-07-04", "2022-06-20", "2022-02-17", "2022-01-14", "2021-10-01", "2021-04-13", "2021-04-05", "2020-12-02", "2020-08-07", "2020-08-06", "2020-07-29", "2020-05-14", "2020-05-13", "2020-04-22", "2019-07-25", "2019-01-17", "2018-10-08", "2018-10-01", "2018-09-05", "2018-03-14", "2018-03-01", "2018-01-10", "2017-09-27", "2017-04-13", "2016-09-09" ],
      "bot" : false,
      "active" : true,
      "rookie" : false
    }, {
      "email" : "stiver.mail@gmail.com",
      "userName" : "Stiver",
      "commitsCount" : 40,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2014-03-04",
      "latestCommitDate" : "2015-03-08",
      "activeYears" : [ "2014", "2015" ],
      "commitDates" : [ "2015-03-08", "2015-03-04", "2015-03-01", "2015-02-16", "2014-10-16", "2014-10-15", "2014-10-07", "2014-10-06", "2014-10-01", "2014-09-28", "2014-08-20", "2014-08-17", "2014-08-16", "2014-08-15", "2014-08-13", "2014-08-09", "2014-08-04", "2014-07-28", "2014-07-23", "2014-07-21", "2014-07-08", "2014-06-11", "2014-06-01", "2014-05-29", "2014-04-01", "2014-03-27", "2014-03-26", "2014-03-13", "2014-03-04" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "ilyas.selimov@jetbrains.com",
      "userName" : "Ilyas Selimov",
      "commitsCount" : 22,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2021-12-09",
      "latestCommitDate" : "2022-02-04",
      "activeYears" : [ "2021", "2022" ],
      "commitDates" : [ "2022-02-04", "2022-01-28", "2022-01-19", "2022-01-17", "2022-01-14", "2022-01-10", "2021-12-30", "2021-12-28", "2021-12-27", "2021-12-24", "2021-12-22", "2021-12-15", "2021-12-09" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "lexmanos@gmail.com",
      "userName" : "LexManos",
      "commitsCount" : 21,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2024-08-22",
      "latestCommitDate" : "2024-09-11",
      "activeYears" : [ "2024" ],
      "commitDates" : [ "2024-09-10", "2024-09-09", "2024-09-06", "2024-09-05", "2024-09-02", "2024-08-30", "2024-08-27", "2024-08-29", "2024-08-23", "2024-08-22", "2024-09-11" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "vladimir.krivosheev@jetbrains.com",
      "userName" : "Vladimir Krivosheev",
      "commitsCount" : 16,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 1,
      "firstCommitDate" : "2015-08-24",
      "latestCommitDate" : "2025-05-08",
      "activeYears" : [ "2015", "2016", "2018", "2020", "2021", "2022", "2024", "2025" ],
      "commitDates" : [ "2025-05-08", "2024-12-27", "2024-12-26", "2024-11-27", "2024-11-11", "2022-12-30", "2021-04-12", "2020-11-02", "2020-06-26", "2020-01-21", "2018-08-14", "2016-12-09", "2016-07-26", "2015-08-24" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "d.cherniachenko@gmail.com",
      "userName" : "Dmitry Cherniachenko",
      "commitsCount" : 13,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2017-04-13",
      "latestCommitDate" : "2017-06-23",
      "activeYears" : [ "2017" ],
      "commitDates" : [ "2017-06-23", "2017-05-11", "2017-05-01", "2017-04-20", "2017-04-21", "2017-04-19", "2017-04-18", "2017-04-13" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "mdegtyarev@gmail.com",
      "userName" : "Maxim Degtyarev",
      "commitsCount" : 9,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2017-10-15",
      "latestCommitDate" : "2021-11-25",
      "activeYears" : [ "2017", "2018", "2020", "2021" ],
      "commitDates" : [ "2021-11-25", "2021-11-24", "2021-04-15", "2020-12-18", "2018-04-27", "2018-01-23", "2017-10-18", "2017-10-15" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "anna.kozlova@jetbrains.com",
      "userName" : "Anna Kozlova",
      "commitsCount" : 9,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2015-03-16",
      "latestCommitDate" : "2021-01-16",
      "activeYears" : [ "2015", "2016", "2018", "2019", "2020", "2021" ],
      "commitDates" : [ "2021-01-16", "2020-06-05", "2019-06-12", "2018-10-04", "2016-08-08", "2016-07-22", "2016-05-24", "2016-05-18", "2015-03-16" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "bartek.pacia@jetbrains.com",
      "userName" : "Bartek Pacia",
      "commitsCount" : 8,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 3,
      "commitsCount365Days" : 4,
      "firstCommitDate" : "2024-10-14",
      "latestCommitDate" : "2025-09-27",
      "activeYears" : [ "2024", "2025" ],
      "commitDates" : [ "2025-09-27", "2025-09-25", "2025-04-29", "2024-12-04", "2024-12-17", "2024-11-22", "2024-10-14" ],
      "bot" : false,
      "active" : true,
      "rookie" : false
    }, {
      "email" : "cdr@intellij.com",
      "userName" : "Alexey Kudravtsev",
      "commitsCount" : 8,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2015-06-05",
      "latestCommitDate" : "2020-11-12",
      "activeYears" : [ "2015", "2018", "2019", "2020" ],
      "commitDates" : [ "2020-11-12", "2019-05-13", "2019-01-23", "2018-10-02", "2018-10-01", "2018-06-17", "2018-01-18", "2015-06-05" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "upnotes@example.com",
      "userName" : "upnotes",
      "commitsCount" : 8,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2018-08-10",
      "latestCommitDate" : "2018-10-03",
      "activeYears" : [ "2018" ],
      "commitDates" : [ "2018-10-03", "2018-09-28", "2018-08-10" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "jrd2558@gmail.com",
      "userName" : "JDLogic",
      "commitsCount" : 7,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2018-09-11",
      "latestCommitDate" : "2024-09-09",
      "activeYears" : [ "2018", "2024" ],
      "commitDates" : [ "2024-09-09", "2024-09-06", "2024-09-05", "2018-09-11" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "contact@apixandru.com",
      "userName" : "Alexandru-Constantin Bledea",
      "commitsCount" : 6,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2016-03-07",
      "latestCommitDate" : "2017-10-25",
      "activeYears" : [ "2016", "2017" ],
      "commitDates" : [ "2017-10-25", "2017-08-30", "2016-03-19", "2016-03-17", "2016-03-07" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "nikolay.chashnikov@jetbrains.com",
      "userName" : "Nikolay Chashnikov",
      "commitsCount" : 5,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2016-09-13",
      "latestCommitDate" : "2023-02-06",
      "activeYears" : [ "2016", "2018", "2021", "2023" ],
      "commitDates" : [ "2023-02-06", "2021-01-15", "2018-09-06", "2018-01-23", "2016-09-13" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "intermediatelanguage@gmail.com",
      "userName" : "Christopher Carpenter",
      "commitsCount" : 5,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2016-01-21",
      "latestCommitDate" : "2016-03-14",
      "activeYears" : [ "2016" ],
      "commitDates" : [ "2016-03-14", "2016-02-03", "2016-01-21" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "ilia.kirianovskii@jetbrains.com",
      "userName" : "Ilia Kirianovskii",
      "commitsCount" : 3,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 3,
      "commitsCount365Days" : 3,
      "firstCommitDate" : "2025-08-19",
      "latestCommitDate" : "2025-09-28",
      "activeYears" : [ "2025" ],
      "commitDates" : [ "2025-09-28", "2025-09-22", "2025-08-19" ],
      "bot" : false,
      "active" : true,
      "rookie" : true
    }, {
      "email" : "25208576+supercoder7979@users.noreply.github.com",
      "userName" : "SuperCoder79",
      "commitsCount" : 3,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2024-08-28",
      "latestCommitDate" : "2024-09-10",
      "activeYears" : [ "2024" ],
      "commitDates" : [ "2024-09-10", "2024-08-28" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "coehlrich@users.noreply.github.com",
      "userName" : "coehlrich",
      "commitsCount" : 3,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2021-11-24",
      "latestCommitDate" : "2024-09-09",
      "activeYears" : [ "2021", "2022", "2024" ],
      "commitDates" : [ "2024-09-09", "2022-03-25", "2021-11-24" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "basleijdekkers@gmail.com",
      "userName" : "Bas Leijdekkers",
      "commitsCount" : 3,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2023-01-03",
      "latestCommitDate" : "2024-03-19",
      "activeYears" : [ "2023", "2024" ],
      "commitDates" : [ "2024-03-19", "2023-01-03" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "git@md-5.net",
      "userName" : "md_5",
      "commitsCount" : 3,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2018-12-17",
      "latestCommitDate" : "2019-01-05",
      "activeYears" : [ "2018", "2019" ],
      "commitDates" : [ "2019-01-05", "2018-12-18", "2018-12-17" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "anton.makeev@jetbrains.com",
      "userName" : "Anton Makeev",
      "commitsCount" : 3,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2019-05-06",
      "latestCommitDate" : "2019-05-16",
      "activeYears" : [ "2019" ],
      "commitDates" : [ "2019-05-16", "2019-05-15", "2019-05-06" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "egor.zhdan@jetbrains.com",
      "userName" : "Egor Zhdan",
      "commitsCount" : 2,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2019-04-04",
      "latestCommitDate" : "2019-04-04",
      "activeYears" : [ "2019" ],
      "commitDates" : [ "2019-04-04" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "alexandr.evstigneev@jetbrains.com",
      "userName" : "Alexandr Evstigneev",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 1,
      "commitsCount365Days" : 1,
      "firstCommitDate" : "2025-09-01",
      "latestCommitDate" : "2025-09-01",
      "activeYears" : [ "2025" ],
      "commitDates" : [ "2025-09-01" ],
      "bot" : false,
      "active" : true,
      "rookie" : true
    }, {
      "email" : "leonid.shalupov@jetbrains.com",
      "userName" : "Leonid Shalupov",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 1,
      "firstCommitDate" : "2025-07-18",
      "latestCommitDate" : "2025-07-18",
      "activeYears" : [ "2025" ],
      "commitDates" : [ "2025-07-18" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "evgenii.ilichev@jetbrains.com",
      "userName" : "Evgenii Ilichev",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 1,
      "firstCommitDate" : "2025-06-17",
      "latestCommitDate" : "2025-06-17",
      "activeYears" : [ "2025" ],
      "commitDates" : [ "2025-06-17" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "pokechu022@gmail.com",
      "userName" : "Pokechu22",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2024-09-05",
      "latestCommitDate" : "2024-09-05",
      "activeYears" : [ "2024" ],
      "commitDates" : [ "2024-09-05" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "zml@stellardrift.ca",
      "userName" : "zml",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2024-08-23",
      "latestCommitDate" : "2024-08-23",
      "activeYears" : [ "2024" ],
      "commitDates" : [ "2024-08-23" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "h4ckm310n@outlook.com",
      "userName" : "h4ckm310n",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2024-03-11",
      "latestCommitDate" : "2024-03-11",
      "activeYears" : [ "2024" ],
      "commitDates" : [ "2024-03-11" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "ben@bencreasy.com",
      "userName" : "Ben Creasy",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2023-10-31",
      "latestCommitDate" : "2023-10-31",
      "activeYears" : [ "2023" ],
      "commitDates" : [ "2023-10-31" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "44521157+asmjmp0@users.noreply.github.com",
      "userName" : "asmjmp0",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2022-09-01",
      "latestCommitDate" : "2022-09-01",
      "activeYears" : [ "2022" ],
      "commitDates" : [ "2022-09-01" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "nico.mexis@kabelmail.de",
      "userName" : "Nico Mexis",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2022-03-31",
      "latestCommitDate" : "2022-03-31",
      "activeYears" : [ "2022" ],
      "commitDates" : [ "2022-03-31" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "xenoamess@gmail.com",
      "userName" : "XenoAmess",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2021-11-24",
      "latestCommitDate" : "2021-11-24",
      "activeYears" : [ "2021" ],
      "commitDates" : [ "2021-11-24" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "andrey.cherkasov@jetbrains.com",
      "userName" : "Andrey.Cherkasov",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2021-11-01",
      "latestCommitDate" : "2021-11-01",
      "activeYears" : [ "2021" ],
      "commitDates" : [ "2021-11-01" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "leonrdsnt@gmail.com",
      "userName" : "leonardosnt",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2021-02-11",
      "latestCommitDate" : "2021-02-11",
      "activeYears" : [ "2021" ],
      "commitDates" : [ "2021-02-11" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "simonbarnes1@googlemail.com",
      "userName" : "simon816",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2020-07-15",
      "latestCommitDate" : "2020-07-15",
      "activeYears" : [ "2020" ],
      "commitDates" : [ "2020-07-15" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "malte0811@web.de",
      "userName" : "malte0811",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2020-07-15",
      "latestCommitDate" : "2020-07-15",
      "activeYears" : [ "2020" ],
      "commitDates" : [ "2020-07-15" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "vladimir.ilmov@gmail.com",
      "userName" : "Vladimir Ilmov",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2020-02-03",
      "latestCommitDate" : "2020-02-03",
      "activeYears" : [ "2020" ],
      "commitDates" : [ "2020-02-03" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "sergey.ignatov@jetbrains.com",
      "userName" : "Sergey Ignatov",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2019-07-23",
      "latestCommitDate" : "2019-07-23",
      "activeYears" : [ "2019" ],
      "commitDates" : [ "2019-07-23" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "rustam.vishnyakov@jetbrains.com",
      "userName" : "Rustam Vishnyakov",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2019-06-08",
      "latestCommitDate" : "2019-06-08",
      "activeYears" : [ "2019" ],
      "commitDates" : [ "2019-06-08" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "aleksey.rostovskiy@jetbrains.com",
      "userName" : "Aleksey Rostovskiy",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2019-05-27",
      "latestCommitDate" : "2019-05-27",
      "activeYears" : [ "2019" ],
      "commitDates" : [ "2019-05-27" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "alexandr.suhinin@jetbrains.com",
      "userName" : "Alexandr Suhinin",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2019-05-13",
      "latestCommitDate" : "2019-05-13",
      "activeYears" : [ "2019" ],
      "commitDates" : [ "2019-05-13" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "gregory.shrago@jetbrains.com",
      "userName" : "Gregory.Shrago",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2019-05-14",
      "latestCommitDate" : "2019-05-14",
      "activeYears" : [ "2019" ],
      "commitDates" : [ "2019-05-14" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "artemiy.sartakov@jetbrains.com",
      "userName" : "Artemiy Sartakov",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2019-04-08",
      "latestCommitDate" : "2019-04-08",
      "activeYears" : [ "2019" ],
      "commitDates" : [ "2019-04-08" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "themrmilchmann@gmail.com",
      "userName" : "Leon Linhart",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2019-03-07",
      "latestCommitDate" : "2019-03-07",
      "activeYears" : [ "2019" ],
      "commitDates" : [ "2019-03-07" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "34900092+temp1011@users.noreply.github.com",
      "userName" : "temp1011",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2018-07-31",
      "latestCommitDate" : "2018-07-31",
      "activeYears" : [ "2018" ],
      "commitDates" : [ "2018-07-31" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "stsypanov@luxoft.com",
      "userName" : "stsypanov",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2018-07-25",
      "latestCommitDate" : "2018-07-25",
      "activeYears" : [ "2018" ],
      "commitDates" : [ "2018-07-25" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "roman.ivanov@jetbrains.com",
      "userName" : "Roman Ivanov",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2018-02-01",
      "latestCommitDate" : "2018-02-01",
      "activeYears" : [ "2018" ],
      "commitDates" : [ "2018-02-01" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "n.sherlock@gmail.com",
      "userName" : "Nicholas Sherlock",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2017-11-24",
      "latestCommitDate" : "2017-11-24",
      "activeYears" : [ "2017" ],
      "commitDates" : [ "2017-11-24" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "bmintz@protonmail.com",
      "userName" : "Ben Mintz",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2017-06-05",
      "latestCommitDate" : "2017-06-05",
      "activeYears" : [ "2017" ],
      "commitDates" : [ "2017-06-05" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "helg.git@helg.com",
      "userName" : "Oleg Panashchenko",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2017-04-24",
      "latestCommitDate" : "2017-04-24",
      "activeYears" : [ "2017" ],
      "commitDates" : [ "2017-04-24" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "dylanperks23@gmail.com",
      "userName" : "DMP9",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2017-02-11",
      "latestCommitDate" : "2017-02-11",
      "activeYears" : [ "2017" ],
      "commitDates" : [ "2017-02-11" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "dw@ge40",
      "userName" : "dw",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2016-04-26",
      "latestCommitDate" : "2016-04-26",
      "activeYears" : [ "2016" ],
      "commitDates" : [ "2016-04-26" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "admin@notbed.com",
      "userName" : "Alexandru-Constantin Bledea",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2015-09-07",
      "latestCommitDate" : "2015-09-07",
      "activeYears" : [ "2015" ],
      "commitDates" : [ "2015-09-07" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    }, {
      "email" : "sebastian.zarnekow@itemis.de",
      "userName" : "Sebastian Zarnekow",
      "commitsCount" : 1,
      "commitsCount30Days" : 0,
      "commitsCount90Days" : 0,
      "commitsCount180Days" : 0,
      "commitsCount365Days" : 0,
      "firstCommitDate" : "2015-06-09",
      "latestCommitDate" : "2015-06-09",
      "activeYears" : [ "2015" ],
      "commitDates" : [ "2015-06-09" ],
      "bot" : false,
      "active" : false,
      "rookie" : false
    } ],
    "contributorsPerYear" : [ {
      "timeSlot" : "2014",
      "contributorsCount" : 3,
      "commitsCount" : 164
    }, {
      "timeSlot" : "2015",
      "contributorsCount" : 8,
      "commitsCount" : 54
    }, {
      "timeSlot" : "2016",
      "contributorsCount" : 9,
      "commitsCount" : 64
    }, {
      "timeSlot" : "2017",
      "contributorsCount" : 10,
      "commitsCount" : 97
    }, {
      "timeSlot" : "2018",
      "contributorsCount" : 14,
      "commitsCount" : 67
    }, {
      "timeSlot" : "2019",
      "contributorsCount" : 15,
      "commitsCount" : 21
    }, {
      "timeSlot" : "2020",
      "contributorsCount" : 8,
      "commitsCount" : 16
    }, {
      "timeSlot" : "2021",
      "contributorsCount" : 12,
      "commitsCount" : 62
    }, {
      "timeSlot" : "2022",
      "contributorsCount" : 8,
      "commitsCount" : 75
    }, {
      "timeSlot" : "2023",
      "contributorsCount" : 6,
      "commitsCount" : 43
    }, {
      "timeSlot" : "2024",
      "contributorsCount" : 13,
      "commitsCount" : 121
    }, {
      "timeSlot" : "2025",
      "contributorsCount" : 10,
      "commitsCount" : 25
    } ],
    "contributorsPerMonth" : [ {
      "timeSlot" : "2014-03",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2014-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-05",
      "contributorsCount" : 2,
      "commitsCount" : 23
    }, {
      "timeSlot" : "2014-06",
      "contributorsCount" : 2,
      "commitsCount" : 15
    }, {
      "timeSlot" : "2014-07",
      "contributorsCount" : 2,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2014-08",
      "contributorsCount" : 2,
      "commitsCount" : 23
    }, {
      "timeSlot" : "2014-09",
      "contributorsCount" : 2,
      "commitsCount" : 27
    }, {
      "timeSlot" : "2014-10",
      "contributorsCount" : 3,
      "commitsCount" : 49
    }, {
      "timeSlot" : "2014-11",
      "contributorsCount" : 1,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2014-12",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2015-01",
      "contributorsCount" : 1,
      "commitsCount" : 16
    }, {
      "timeSlot" : "2015-02",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2015-03",
      "contributorsCount" : 4,
      "commitsCount" : 18
    }, {
      "timeSlot" : "2015-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-06",
      "contributorsCount" : 3,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2015-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-09",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2015-11",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2015-12",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-01",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-02",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2016-03",
      "contributorsCount" : 4,
      "commitsCount" : 24
    }, {
      "timeSlot" : "2016-04",
      "contributorsCount" : 2,
      "commitsCount" : 15
    }, {
      "timeSlot" : "2016-05",
      "contributorsCount" : 3,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2016-07",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2016-08",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-09",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2016-10",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2016-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-01",
      "contributorsCount" : 1,
      "commitsCount" : 14
    }, {
      "timeSlot" : "2017-02",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-04",
      "contributorsCount" : 4,
      "commitsCount" : 38
    }, {
      "timeSlot" : "2017-05",
      "contributorsCount" : 2,
      "commitsCount" : 11
    }, {
      "timeSlot" : "2017-06",
      "contributorsCount" : 3,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2017-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-09",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-10",
      "contributorsCount" : 3,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2017-11",
      "contributorsCount" : 2,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2017-12",
      "contributorsCount" : 1,
      "commitsCount" : 14
    }, {
      "timeSlot" : "2018-01",
      "contributorsCount" : 6,
      "commitsCount" : 10
    }, {
      "timeSlot" : "2018-02",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2018-03",
      "contributorsCount" : 2,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2018-04",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-05",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2018-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-07",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-08",
      "contributorsCount" : 3,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2018-09",
      "contributorsCount" : 6,
      "commitsCount" : 11
    }, {
      "timeSlot" : "2018-10",
      "contributorsCount" : 5,
      "commitsCount" : 12
    }, {
      "timeSlot" : "2018-12",
      "contributorsCount" : 3,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2019-01",
      "contributorsCount" : 3,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2019-03",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2019-04",
      "contributorsCount" : 3,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2019-05",
      "contributorsCount" : 5,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2019-06",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2019-07",
      "contributorsCount" : 3,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2020-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-05",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2020-06",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2020-07",
      "contributorsCount" : 3,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2020-08",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2020-11",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2020-12",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-01",
      "contributorsCount" : 3,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2021-02",
      "contributorsCount" : 2,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2021-04",
      "contributorsCount" : 4,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2021-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-11",
      "contributorsCount" : 5,
      "commitsCount" : 15
    }, {
      "timeSlot" : "2021-12",
      "contributorsCount" : 2,
      "commitsCount" : 30
    }, {
      "timeSlot" : "2022-01",
      "contributorsCount" : 3,
      "commitsCount" : 35
    }, {
      "timeSlot" : "2022-02",
      "contributorsCount" : 3,
      "commitsCount" : 16
    }, {
      "timeSlot" : "2022-03",
      "contributorsCount" : 4,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2022-06",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2022-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-08",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2022-09",
      "contributorsCount" : 3,
      "commitsCount" : 12
    }, {
      "timeSlot" : "2022-12",
      "contributorsCount" : 3,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2023-01",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-02",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-06",
      "contributorsCount" : 2,
      "commitsCount" : 15
    }, {
      "timeSlot" : "2023-07",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-10",
      "contributorsCount" : 4,
      "commitsCount" : 10
    }, {
      "timeSlot" : "2023-11",
      "contributorsCount" : 1,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2023-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-03",
      "contributorsCount" : 3,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-04",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-05",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-06",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-08",
      "contributorsCount" : 4,
      "commitsCount" : 21
    }, {
      "timeSlot" : "2024-09",
      "contributorsCount" : 6,
      "commitsCount" : 60
    }, {
      "timeSlot" : "2024-10",
      "contributorsCount" : 2,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2024-11",
      "contributorsCount" : 5,
      "commitsCount" : 12
    }, {
      "timeSlot" : "2024-12",
      "contributorsCount" : 3,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2025-01",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2025-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-05",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2025-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09",
      "contributorsCount" : 5,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2025-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-11",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2025-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    } ],
    "contributorsPerDay" : [ {
      "timeSlot" : "2014-03-04",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-03-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-03-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-03-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-04-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-05-19",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2014-05-20",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-05-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-05-24",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-05-26",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2014-05-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-05-28",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-05-29",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-05-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-06-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-06-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-06-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-06-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-06-24",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-06-25",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-06-26",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-06-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-06-30",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-07-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-07-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-07-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-07-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-07-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-07-28",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-08-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-08-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-08-13",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2014-08-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-08-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-08-17",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2014-08-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-08-28",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2014-08-29",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-08-31",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-09-01",
      "contributorsCount" : 1,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2014-09-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-09-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-09-04",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-09-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-09-07",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-09-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-09-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-09-12",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2014-09-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-09-28",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-09-29",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-10-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-10-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-10-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-10-06",
      "contributorsCount" : 2,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2014-10-07",
      "contributorsCount" : 3,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2014-10-08",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-10-09",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-10-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-10-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-10-14",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2014-10-15",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-10-16",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-10-17",
      "contributorsCount" : 2,
      "commitsCount" : 10
    }, {
      "timeSlot" : "2014-10-20",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-10-21",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2014-10-22",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-10-24",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-11-04",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-11-05",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-11-10",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-11-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-12-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-12-25",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-12-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-12-31",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2015-01-14",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2015-01-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-01-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-01-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-01-21",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2015-01-22",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2015-01-26",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2015-02-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-02-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-02-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-03-01",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2015-03-02",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2015-03-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-03-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-03-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-03-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-03-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-03-25",
      "contributorsCount" : 1,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2015-03-26",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2015-03-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-04-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-05-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-06-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-06-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-06-29",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2015-08-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-09-07",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2015-11-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-11-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-11-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-12-28",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-01-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-01-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-02-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-02-29",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-03-01",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-03-02",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-03-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-03-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-03-07",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-03-14",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-03-16",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2016-03-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-03-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-03-19",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-03-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-03-28",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2016-03-29",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-04-11",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-04-20",
      "contributorsCount" : 1,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2016-04-21",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2016-04-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-05-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-05-20",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2016-05-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-05-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-05-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-07-22",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-07-26",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-08-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-08-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-09-09",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-09-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-10-14",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2016-12-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-01-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-01-10",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2017-01-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-01-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-01-13",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-01-17",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-01-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-02-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-02-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-04-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-04-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-04-13",
      "contributorsCount" : 3,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2017-04-18",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-04-19",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-04-20",
      "contributorsCount" : 2,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2017-04-21",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-04-24",
      "contributorsCount" : 2,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2017-04-25",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-04-26",
      "contributorsCount" : 1,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2017-04-27",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-04-28",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-05-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-05-03",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-05-04",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-05-05",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-05-10",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-05-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-06-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-06-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-06-23",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-08-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-09-27",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-10-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-10-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-10-25",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-11-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-11-28",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2017-12-01",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-12-04",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-12-05",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-12-06",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-12-07",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2017-12-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-01-10",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2018-01-11",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-01-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-01-23",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-01-31",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-02-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-02-16",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-03-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-03-06",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2018-03-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-03-08",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-03-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-04-27",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-05-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-05-21",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-06-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-07-25",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-07-31",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-08-10",
      "contributorsCount" : 2,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2018-08-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-09-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-09-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-09-11",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-09-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-09-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-09-28",
      "contributorsCount" : 2,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2018-10-01",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-10-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-10-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-10-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-10-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-10-19",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-10-23",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2018-10-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-12-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-12-17",
      "contributorsCount" : 3,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2018-12-18",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2019-01-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-01-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-01-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-03-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-03-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-04-04",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2019-04-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-04-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-05-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-05-13",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2019-05-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-05-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-05-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-05-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-06-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-06-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-07-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-07-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-07-25",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-01-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-02-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-04-22",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-05-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-05-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-06-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-06-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-07-15",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2020-07-29",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-08-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-08-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-11-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-11-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-12-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-12-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-01-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-01-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-01-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-02-11",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-02-12",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2021-02-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-04-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-04-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-04-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-04-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-04-20",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-10-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-11-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-11-24",
      "contributorsCount" : 4,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2021-11-25",
      "contributorsCount" : 2,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2021-12-09",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-12-10",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-12-13",
      "contributorsCount" : 1,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2021-12-15",
      "contributorsCount" : 2,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2021-12-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-12-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-12-20",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-12-22",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-12-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-12-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-12-28",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-12-29",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-12-30",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-12-31",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-01-04",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2022-01-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-01-06",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2022-01-10",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2022-01-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-01-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-01-14",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2022-01-17",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2022-01-19",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2022-01-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-01-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-01-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-01-27",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2022-01-28",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2022-01-31",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2022-02-01",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2022-02-02",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2022-02-03",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2022-02-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-02-06",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2022-02-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-02-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-03-25",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-03-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-03-31",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2022-06-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-06-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-07-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-08-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-08-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-09-01",
      "contributorsCount" : 2,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2022-09-13",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2022-09-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-09-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-09-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-12-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-12-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-12-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-01-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-02-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-02-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-03-25",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-06-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-06-13",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-06-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-06-15",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-06-16",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-06-18",
      "contributorsCount" : 1,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2023-06-28",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-07-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-07-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-08-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-10-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-10-19",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-10-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-10-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-10-27",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-10-30",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-10-31",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-11-07",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2023-11-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-11-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-11-15",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-11-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-11-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-12-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-03-11",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-03-19",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-04-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-05-22",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-05-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-06-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-06-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-06-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-07-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-08-22",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-08-23",
      "contributorsCount" : 3,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2024-08-27",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-08-28",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-08-29",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-08-30",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-09-02",
      "contributorsCount" : 2,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2024-09-05",
      "contributorsCount" : 4,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2024-09-06",
      "contributorsCount" : 3,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2024-09-09",
      "contributorsCount" : 4,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2024-09-10",
      "contributorsCount" : 3,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2024-09-11",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-09-12",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-09-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-09-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-09-25",
      "contributorsCount" : 1,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2024-09-26",
      "contributorsCount" : 1,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2024-09-27",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-10-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-10-09",
      "contributorsCount" : 1,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2024-10-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-10-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-11-04",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-11-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-11-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-11-12",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-11-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-11-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-11-22",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-11-25",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-11-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-11-29",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-12-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-12-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-12-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-12-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-12-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-12-26",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-12-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-01-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-01-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-01-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-02-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-03-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-04-29",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-05-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-05-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-05-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-06-17",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-07-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-08-19",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-22",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-25",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2025-09-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-28",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-29",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-10-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-11-25",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2025-12-22",
      "contributorsCount" : 1,
      "commitsCount" : 1
    } ],
    "contributorsPerWeek" : [ {
      "timeSlot" : "2014-03-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-03-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-03-24",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-03-31",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-05-19",
      "contributorsCount" : 1,
      "commitsCount" : 11
    }, {
      "timeSlot" : "2014-05-26",
      "contributorsCount" : 2,
      "commitsCount" : 13
    }, {
      "timeSlot" : "2014-06-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-06-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-06-23",
      "contributorsCount" : 1,
      "commitsCount" : 10
    }, {
      "timeSlot" : "2014-06-30",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2014-07-07",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-07-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-07-21",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-07-28",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-08-04",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-08-11",
      "contributorsCount" : 1,
      "commitsCount" : 11
    }, {
      "timeSlot" : "2014-08-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-08-25",
      "contributorsCount" : 1,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2014-09-01",
      "contributorsCount" : 1,
      "commitsCount" : 15
    }, {
      "timeSlot" : "2014-09-08",
      "contributorsCount" : 1,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2014-09-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2014-09-22",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2014-09-29",
      "contributorsCount" : 3,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2014-10-06",
      "contributorsCount" : 3,
      "commitsCount" : 16
    }, {
      "timeSlot" : "2014-10-13",
      "contributorsCount" : 3,
      "commitsCount" : 20
    }, {
      "timeSlot" : "2014-10-20",
      "contributorsCount" : 2,
      "commitsCount" : 10
    }, {
      "timeSlot" : "2014-11-03",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2014-11-10",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2014-12-22",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2014-12-29",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2015-01-12",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2015-01-19",
      "contributorsCount" : 1,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2015-01-26",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2015-02-16",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2015-02-23",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2015-03-02",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2015-03-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-03-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-03-23",
      "contributorsCount" : 1,
      "commitsCount" : 10
    }, {
      "timeSlot" : "2015-04-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-05-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-06-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-06-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-06-29",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2015-08-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2015-09-07",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2015-11-09",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2015-12-28",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-01-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-01-25",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-02-01",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-02-29",
      "contributorsCount" : 2,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2016-03-07",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-03-14",
      "contributorsCount" : 3,
      "commitsCount" : 10
    }, {
      "timeSlot" : "2016-03-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-03-28",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2016-04-11",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-04-18",
      "contributorsCount" : 1,
      "commitsCount" : 12
    }, {
      "timeSlot" : "2016-04-25",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-05-16",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2016-05-23",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-05-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-07-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-07-25",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-08-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-08-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-09-05",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2016-09-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2016-10-10",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2016-12-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-01-09",
      "contributorsCount" : 1,
      "commitsCount" : 10
    }, {
      "timeSlot" : "2017-01-16",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-01-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-02-06",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-04-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-04-10",
      "contributorsCount" : 3,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2017-04-17",
      "contributorsCount" : 2,
      "commitsCount" : 11
    }, {
      "timeSlot" : "2017-04-24",
      "contributorsCount" : 2,
      "commitsCount" : 21
    }, {
      "timeSlot" : "2017-05-01",
      "contributorsCount" : 2,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2017-05-08",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-06-05",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-06-19",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-08-28",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-09-25",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2017-10-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-10-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-10-23",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2017-11-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2017-11-27",
      "contributorsCount" : 1,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2017-12-04",
      "contributorsCount" : 1,
      "commitsCount" : 12
    }, {
      "timeSlot" : "2018-01-08",
      "contributorsCount" : 3,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2018-01-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-01-22",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-01-29",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2018-02-12",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-02-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-03-05",
      "contributorsCount" : 1,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2018-03-12",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-04-23",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-05-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-05-21",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-06-11",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-07-23",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-07-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-08-06",
      "contributorsCount" : 2,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2018-08-13",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-09-03",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2018-09-10",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2018-09-24",
      "contributorsCount" : 3,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2018-10-01",
      "contributorsCount" : 4,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2018-10-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-10-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-10-22",
      "contributorsCount" : 1,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2018-12-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2018-12-17",
      "contributorsCount" : 3,
      "commitsCount" : 7
    }, {
      "timeSlot" : "2018-12-31",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-01-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-01-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-03-04",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2019-04-01",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2019-04-08",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2019-05-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-05-13",
      "contributorsCount" : 4,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2019-05-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-06-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-06-10",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-07-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2019-07-22",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2020-01-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-02-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-04-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-05-11",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2020-06-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-06-22",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-07-13",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2020-07-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-08-03",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2020-11-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-11-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-11-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2020-12-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-01-11",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-01-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-02-08",
      "contributorsCount" : 2,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2021-02-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-04-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-04-12",
      "contributorsCount" : 3,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2021-04-19",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2021-09-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-11-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2021-11-22",
      "contributorsCount" : 4,
      "commitsCount" : 14
    }, {
      "timeSlot" : "2021-12-06",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2021-12-13",
      "contributorsCount" : 2,
      "commitsCount" : 15
    }, {
      "timeSlot" : "2021-12-20",
      "contributorsCount" : 2,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2021-12-27",
      "contributorsCount" : 2,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2022-01-03",
      "contributorsCount" : 1,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2022-01-10",
      "contributorsCount" : 3,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2022-01-17",
      "contributorsCount" : 2,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2022-01-24",
      "contributorsCount" : 2,
      "commitsCount" : 8
    }, {
      "timeSlot" : "2022-01-31",
      "contributorsCount" : 2,
      "commitsCount" : 16
    }, {
      "timeSlot" : "2022-02-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-02-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-03-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-03-28",
      "contributorsCount" : 3,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2022-06-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-06-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-07-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-08-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-08-15",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-08-29",
      "contributorsCount" : 2,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2022-09-12",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2022-09-19",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-11-28",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-12-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2022-12-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-01-02",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-02-06",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-03-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-06-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-06-12",
      "contributorsCount" : 2,
      "commitsCount" : 13
    }, {
      "timeSlot" : "2023-06-26",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-07-17",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-07-31",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-10-02",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-10-16",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2023-10-23",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2023-10-30",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2023-11-06",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2023-11-13",
      "contributorsCount" : 1,
      "commitsCount" : 5
    }, {
      "timeSlot" : "2023-11-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2023-12-04",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-03-11",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-03-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-04-01",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-05-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-05-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-06-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-06-17",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-07-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-08-19",
      "contributorsCount" : 3,
      "commitsCount" : 9
    }, {
      "timeSlot" : "2024-08-26",
      "contributorsCount" : 3,
      "commitsCount" : 12
    }, {
      "timeSlot" : "2024-09-02",
      "contributorsCount" : 4,
      "commitsCount" : 21
    }, {
      "timeSlot" : "2024-09-09",
      "contributorsCount" : 5,
      "commitsCount" : 22
    }, {
      "timeSlot" : "2024-09-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-09-23",
      "contributorsCount" : 1,
      "commitsCount" : 16
    }, {
      "timeSlot" : "2024-09-30",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-10-07",
      "contributorsCount" : 1,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2024-10-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-10-21",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-11-04",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-11-11",
      "contributorsCount" : 2,
      "commitsCount" : 4
    }, {
      "timeSlot" : "2024-11-18",
      "contributorsCount" : 2,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2024-11-25",
      "contributorsCount" : 3,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-12-02",
      "contributorsCount" : 2,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2024-12-09",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-12-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2024-12-23",
      "contributorsCount" : 1,
      "commitsCount" : 3
    }, {
      "timeSlot" : "2025-01-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-01-20",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-01-27",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-02-24",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-03-03",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-04-28",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-05-05",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-05-12",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2025-06-16",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-07-14",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-08-18",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-01",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-08",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-09-22",
      "contributorsCount" : 3,
      "commitsCount" : 6
    }, {
      "timeSlot" : "2025-09-29",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-10-06",
      "contributorsCount" : 1,
      "commitsCount" : 1
    }, {
      "timeSlot" : "2025-11-24",
      "contributorsCount" : 1,
      "commitsCount" : 2
    }, {
      "timeSlot" : "2025-12-22",
      "contributorsCount" : 1,
      "commitsCount" : 1
    } ],
    "commitsPerExtensions" : [ {
      "extension" : "md",
      "commitsCount" : 14,
      "committers" : [ "bart.vanhelvert@jetbrains.com", "bartek.pacia@jetbrains.com", "mikhail.pyltsin@jetbrains.com", "roman.shevchenko@jetbrains.com", "bmintz@protonmail.com", "dylanperks23@gmail.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 1,
      "committers30Days" : [ "bart.vanhelvert@jetbrains.com" ],
      "filesCount30Days" : 1,
      "commitsCount90Days" : 1,
      "committers90Days" : [ "bart.vanhelvert@jetbrains.com" ],
      "filesCount90Days" : 1,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 5
      }, {
        "contributor" : "bmintz@protonmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "bart.vanhelvert@jetbrains.com",
        "fileUpdates30Days" : 1,
        "fileUpdates90Days" : 1,
        "fileUpdates" : 1
      }, {
        "contributor" : "bartek.pacia@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 4
      }, {
        "contributor" : "dylanperks23@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "mikhail.pyltsin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      } ]
    }, {
      "extension" : "java",
      "commitsCount" : 5408,
      "committers" : [ "mikhail.pyltsin@jetbrains.com", "tagir.valeev@jetbrains.com", "vladimir.krivosheev@jetbrains.com", "bartek.pacia@jetbrains.com", "lexmanos@gmail.com", "25208576+supercoder7979@users.noreply.github.com", "coehlrich@users.noreply.github.com", "jrd2558@gmail.com", "pokechu022@gmail.com", "zml@stellardrift.ca", "roman.shevchenko@jetbrains.com", "basleijdekkers@gmail.com", "h4ckm310n@outlook.com", "bart.vanhelvert@jetbrains.com", "nikolay.chashnikov@jetbrains.com", "44521157+asmjmp0@users.noreply.github.com", "nico.mexis@kabelmail.de", "ilyas.selimov@jetbrains.com", "mdegtyarev@gmail.com", "xenoamess@gmail.com", "andrey.cherkasov@jetbrains.com", "leonrdsnt@gmail.com", "anna.kozlova@jetbrains.com", "cdr@intellij.com", "simonbarnes1@googlemail.com", "malte0811@web.de", "vladimir.ilmov@gmail.com", "git@md-5.net", "sergey.ignatov@jetbrains.com", "rustam.vishnyakov@jetbrains.com", "egor.zhdan@jetbrains.com", "aleksey.rostovskiy@jetbrains.com", "alexandr.suhinin@jetbrains.com", "anton.makeev@jetbrains.com", "gregory.shrago@jetbrains.com", "artemiy.sartakov@jetbrains.com", "themrmilchmann@gmail.com", "egor.ushakov@jetbrains.com", "upnotes@example.com", "34900092+temp1011@users.noreply.github.com", "stsypanov@luxoft.com", "roman.ivanov@jetbrains.com", "n.sherlock@gmail.com", "contact@apixandru.com", "d.cherniachenko@gmail.com", "helg.git@helg.com", "dw@ge40", "intermediatelanguage@gmail.com", "admin@notbed.com", "sebastian.zarnekow@itemis.de", "stiver.mail@gmail.com" ],
      "filesCount" : 1130,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 11,
      "committers90Days" : [ "mikhail.pyltsin@jetbrains.com" ],
      "filesCount90Days" : 11,
      "contributorPerExtensionStats" : [ {
        "contributor" : "helg.git@helg.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 8
      }, {
        "contributor" : "upnotes@example.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 24
      }, {
        "contributor" : "leonrdsnt@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 11
      }, {
        "contributor" : "alexandr.suhinin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 11
      }, {
        "contributor" : "bartek.pacia@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "sebastian.zarnekow@itemis.de",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "andrey.cherkasov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "admin@notbed.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 5
      }, {
        "contributor" : "stiver.mail@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 219
      }, {
        "contributor" : "mikhail.pyltsin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 11,
        "fileUpdates" : 666
      }, {
        "contributor" : "ilyas.selimov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 261
      }, {
        "contributor" : "gregory.shrago@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "h4ckm310n@outlook.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "bart.vanhelvert@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 284
      }, {
        "contributor" : "mdegtyarev@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 24
      }, {
        "contributor" : "tagir.valeev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 165
      }, {
        "contributor" : "git@md-5.net",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "zml@stellardrift.ca",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "basleijdekkers@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "lexmanos@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 193
      }, {
        "contributor" : "25208576+supercoder7979@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 22
      }, {
        "contributor" : "egor.zhdan@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 22
      }, {
        "contributor" : "simonbarnes1@googlemail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "stsypanov@luxoft.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 4
      }, {
        "contributor" : "aleksey.rostovskiy@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 11
      }, {
        "contributor" : "nico.mexis@kabelmail.de",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "coehlrich@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 7
      }, {
        "contributor" : "vladimir.krivosheev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 106
      }, {
        "contributor" : "jrd2558@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 23
      }, {
        "contributor" : "anna.kozlova@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 253
      }, {
        "contributor" : "n.sherlock@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "malte0811@web.de",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "egor.ushakov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 594
      }, {
        "contributor" : "dw@ge40",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "vladimir.ilmov@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 4
      }, {
        "contributor" : "artemiy.sartakov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "rustam.vishnyakov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 11
      }, {
        "contributor" : "intermediatelanguage@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 9
      }, {
        "contributor" : "44521157+asmjmp0@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "sergey.ignatov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "contact@apixandru.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 21
      }, {
        "contributor" : "roman.ivanov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "34900092+temp1011@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 7
      }, {
        "contributor" : "themrmilchmann@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "pokechu022@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2320
      }, {
        "contributor" : "xenoamess@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "anton.makeev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 22
      }, {
        "contributor" : "d.cherniachenko@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 30
      }, {
        "contributor" : "nikolay.chashnikov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 8
      }, {
        "contributor" : "cdr@intellij.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 32
      } ]
    }, {
      "extension" : "dec",
      "commitsCount" : 766,
      "committers" : [ "mikhail.pyltsin@jetbrains.com", "bartek.pacia@jetbrains.com", "25208576+supercoder7979@users.noreply.github.com", "jrd2558@gmail.com", "lexmanos@gmail.com", "bart.vanhelvert@jetbrains.com", "coehlrich@users.noreply.github.com", "ilyas.selimov@jetbrains.com", "mdegtyarev@gmail.com", "roman.shevchenko@jetbrains.com", "leonrdsnt@gmail.com", "tagir.valeev@jetbrains.com", "malte0811@web.de", "egor.ushakov@jetbrains.com", "git@md-5.net", "upnotes@example.com", "34900092+temp1011@users.noreply.github.com", "contact@apixandru.com", "d.cherniachenko@gmail.com", "helg.git@helg.com", "admin@notbed.com", "sebastian.zarnekow@itemis.de", "stiver.mail@gmail.com" ],
      "filesCount" : 207,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 1,
      "committers90Days" : [ "mikhail.pyltsin@jetbrains.com" ],
      "filesCount90Days" : 1,
      "contributorPerExtensionStats" : [ {
        "contributor" : "contact@apixandru.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 9
      }, {
        "contributor" : "helg.git@helg.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "upnotes@example.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 6
      }, {
        "contributor" : "leonrdsnt@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "jrd2558@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "bartek.pacia@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "sebastian.zarnekow@itemis.de",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "malte0811@web.de",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "34900092+temp1011@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 5
      }, {
        "contributor" : "admin@notbed.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "coehlrich@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "stiver.mail@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 11
      }, {
        "contributor" : "mikhail.pyltsin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 1,
        "fileUpdates" : 305
      }, {
        "contributor" : "ilyas.selimov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 15
      }, {
        "contributor" : "egor.ushakov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 146
      }, {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 73
      }, {
        "contributor" : "bart.vanhelvert@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 67
      }, {
        "contributor" : "mdegtyarev@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 12
      }, {
        "contributor" : "tagir.valeev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 10
      }, {
        "contributor" : "git@md-5.net",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "d.cherniachenko@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 19
      }, {
        "contributor" : "25208576+supercoder7979@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "lexmanos@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 73
      } ]
    }, {
      "extension" : "class",
      "commitsCount" : 590,
      "committers" : [ "mikhail.pyltsin@jetbrains.com", "bartek.pacia@jetbrains.com", "25208576+supercoder7979@users.noreply.github.com", "jrd2558@gmail.com", "lexmanos@gmail.com", "bart.vanhelvert@jetbrains.com", "coehlrich@users.noreply.github.com", "ilyas.selimov@jetbrains.com", "mdegtyarev@gmail.com", "roman.shevchenko@jetbrains.com", "leonrdsnt@gmail.com", "tagir.valeev@jetbrains.com", "malte0811@web.de", "egor.ushakov@jetbrains.com", "upnotes@example.com", "34900092+temp1011@users.noreply.github.com", "contact@apixandru.com", "d.cherniachenko@gmail.com", "helg.git@helg.com", "admin@notbed.com", "sebastian.zarnekow@itemis.de", "stiver.mail@gmail.com" ],
      "filesCount" : 437,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 1,
      "committers90Days" : [ "mikhail.pyltsin@jetbrains.com" ],
      "filesCount90Days" : 1,
      "contributorPerExtensionStats" : [ {
        "contributor" : "contact@apixandru.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 11
      }, {
        "contributor" : "helg.git@helg.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 13
      }, {
        "contributor" : "upnotes@example.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 7
      }, {
        "contributor" : "leonrdsnt@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "jrd2558@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 5
      }, {
        "contributor" : "bartek.pacia@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "sebastian.zarnekow@itemis.de",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "malte0811@web.de",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "34900092+temp1011@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "admin@notbed.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 4
      }, {
        "contributor" : "coehlrich@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "stiver.mail@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "mikhail.pyltsin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 1,
        "fileUpdates" : 102
      }, {
        "contributor" : "ilyas.selimov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 9
      }, {
        "contributor" : "egor.ushakov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 145
      }, {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 151
      }, {
        "contributor" : "bart.vanhelvert@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 93
      }, {
        "contributor" : "mdegtyarev@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 12
      }, {
        "contributor" : "tagir.valeev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 6
      }, {
        "contributor" : "d.cherniachenko@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 9
      }, {
        "contributor" : "25208576+supercoder7979@users.noreply.github.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "lexmanos@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 12
      } ]
    }, {
      "extension" : "jar",
      "commitsCount" : 10,
      "committers" : [ "bartek.pacia@jetbrains.com", "mikhail.pyltsin@jetbrains.com", "ben@bencreasy.com", "roman.shevchenko@jetbrains.com", "bart.vanhelvert@jetbrains.com", "vladimir.ilmov@gmail.com", "egor.ushakov@jetbrains.com" ],
      "filesCount" : 4,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 4
      }, {
        "contributor" : "bart.vanhelvert@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "vladimir.ilmov@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "bartek.pacia@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "ben@bencreasy.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "mikhail.pyltsin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "egor.ushakov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "iml",
      "commitsCount" : 11,
      "committers" : [ "mikhail.pyltsin@jetbrains.com", "tagir.valeev@jetbrains.com", "ilyas.selimov@jetbrains.com", "nikolay.chashnikov@jetbrains.com", "vladimir.krivosheev@jetbrains.com", "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 2,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "vladimir.krivosheev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "tagir.valeev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "nikolay.chashnikov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "mikhail.pyltsin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "ilyas.selimov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "bazel",
      "commitsCount" : 9,
      "committers" : [ "ilia.kirianovskii@jetbrains.com", "mikhail.pyltsin@jetbrains.com", "leonid.shalupov@jetbrains.com", "evgenii.ilichev@jetbrains.com", "vladimir.krivosheev@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "leonid.shalupov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "vladimir.krivosheev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "evgenii.ilichev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "ilia.kirianovskii@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "mikhail.pyltsin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "properties",
      "commitsCount" : 11,
      "committers" : [ "bartek.pacia@jetbrains.com", "ben@bencreasy.com", "tagir.valeev@jetbrains.com", "bart.vanhelvert@jetbrains.com", "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 2,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 4
      }, {
        "contributor" : "bart.vanhelvert@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "bartek.pacia@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 4
      }, {
        "contributor" : "tagir.valeev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "ben@bencreasy.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "",
      "commitsCount" : 5,
      "committers" : [ "bartek.pacia@jetbrains.com", "ben@bencreasy.com", "bart.vanhelvert@jetbrains.com", "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "bart.vanhelvert@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "bartek.pacia@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "ben@bencreasy.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "kt",
      "commitsCount" : 10,
      "committers" : [ "mikhail.pyltsin@jetbrains.com", "roman.shevchenko@jetbrains.com", "upnotes@example.com", "egor.ushakov@jetbrains.com" ],
      "filesCount" : 6,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 4
      }, {
        "contributor" : "upnotes@example.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 3
      }, {
        "contributor" : "mikhail.pyltsin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "egor.ushakov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "gradle",
      "commitsCount" : 10,
      "committers" : [ "roman.shevchenko@jetbrains.com", "mikhail.pyltsin@jetbrains.com", "tagir.valeev@jetbrains.com", "ilyas.selimov@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 7
      }, {
        "contributor" : "tagir.valeev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "mikhail.pyltsin@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "ilyas.selimov@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "jasm",
      "commitsCount" : 17,
      "committers" : [ "roman.shevchenko@jetbrains.com", "mdegtyarev@gmail.com", "upnotes@example.com" ],
      "filesCount" : 8,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 9
      }, {
        "contributor" : "upnotes@example.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "mdegtyarev@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 7
      } ]
    }, {
      "extension" : "kts",
      "commitsCount" : 4,
      "committers" : [ "alexandr.evstigneev@jetbrains.com", "bartek.pacia@jetbrains.com", "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "alexandr.evstigneev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "bartek.pacia@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      } ]
    }, {
      "extension" : "txt",
      "commitsCount" : 12,
      "committers" : [ "bart.vanhelvert@jetbrains.com", "roman.shevchenko@jetbrains.com", "stiver.mail@gmail.com" ],
      "filesCount" : 5,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 9
      }, {
        "contributor" : "bart.vanhelvert@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "stiver.mail@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "bat",
      "commitsCount" : 4,
      "committers" : [ "bartek.pacia@jetbrains.com", "ben@bencreasy.com", "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "bartek.pacia@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "ben@bencreasy.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "xml",
      "commitsCount" : 16,
      "committers" : [ "vladimir.krivosheev@jetbrains.com", "roman.shevchenko@jetbrains.com", "anna.kozlova@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 14
      }, {
        "contributor" : "vladimir.krivosheev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "anna.kozlova@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "mf",
      "commitsCount" : 4,
      "committers" : [ "tagir.valeev@jetbrains.com", "vladimir.ilmov@gmail.com", "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 3,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "vladimir.ilmov@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      }, {
        "contributor" : "tagir.valeev@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "jcoder",
      "commitsCount" : 4,
      "committers" : [ "roman.shevchenko@jetbrains.com", "mdegtyarev@gmail.com" ],
      "filesCount" : 2,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      }, {
        "contributor" : "mdegtyarev@gmail.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      } ]
    }, {
      "extension" : "classpath",
      "commitsCount" : 1,
      "committers" : [ "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "gitignore",
      "commitsCount" : 4,
      "committers" : [ "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 4
      } ]
    }, {
      "extension" : "gitattributes",
      "commitsCount" : 1,
      "committers" : [ "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "prefs",
      "commitsCount" : 1,
      "committers" : [ "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    }, {
      "extension" : "groovy",
      "commitsCount" : 2,
      "committers" : [ "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 2,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 2
      } ]
    }, {
      "extension" : "editorconfig",
      "commitsCount" : 1,
      "committers" : [ "roman.shevchenko@jetbrains.com" ],
      "filesCount" : 1,
      "commitsCount30Days" : 0,
      "committers30Days" : [ ],
      "filesCount30Days" : 0,
      "commitsCount90Days" : 0,
      "committers90Days" : [ ],
      "filesCount90Days" : 0,
      "contributorPerExtensionStats" : [ {
        "contributor" : "roman.shevchenko@jetbrains.com",
        "fileUpdates30Days" : 0,
        "fileUpdates90Days" : 0,
        "fileUpdates" : 1
      } ]
    } ]
  },
  "numberOfExcludedFiles" : 634,
  "excludedExtensions" : {
    "" : 1,
    "jasm" : 8,
    "dec" : 188,
    "gitignore" : 1,
    "iml" : 1,
    "gitattributes" : 1,
    "bazel" : 1,
    "txt" : 1,
    "jcoder" : 2,
    "java" : 8,
    "editorconfig" : 1,
    "mf" : 3,
    "jar" : 4,
    "class" : 413,
    "properties" : 1
  },
  "analysisStartTimeMs" : 1768754508033,
  "maxLinesOfCode" : 55260,
  "maxFileCount" : 467
}