{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:57:55",
  "duplicates" : [ {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/hooks/HookCodeTemplate.kt",
        "extension" : "kt",
        "linesOfCode" : 130,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 60,
      "endLine" : 68,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/hooks/HookCodeTemplate.kt",
        "extension" : "kt",
        "linesOfCode" : 130,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/hooks/HookCodeTemplate.kt",
        "extension" : "kt",
        "linesOfCode" : 130,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 60,
      "endLine" : 68,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/hooks/HookCodeTemplate.kt",
        "extension" : "kt",
        "linesOfCode" : 130,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 111,
      "endLine" : 119,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/hooks/HookCodeTemplate.kt",
        "extension" : "kt",
        "linesOfCode" : 130,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/hooks/HookCodeTemplate.kt",
        "extension" : "kt",
        "linesOfCode" : 130,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 111,
      "endLine" : 119,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/switch.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 156,
      "endLine" : 166,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/switch.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 258,
      "endLine" : 268,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/switch.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 167,
      "endLine" : 172,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/switch.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/switch.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 269,
      "endLine" : 274,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "bunch-cli/src/main/kotlin/org/jetbrains/bunches/switch.kt",
        "extension" : "kt",
        "linesOfCode" : 296,
        "components" : [ "primary::bunch-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 241,
      "startLine" : 282,
      "endLine" : 287,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    } ]
  } ],
  "overallDuplication" : null
}