{
  "title" : "Duplication",
  "timestamp" : "2024-04-03 14:38:24",
  "duplicates" : [ {
    "blockSize" : 173,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 254,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 43,
      "endLine" : 319,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 188
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 255,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 44,
      "endLine" : 320,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 188
    } ]
  }, {
    "blockSize" : 69,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 102,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 22,
      "endLine" : 145,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 101,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 21,
      "endLine" : 144,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 59,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/LoggedIn/LoggedInViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 76,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 23,
      "endLine" : 104,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/LoggedIn/LoggedInViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 77,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 24,
      "endLine" : 105,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 55,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/ScoreSheet/ScoreSheetViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 80,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 40,
      "endLine" : 114,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/ScoreSheet/ScoreSheetViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 80,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 40,
      "endLine" : 114,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 48,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/LoggedOut/LoggedOutViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 61,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 20,
      "endLine" : 89,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/LoggedOut/LoggedOutViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 61,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 20,
      "endLine" : 89,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 47,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Root/RootViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 65,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 20,
      "endLine" : 94,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Root/RootViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 65,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 20,
      "endLine" : 94,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Root/PlayersStream.swift",
        "extension" : "swift",
        "linesOfCode" : 29,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 20,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Root/PlayersStream.swift",
        "extension" : "swift",
        "linesOfCode" : 29,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 20,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/DependencyGraphExporter.swift",
        "extension" : "swift",
        "linesOfCode" : 89,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 121,
      "endLine" : 144,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/Pluginized/PluginizedDependencyGraphExporter.swift",
        "extension" : "swift",
        "linesOfCode" : 120,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 160,
      "endLine" : 182,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 254,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 21,
      "endLine" : 36,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 255,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 22,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/NeedleFoundation/Component.swift",
        "extension" : "swift",
        "linesOfCode" : 145,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 175,
      "endLine" : 192,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "Sources/NeedleFoundation/Component.swift",
        "extension" : "swift",
        "linesOfCode" : 145,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 271,
      "endLine" : 288,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/DependencyProviderSerializerTask.swift",
        "extension" : "swift",
        "linesOfCode" : 69,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 88,
      "endLine" : 106,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/Pluginized/PluginizedDependencyProviderSerializerTask.swift",
        "extension" : "swift",
        "linesOfCode" : 69,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 89,
      "endLine" : 107,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/LoggedIn/ScoreStream.swift",
        "extension" : "swift",
        "linesOfCode" : 46,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 57,
      "endLine" : 71,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/ScoreSheet/ScoreStream.swift",
        "extension" : "swift",
        "linesOfCode" : 47,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 59,
      "endLine" : 73,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/DependencyProviderContentTask.swift",
        "extension" : "swift",
        "linesOfCode" : 61,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 72,
      "endLine" : 87,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/Pluginized/PluginizedDependencyProviderContentTask.swift",
        "extension" : "swift",
        "linesOfCode" : 114,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 114,
      "endLine" : 129,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Root/PlayersStream.swift",
        "extension" : "swift",
        "linesOfCode" : 29,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 36,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Root/PlayersStream.swift",
        "extension" : "swift",
        "linesOfCode" : 30,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 38,
      "endLine" : 49,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Root/PlayersStream.swift",
        "extension" : "swift",
        "linesOfCode" : 29,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 36,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Root/PlayersStream.swift",
        "extension" : "swift",
        "linesOfCode" : 30,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 38,
      "endLine" : 49,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Root/RootComponent.swift",
        "extension" : "swift",
        "linesOfCode" : 19,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 20,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Root/RootComponent.swift",
        "extension" : "swift",
        "linesOfCode" : 19,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 20,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/LoggedIn/ScoreStream.swift",
        "extension" : "swift",
        "linesOfCode" : 46,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 56,
      "endLine" : 67,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/LoggedIn/ScoreStream.swift",
        "extension" : "swift",
        "linesOfCode" : 46,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 57,
      "endLine" : 68,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/AppDelegate.swift",
        "extension" : "swift",
        "linesOfCode" : 15,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 20,
      "endLine" : 35,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/AppDelegate.swift",
        "extension" : "swift",
        "linesOfCode" : 15,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 20,
      "endLine" : 36,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/ScoreSheet/ScoreStream.swift",
        "extension" : "swift",
        "linesOfCode" : 47,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 59,
      "endLine" : 69,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/LoggedIn/ScoreStream.swift",
        "extension" : "swift",
        "linesOfCode" : 46,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 58,
      "endLine" : 68,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/Pluginized/PluginizedDependencyGraphExporter.swift",
        "extension" : "swift",
        "linesOfCode" : 120,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 85,
      "endLine" : 96,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/Pluginized/PluginizedDependencyGraphExporter.swift",
        "extension" : "swift",
        "linesOfCode" : 120,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 111,
      "endLine" : 122,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 102,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 42,
      "endLine" : 54,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 170,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 87,
      "endLine" : 99,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 170,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 87,
      "endLine" : 99,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 101,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 41,
      "endLine" : 53,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Entry/Generator.swift",
        "extension" : "swift",
        "linesOfCode" : 113,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 69,
      "endLine" : 77,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Entry/Generator.swift",
        "extension" : "swift",
        "linesOfCode" : 113,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 120,
      "endLine" : 128,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/NeedleFoundation/Component.swift",
        "extension" : "swift",
        "linesOfCode" : 145,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 133,
      "endLine" : 153,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "Sources/NeedleFoundation/Component.swift",
        "extension" : "swift",
        "linesOfCode" : 145,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 242,
      "endLine" : 262,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/AppDelegate.swift",
        "extension" : "swift",
        "linesOfCode" : 15,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 20,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/AppDelegate.swift",
        "extension" : "swift",
        "linesOfCode" : 16,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 21,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/DependencyProviderContentTask.swift",
        "extension" : "swift",
        "linesOfCode" : 61,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 87,
      "endLine" : 100,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/Pluginized/PluginizedDependencyProviderContentTask.swift",
        "extension" : "swift",
        "linesOfCode" : 114,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 84,
      "startLine" : 141,
      "endLine" : 155,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 102,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 73,
      "endLine" : 84,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 170,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/DependencyGraphExporter.swift",
        "extension" : "swift",
        "linesOfCode" : 89,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 110,
      "endLine" : 121,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Generating/Pluginized/PluginizedDependencyGraphExporter.swift",
        "extension" : "swift",
        "linesOfCode" : 120,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 122,
      "endLine" : 133,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 170,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 44,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 101,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 72,
      "endLine" : 83,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/AppDelegate.swift",
        "extension" : "swift",
        "linesOfCode" : 15,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 20,
      "endLine" : 31,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/AppDelegate.swift",
        "extension" : "swift",
        "linesOfCode" : 16,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 21,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/DependencyGraphParser.swift",
        "extension" : "swift",
        "linesOfCode" : 74,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 100,
      "endLine" : 108,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/Pluginized/PluginizedDependencyGraphParser.swift",
        "extension" : "swift",
        "linesOfCode" : 118,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 106,
      "endLine" : 114,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sources/NeedleFoundation/Component.swift",
        "extension" : "swift",
        "linesOfCode" : 145,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 80,
      "endLine" : 93,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "Sources/NeedleFoundation/Component.swift",
        "extension" : "swift",
        "linesOfCode" : 145,
        "components" : [ "primary::Sources" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 204,
      "endLine" : 217,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Entry/Generator.swift",
        "extension" : "swift",
        "linesOfCode" : 113,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 111,
      "endLine" : 117,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Entry/Generator.swift",
        "extension" : "swift",
        "linesOfCode" : 113,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 97,
      "startLine" : 157,
      "endLine" : 163,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 102,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 119,
      "endLine" : 132,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 170,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 186,
      "endLine" : 199,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/LoggedOut/LoggedOutComponent.swift",
        "extension" : "swift",
        "linesOfCode" : 13,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 20,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/LoggedOut/LoggedOutComponent.swift",
        "extension" : "swift",
        "linesOfCode" : 13,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 20,
      "endLine" : 34,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 255,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 96,
      "endLine" : 102,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Game/GameViewModel.swift",
        "extension" : "swift",
        "linesOfCode" : 182,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 92,
      "endLine" : 98,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 254,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 95,
      "endLine" : 101,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Game/GameViewModel.swift",
        "extension" : "swift",
        "linesOfCode" : 182,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 92,
      "endLine" : 98,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 255,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 216,
      "endLine" : 225,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Game/GameViewModel.swift",
        "extension" : "swift",
        "linesOfCode" : 182,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 254,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 215,
      "endLine" : 224,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Game/GameViewModel.swift",
        "extension" : "swift",
        "linesOfCode" : 182,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 131,
      "endLine" : 139,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 170,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 186,
      "endLine" : 199,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/NeedleGenerated.swift",
        "extension" : "swift",
        "linesOfCode" : 101,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 118,
      "endLine" : 131,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/Pluginized/Tasks/PluginizedASTDeclarationParserTask.swift",
        "extension" : "swift",
        "linesOfCode" : 115,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 74,
      "endLine" : 83,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/Tasks/DeclarationsParserTask.swift",
        "extension" : "swift",
        "linesOfCode" : 77,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 69,
      "endLine" : 78,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 254,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 143,
      "endLine" : 149,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/LoggedIn/LoggedInViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 76,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 53,
      "endLine" : 59,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/LoggedIn/LoggedInViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 76,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 53,
      "endLine" : 59,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 255,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 144,
      "endLine" : 150,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 255,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 144,
      "endLine" : 150,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/LoggedIn/LoggedInViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 77,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/LoggedOut/LoggedOutViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 61,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Root/RootViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 65,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 36,
      "endLine" : 46,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Game/GameView.swift",
        "extension" : "swift",
        "linesOfCode" : 46,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 27,
      "endLine" : 32,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/LoggedIn/LoggedInView.swift",
        "extension" : "swift",
        "linesOfCode" : 42,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/DependencyGraphParser.swift",
        "extension" : "swift",
        "linesOfCode" : 74,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 94,
      "endLine" : 99,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/Pluginized/PluginizedDependencyGraphParser.swift",
        "extension" : "swift",
        "linesOfCode" : 118,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 97,
      "endLine" : 102,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/needle/GenerateCommand.swift",
        "extension" : "swift",
        "linesOfCode" : 72,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 84,
      "endLine" : 90,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/needle/PrintDependencyTreeCommand.swift",
        "extension" : "swift",
        "linesOfCode" : 53,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/AbstractDependencyGraphParser.swift",
        "extension" : "swift",
        "linesOfCode" : 113,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 140,
      "endLine" : 147,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/Pluginized/PluginizedDependencyGraphParser.swift",
        "extension" : "swift",
        "linesOfCode" : 118,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Root/RootViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 65,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 36,
      "endLine" : 46,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/LoggedOut/LoggedOutViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 61,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 255,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 185,
      "endLine" : 190,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Game/GameViewModel.swift",
        "extension" : "swift",
        "linesOfCode" : 182,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 254,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 184,
      "endLine" : 189,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Game/GameViewModel.swift",
        "extension" : "swift",
        "linesOfCode" : 182,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 135,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/LoggedOut/LoggedOutViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 61,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Root/RootViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 65,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 36,
      "endLine" : 46,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/MVC/TicTacToe/Sources/Game/GameViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 254,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 143,
      "endLine" : 149,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/LoggedIn/LoggedInViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 77,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/AbstractDependencyGraphParser.swift",
        "extension" : "swift",
        "linesOfCode" : 113,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 81,
      "startLine" : 140,
      "endLine" : 147,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "Generator/Sources/NeedleFramework/Parsing/DependencyGraphParser.swift",
        "extension" : "swift",
        "linesOfCode" : 74,
        "components" : [ "primary::Generator" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 102,
      "endLine" : 108,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/Game/GameView.swift",
        "extension" : "swift",
        "linesOfCode" : 46,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 44,
      "endLine" : 50,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "Sample/SwiftUI-MVVM/TicTacToe/Sources/LoggedIn/LoggedInView.swift",
        "extension" : "swift",
        "linesOfCode" : 42,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 49,
      "endLine" : 55,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/LoggedOut/LoggedOutViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 61,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 24,
      "endLine" : 34,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "Sample/Pluginized/TicTacToe/TicTacToeCore/Root/RootViewController.swift",
        "extension" : "swift",
        "linesOfCode" : 65,
        "components" : [ "primary::Sample" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 36,
      "endLine" : 46,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  } ],
  "overallDuplication" : null
}