{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 16:49:12",
  "duplicates" : [ {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 313,
      "endLine" : 334,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 253
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 363,
      "endLine" : 383,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 336,
      "endLine" : 358,
      "cleanedStartLine" : 255,
      "cleanedEndLine" : 272
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 385,
      "endLine" : 407,
      "cleanedStartLine" : 294,
      "cleanedEndLine" : 311
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 146,
      "endLine" : 158,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 121
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 167,
      "endLine" : 179,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 396,
      "endLine" : 405,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 323
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 417,
      "endLine" : 426,
      "cleanedStartLine" : 331,
      "cleanedEndLine" : 340
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 294,
      "endLine" : 301,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 237
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 334,
      "endLine" : 341,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 277,
      "endLine" : 284,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 211
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 395,
      "endLine" : 402,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/svg.js",
        "extension" : "js",
        "linesOfCode" : 643,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 588,
      "startLine" : 620,
      "endLine" : 627,
      "cleanedStartLine" : 505,
      "cleanedEndLine" : 512
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/svg.js",
        "extension" : "js",
        "linesOfCode" : 643,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 588,
      "startLine" : 695,
      "endLine" : 702,
      "cleanedStartLine" : 563,
      "cleanedEndLine" : 570
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 277,
      "endLine" : 284,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 211
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 346,
      "endLine" : 353,
      "cleanedStartLine" : 260,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 294,
      "endLine" : 301,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 237
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 356,
      "endLine" : 363,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 334,
      "endLine" : 341,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 270
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 356,
      "endLine" : 363,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 297,
      "endLine" : 303,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 396,
      "endLine" : 402,
      "cleanedStartLine" : 300,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 297,
      "endLine" : 303,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 347,
      "endLine" : 353,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 211
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 297,
      "endLine" : 303,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 396,
      "endLine" : 401,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 462,
      "endLine" : 467,
      "cleanedStartLine" : 368,
      "cleanedEndLine" : 373
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 118,
      "endLine" : 124,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/shared.js",
        "extension" : "js",
        "linesOfCode" : 709,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 641,
      "startLine" : 130,
      "endLine" : 136,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 417,
      "endLine" : 422,
      "cleanedStartLine" : 331,
      "cleanedEndLine" : 336
    }, {
      "file" : {
        "relativePath" : "toolkit/jb/toolkit.js",
        "extension" : "js",
        "linesOfCode" : 486,
        "components" : [ "primary::toolkit" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 437,
      "startLine" : 462,
      "endLine" : 467,
      "cleanedStartLine" : 368,
      "cleanedEndLine" : 373
    } ]
  } ],
  "overallDuplication" : null
}