{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:17:13",
  "duplicates" : [ {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "submission_code/best_util.py",
        "extension" : "py",
        "linesOfCode" : 60,
        "components" : [ "primary::submission_code" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 12,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "submission_code/tools.py",
        "extension" : "py",
        "linesOfCode" : 133,
        "components" : [ "primary::submission_code" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 128,
      "startLine" : 119,
      "endLine" : 146,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model_clf.py",
        "extension" : "py",
        "linesOfCode" : 94,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 83,
      "endLine" : 97,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "model_ctx.py",
        "extension" : "py",
        "linesOfCode" : 108,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 98,
      "endLine" : 113,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "augmentation/augment.py",
        "extension" : "py",
        "linesOfCode" : 60,
        "components" : [ "primary::augmentation" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 22,
      "endLine" : 30,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "augmentation/backtranslate.py",
        "extension" : "py",
        "linesOfCode" : 87,
        "components" : [ "primary::augmentation" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 87,
      "endLine" : 95,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model_clf.py",
        "extension" : "py",
        "linesOfCode" : 94,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 18,
      "endLine" : 27,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "model_ctx.py",
        "extension" : "py",
        "linesOfCode" : 108,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 17,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "augmentation/backtranslate.py",
        "extension" : "py",
        "linesOfCode" : 87,
        "components" : [ "primary::augmentation" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "augmentation/utils.py",
        "extension" : "py",
        "linesOfCode" : 37,
        "components" : [ "primary::augmentation" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 46,
      "endLine" : 53,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "model_clf.py",
        "extension" : "py",
        "linesOfCode" : 94,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 111,
      "endLine" : 117,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "model_ctx.py",
        "extension" : "py",
        "linesOfCode" : 108,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  } ],
  "overallDuplication" : null
}