{
  "title" : "Duplication",
  "timestamp" : "2026-01-18 17:28:53",
  "duplicates" : [ {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/styles/main.css",
        "extension" : "css",
        "linesOfCode" : 1954,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1954,
      "startLine" : 488,
      "endLine" : 512,
      "cleanedStartLine" : 381,
      "cleanedEndLine" : 405
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/styles/main.css",
        "extension" : "css",
        "linesOfCode" : 1954,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1954,
      "startLine" : 515,
      "endLine" : 539,
      "cleanedStartLine" : 407,
      "cleanedEndLine" : 431
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/ImportMetadata.vue",
        "extension" : "vue",
        "linesOfCode" : 111,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 113,
      "endLine" : 129,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/NewConnectionWizard.vue",
        "extension" : "vue",
        "linesOfCode" : 88,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 94,
      "endLine" : 109,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/styles/main.css",
        "extension" : "css",
        "linesOfCode" : 1954,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1954,
      "startLine" : 564,
      "endLine" : 572,
      "cleanedStartLine" : 453,
      "cleanedEndLine" : 461
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/styles/main.css",
        "extension" : "css",
        "linesOfCode" : 1954,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1954,
      "startLine" : 575,
      "endLine" : 583,
      "cleanedStartLine" : 463,
      "cleanedEndLine" : 471
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/styles/main.css",
        "extension" : "css",
        "linesOfCode" : 1954,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1954,
      "startLine" : 542,
      "endLine" : 550,
      "cleanedStartLine" : 433,
      "cleanedEndLine" : 441
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/styles/main.css",
        "extension" : "css",
        "linesOfCode" : 1954,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1954,
      "startLine" : 553,
      "endLine" : 561,
      "cleanedStartLine" : 443,
      "cleanedEndLine" : 451
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/NewConnectionWizard.vue",
        "extension" : "vue",
        "linesOfCode" : 88,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 78,
      "endLine" : 86,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/SamlPluginSettings.vue",
        "extension" : "vue",
        "linesOfCode" : 228,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 210,
      "endLine" : 218,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/ImportMetadata.vue",
        "extension" : "vue",
        "linesOfCode" : 111,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/SamlPluginSettings.vue",
        "extension" : "vue",
        "linesOfCode" : 228,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 210,
      "endLine" : 216,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/ImportMetadata.vue",
        "extension" : "vue",
        "linesOfCode" : 111,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/NewConnectionWizard.vue",
        "extension" : "vue",
        "linesOfCode" : 88,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 78,
      "endLine" : 84,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/ImportMetadata.vue",
        "extension" : "vue",
        "linesOfCode" : 111,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/SamlPluginSettings.vue",
        "extension" : "vue",
        "linesOfCode" : 228,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 179,
      "endLine" : 185,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/NewConnectionWizard.vue",
        "extension" : "vue",
        "linesOfCode" : 88,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/SamlPluginSettings.vue",
        "extension" : "vue",
        "linesOfCode" : 228,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 147
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/java/jetbrains/buildServer/auth/saml/plugin/SamlLoginController.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 28,
      "endLine" : 33,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/java/jetbrains/buildServer/auth/saml/plugin/SamlMetadataController.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 20,
      "endLine" : 25,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/components/RunnerFormInput.vue",
        "extension" : "vue",
        "linesOfCode" : 44,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 32,
      "endLine" : 39,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/components/TextInput.vue",
        "extension" : "vue",
        "linesOfCode" : 31,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 19,
      "endLine" : 26,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/ImportMetadata.vue",
        "extension" : "vue",
        "linesOfCode" : 111,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 61,
      "endLine" : 66,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/SamlPluginSettings.vue",
        "extension" : "vue",
        "linesOfCode" : 228,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 168,
      "endLine" : 173,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 122
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/ImportMetadata.vue",
        "extension" : "vue",
        "linesOfCode" : 111,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 54,
      "endLine" : 59,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "saml-authentication-server/src/main/vue/admin-ui/src/views/SamlPluginSettings.vue",
        "extension" : "vue",
        "linesOfCode" : 228,
        "components" : [ "primary::saml-authentication-server" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 185,
      "startLine" : 161,
      "endLine" : 166,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  } ],
  "overallDuplication" : null
}