{
  "title" : "Duplication",
  "timestamp" : "2026-04-18 12:59:57",
  "duplicates" : [ {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 72,
      "endLine" : 108,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 140,
      "endLine" : 173,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 158,
      "endLine" : 173,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 208,
      "endLine" : 223,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 92,
      "endLine" : 108,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 208,
      "endLine" : 223,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/ConnectionManager/ConnectionManager.swift",
        "extension" : "swift",
        "linesOfCode" : 218,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 239,
      "endLine" : 244,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/ConnectionManager/ConnectionManager.swift",
        "extension" : "swift",
        "linesOfCode" : 218,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 180,
      "startLine" : 247,
      "endLine" : 252,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/Operations/Read.swift",
        "extension" : "swift",
        "linesOfCode" : 24,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/Operations/ReadRssi.swift",
        "extension" : "swift",
        "linesOfCode" : 24,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 36,
      "endLine" : 45,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 150,
      "endLine" : 156,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "Sources/RxCBCentral/core/RxPeripheralImpl.swift",
        "extension" : "swift",
        "linesOfCode" : 293,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 227,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 118
    } ]
  } ],
  "overallDuplication" : null
}