{
  "title" : "Duplication",
  "timestamp" : "2026-04-18 12:55:03",
  "duplicates" : [ {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 335,
      "endLine" : 353,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 305
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 360,
      "endLine" : 378,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 161,
      "endLine" : 176,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 186,
      "endLine" : 201,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 186,
      "endLine" : 200,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 210,
      "endLine" : 224,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 161,
      "endLine" : 175,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 210,
      "endLine" : 224,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 209,
      "endLine" : 222,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 362,
      "endLine" : 375,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 209,
      "endLine" : 222,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 337,
      "endLine" : 350,
      "cleanedStartLine" : 289,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 161,
      "endLine" : 173,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 363,
      "endLine" : 375,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 186,
      "endLine" : 198,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 363,
      "endLine" : 375,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 326
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 161,
      "endLine" : 173,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 338,
      "endLine" : 350,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 186,
      "endLine" : 198,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 338,
      "endLine" : 350,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 115,
      "endLine" : 122,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 247,
      "endLine" : 254,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 127,
      "endLine" : 134,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "stories/index.js",
        "extension" : "js",
        "linesOfCode" : 350,
        "components" : [ "primary::stories" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 337,
      "startLine" : 261,
      "endLine" : 268,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/components/ForceGraphArrowLink.js",
        "extension" : "js",
        "linesOfCode" : 46,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/components/ForceGraphLink.js",
        "extension" : "js",
        "linesOfCode" : 54,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/components/ForceGraph.js",
        "extension" : "js",
        "linesOfCode" : 254,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 221,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "src/components/ZoomableSVGGroup.js",
        "extension" : "js",
        "linesOfCode" : 283,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 247,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  } ],
  "overallDuplication" : null
}