{
  "title" : "Duplication",
  "timestamp" : "2025-04-14 11:46:53",
  "duplicates" : [ {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rostools/set_position.py",
        "extension" : "py",
        "linesOfCode" : 58,
        "components" : [ "primary::rostools" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 51,
      "endLine" : 59,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "src/rosbridge/fetch_proxy.py",
        "extension" : "py",
        "linesOfCode" : 440,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 422,
      "startLine" : 299,
      "endLine" : 307,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/rosbridge/fetch_proxy.py",
        "extension" : "py",
        "linesOfCode" : 440,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 422,
      "startLine" : 53,
      "endLine" : 59,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "src/rosbridge/fetch_proxy.py",
        "extension" : "py",
        "linesOfCode" : 440,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 422,
      "startLine" : 300,
      "endLine" : 306,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "rostools/set_position.py",
        "extension" : "py",
        "linesOfCode" : 58,
        "components" : [ "primary::rostools" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 52,
      "endLine" : 58,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "src/rosbridge/fetch_proxy.py",
        "extension" : "py",
        "linesOfCode" : 440,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 422,
      "startLine" : 53,
      "endLine" : 59,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  } ],
  "overallDuplication" : null
}