[
  {
    "fragmentId": "method:pslukv:computehash__fragment",
    "ownerFileId": "file:13kvr59:contenthasher-cs",
    "ownerSymbolId": "method:pslukv:computehash",
    "ownerSymbolName": "ComputeHash",
    "entryNodeId": "method:pslukv:computehash__entry",
    "exitNodeIds": [
      "method:pslukv:computehash__action_13_computehash_return_13_1__return",
      "method:pslukv:computehash__action_21_computehash_return_21_2__return",
      "method:pslukv:computehash__action_21_return_21__return",
      "method:pslukv:computehash__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:pslukv:computehash__entry",
        "kind": "entry",
        "label": "ComputeHash entry",
        "line": 9,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.99,
        "detail": "Normalize the provided string and return its SHA-256 hash as a lower-case hex string; returns empty string for null/whitespace input."
      },
      {
        "id": "method:pslukv:computehash__action_11_guard_clause_11__condition",
        "kind": "condition",
        "label": "string.IsNullOrWhiteSpace(input)",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "if input is null/empty/whitespace return string.Empty"
      },
      {
        "id": "method:pslukv:computehash__action_11_guard_clause_11__true",
        "kind": "branch-true",
        "label": "return-empty",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_11_guard_clause_11__false",
        "kind": "branch-false",
        "label": "continue",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_11_guard_clause_11__merge",
        "kind": "statement",
        "label": "merge",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_11_computehash_branch_11_0__condition",
        "kind": "condition",
        "label": "string.IsNullOrWhiteSpace(input)",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78,
        "detail": "if (string.IsNullOrWhiteSpace(input))"
      },
      {
        "id": "method:pslukv:computehash__action_11_computehash_branch_11_0__true",
        "kind": "branch-true",
        "label": "true",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:pslukv:computehash__action_11_computehash_branch_11_0__false",
        "kind": "branch-false",
        "label": "false",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:pslukv:computehash__action_11_computehash_branch_11_0__merge",
        "kind": "statement",
        "label": "merge",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:pslukv:computehash__action_13_computehash_return_13_1__return",
        "kind": "return",
        "label": "Returns result",
        "line": 13,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "return string.Empty;"
      },
      {
        "id": "method:pslukv:computehash__action_16_orchestration_16__linear",
        "kind": "statement",
        "label": "Normalization call",
        "line": 16,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "calls Normalize(input) to produce a deterministic canonical input before hashing"
      },
      {
        "id": "method:pslukv:computehash__call_16_Normalize",
        "kind": "call",
        "label": "Normalize",
        "line": 16,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.88,
        "detail": "input string to normalize"
      },
      {
        "id": "method:pslukv:computehash__action_18_transform_18__linear",
        "kind": "statement",
        "label": "UTF-8 encoding",
        "line": 18,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "var inputBytes = Encoding.UTF8.GetBytes(normalizedInput) (framework API)"
      },
      {
        "id": "method:pslukv:computehash__action_19_external_call_19__linear",
        "kind": "http-call",
        "label": "SHA-256 hash computation",
        "line": 19,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "var hashBytes = SHA256.HashData(inputBytes) (framework API)"
      },
      {
        "id": "method:pslukv:computehash__action_21_computehash_return_21_2__return",
        "kind": "return",
        "label": "Returns result",
        "line": 21,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "return Convert.ToHexString(hashBytes).ToLowerInvariant();"
      },
      {
        "id": "method:pslukv:computehash__action_21_return_21__return",
        "kind": "return",
        "label": "Returns hash string",
        "line": 21,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "returns lower-case hex representation of SHA-256 hash"
      },
      {
        "id": "method:pslukv:computehash__action_21_transform_21__linear",
        "kind": "statement",
        "label": "Hex conversion and normalization",
        "line": 21,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "Convert.ToHexString(hashBytes).ToLowerInvariant() -> final hex string"
      },
      {
        "id": "method:pslukv:computehash__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 22,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:pslukv:computehash__entry__method:pslukv:computehash__action_11_guard_clause_11__condition",
        "from": "method:pslukv:computehash__entry",
        "to": "method:pslukv:computehash__action_11_guard_clause_11__condition",
        "kind": "next",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_11_guard_clause_11__condition__method:pslukv:computehash__action_11_guard_clause_11__true",
        "from": "method:pslukv:computehash__action_11_guard_clause_11__condition",
        "to": "method:pslukv:computehash__action_11_guard_clause_11__true",
        "kind": "condition-true",
        "label": "return-empty",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_11_guard_clause_11__condition__method:pslukv:computehash__action_11_guard_clause_11__false",
        "from": "method:pslukv:computehash__action_11_guard_clause_11__condition",
        "to": "method:pslukv:computehash__action_11_guard_clause_11__false",
        "kind": "condition-false",
        "label": "continue",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_11_guard_clause_11__true__method:pslukv:computehash__action_11_guard_clause_11__merge",
        "from": "method:pslukv:computehash__action_11_guard_clause_11__true",
        "to": "method:pslukv:computehash__action_11_guard_clause_11__merge",
        "kind": "next",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_11_guard_clause_11__false__method:pslukv:computehash__action_11_guard_clause_11__merge",
        "from": "method:pslukv:computehash__action_11_guard_clause_11__false",
        "to": "method:pslukv:computehash__action_11_guard_clause_11__merge",
        "kind": "next",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_11_guard_clause_11__merge__method:pslukv:computehash__action_11_computehash_branch_11_0__condition",
        "from": "method:pslukv:computehash__action_11_guard_clause_11__merge",
        "to": "method:pslukv:computehash__action_11_computehash_branch_11_0__condition",
        "kind": "next",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:pslukv:computehash__action_11_computehash_branch_11_0__condition__method:pslukv:computehash__action_11_computehash_branch_11_0__true",
        "from": "method:pslukv:computehash__action_11_computehash_branch_11_0__condition",
        "to": "method:pslukv:computehash__action_11_computehash_branch_11_0__true",
        "kind": "condition-true",
        "label": "true",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:pslukv:computehash__action_11_computehash_branch_11_0__condition__method:pslukv:computehash__action_11_computehash_branch_11_0__false",
        "from": "method:pslukv:computehash__action_11_computehash_branch_11_0__condition",
        "to": "method:pslukv:computehash__action_11_computehash_branch_11_0__false",
        "kind": "condition-false",
        "label": "false",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:pslukv:computehash__action_11_computehash_branch_11_0__true__method:pslukv:computehash__action_11_computehash_branch_11_0__merge",
        "from": "method:pslukv:computehash__action_11_computehash_branch_11_0__true",
        "to": "method:pslukv:computehash__action_11_computehash_branch_11_0__merge",
        "kind": "next",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:pslukv:computehash__action_11_computehash_branch_11_0__false__method:pslukv:computehash__action_11_computehash_branch_11_0__merge",
        "from": "method:pslukv:computehash__action_11_computehash_branch_11_0__false",
        "to": "method:pslukv:computehash__action_11_computehash_branch_11_0__merge",
        "kind": "next",
        "line": 11,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:pslukv:computehash__action_11_computehash_branch_11_0__merge__method:pslukv:computehash__action_13_computehash_return_13_1__return",
        "from": "method:pslukv:computehash__action_11_computehash_branch_11_0__merge",
        "to": "method:pslukv:computehash__action_13_computehash_return_13_1__return",
        "kind": "return",
        "line": 13,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_13_computehash_return_13_1__return__method:pslukv:computehash__action_16_orchestration_16__linear",
        "from": "method:pslukv:computehash__action_13_computehash_return_13_1__return",
        "to": "method:pslukv:computehash__action_16_orchestration_16__linear",
        "kind": "next",
        "line": 16,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_16_orchestration_16__linear__call_method:pslukv:computehash__call_16_Normalize",
        "from": "method:pslukv:computehash__action_16_orchestration_16__linear",
        "to": "method:pslukv:computehash__call_16_Normalize",
        "kind": "call",
        "label": "input string to normalize",
        "line": 16,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.88
      },
      {
        "id": "method:pslukv:computehash__call_16_Normalize__method:pslukv:computehash__action_18_transform_18__linear",
        "from": "method:pslukv:computehash__call_16_Normalize",
        "to": "method:pslukv:computehash__action_18_transform_18__linear",
        "kind": "next",
        "line": 18,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_18_transform_18__linear__method:pslukv:computehash__action_19_external_call_19__linear",
        "from": "method:pslukv:computehash__action_18_transform_18__linear",
        "to": "method:pslukv:computehash__action_19_external_call_19__linear",
        "kind": "next",
        "line": 19,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_19_external_call_19__linear__method:pslukv:computehash__action_21_computehash_return_21_2__return",
        "from": "method:pslukv:computehash__action_19_external_call_19__linear",
        "to": "method:pslukv:computehash__action_21_computehash_return_21_2__return",
        "kind": "return",
        "line": 21,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_21_computehash_return_21_2__return__method:pslukv:computehash__action_21_return_21__return",
        "from": "method:pslukv:computehash__action_21_computehash_return_21_2__return",
        "to": "method:pslukv:computehash__action_21_return_21__return",
        "kind": "return",
        "line": 21,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_21_return_21__return__method:pslukv:computehash__action_21_transform_21__linear",
        "from": "method:pslukv:computehash__action_21_return_21__return",
        "to": "method:pslukv:computehash__action_21_transform_21__linear",
        "kind": "next",
        "line": 21,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:pslukv:computehash__action_21_transform_21__linear__implicit_return",
        "from": "method:pslukv:computehash__action_21_transform_21__linear",
        "to": "method:pslukv:computehash__implicit_return",
        "kind": "return",
        "line": 22,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [
      {
        "id": "method:pslukv:computehash__call_16_Normalize__jump_NexusReader_Infrastructure_Helpers_ContentHasher_cs_Normalize",
        "fromNodeId": "method:pslukv:computehash__call_16_Normalize",
        "kind": "call-target",
        "targetNodeId": "method:1e84qm4:normalize",
        "targetPath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "targetHint": "Normalize",
        "line": 16,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "reason": "Call target Normalize resolved to NexusReader.Infrastructure/Helpers/ContentHasher.cs.",
        "status": "resolved"
      }
    ],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [
      "method:pslukv:computehash__action_11_guard_clause_11__merge",
      "method:pslukv:computehash__action_11_computehash_branch_11_0__merge"
    ],
    "language": "csharp",
    "confidence": 0.98,
    "lineSpan": {
      "start": 9,
      "end": 22
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "line": 9,
        "summary": "Control-flow fragment extracted for method ComputeHash.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1e84qm4:normalize__fragment",
    "ownerFileId": "file:13kvr59:contenthasher-cs",
    "ownerSymbolId": "method:1e84qm4:normalize",
    "ownerSymbolName": "Normalize",
    "entryNodeId": "method:1e84qm4:normalize__entry",
    "exitNodeIds": [
      "method:1e84qm4:normalize__action_28_normalize_return_28_1__return",
      "method:1e84qm4:normalize__action_35_normalize_return_35_2__return",
      "method:1e84qm4:normalize__action_35_return_35__return"
    ],
    "nodes": [
      {
        "id": "method:1e84qm4:normalize__entry",
        "kind": "entry",
        "label": "Normalize entry",
        "line": 24,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.99,
        "detail": "Produce a deterministic normalized version of the input by trimming, collapsing whitespace to single spaces, and lower-casing; returns empty for null/whitespace input."
      },
      {
        "id": "method:1e84qm4:normalize__action_26_guard_clause_26__condition",
        "kind": "condition",
        "label": "string.IsNullOrWhiteSpace(input)",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "if input is null/empty/whitespace return string.Empty"
      },
      {
        "id": "method:1e84qm4:normalize__action_26_guard_clause_26__true",
        "kind": "branch-true",
        "label": "return-empty",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_26_guard_clause_26__false",
        "kind": "branch-false",
        "label": "continue",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_26_guard_clause_26__merge",
        "kind": "statement",
        "label": "merge",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__condition",
        "kind": "condition",
        "label": "string.IsNullOrWhiteSpace(input)",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78,
        "detail": "if (string.IsNullOrWhiteSpace(input))"
      },
      {
        "id": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__true",
        "kind": "branch-true",
        "label": "true",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__false",
        "kind": "branch-false",
        "label": "false",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__merge",
        "kind": "statement",
        "label": "merge",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:1e84qm4:normalize__action_28_normalize_return_28_1__return",
        "kind": "return",
        "label": "Returns result",
        "line": 28,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "return string.Empty;"
      },
      {
        "id": "method:1e84qm4:normalize__action_31_transform_31__linear",
        "kind": "statement",
        "label": "Trim and collapse whitespace",
        "line": 31,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "Regex.Replace(input.Trim(), @\"\\s+\", \" \") collapses all consecutive whitespace into a single space (framework Regex)"
      },
      {
        "id": "method:1e84qm4:normalize__action_34_transform_34__linear",
        "kind": "statement",
        "label": "Case normalization",
        "line": 34,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "normalized.ToLowerInvariant() to produce case-insensitive canonical form"
      },
      {
        "id": "method:1e84qm4:normalize__action_35_normalize_return_35_2__return",
        "kind": "return",
        "label": "Returns result",
        "line": 35,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "return normalized.ToLowerInvariant();"
      },
      {
        "id": "method:1e84qm4:normalize__action_35_return_35__return",
        "kind": "return",
        "label": "Returns normalized string",
        "line": 35,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7,
        "detail": "returns trimmed, whitespace-collapsed, lower-cased string"
      }
    ],
    "edges": [
      {
        "id": "method:1e84qm4:normalize__entry__method:1e84qm4:normalize__action_26_guard_clause_26__condition",
        "from": "method:1e84qm4:normalize__entry",
        "to": "method:1e84qm4:normalize__action_26_guard_clause_26__condition",
        "kind": "next",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_26_guard_clause_26__condition__method:1e84qm4:normalize__action_26_guard_clause_26__true",
        "from": "method:1e84qm4:normalize__action_26_guard_clause_26__condition",
        "to": "method:1e84qm4:normalize__action_26_guard_clause_26__true",
        "kind": "condition-true",
        "label": "return-empty",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_26_guard_clause_26__condition__method:1e84qm4:normalize__action_26_guard_clause_26__false",
        "from": "method:1e84qm4:normalize__action_26_guard_clause_26__condition",
        "to": "method:1e84qm4:normalize__action_26_guard_clause_26__false",
        "kind": "condition-false",
        "label": "continue",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_26_guard_clause_26__true__method:1e84qm4:normalize__action_26_guard_clause_26__merge",
        "from": "method:1e84qm4:normalize__action_26_guard_clause_26__true",
        "to": "method:1e84qm4:normalize__action_26_guard_clause_26__merge",
        "kind": "next",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_26_guard_clause_26__false__method:1e84qm4:normalize__action_26_guard_clause_26__merge",
        "from": "method:1e84qm4:normalize__action_26_guard_clause_26__false",
        "to": "method:1e84qm4:normalize__action_26_guard_clause_26__merge",
        "kind": "next",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_26_guard_clause_26__merge__method:1e84qm4:normalize__action_26_normalize_branch_26_0__condition",
        "from": "method:1e84qm4:normalize__action_26_guard_clause_26__merge",
        "to": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__condition",
        "kind": "next",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__condition__method:1e84qm4:normalize__action_26_normalize_branch_26_0__true",
        "from": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__condition",
        "to": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__true",
        "kind": "condition-true",
        "label": "true",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__condition__method:1e84qm4:normalize__action_26_normalize_branch_26_0__false",
        "from": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__condition",
        "to": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__false",
        "kind": "condition-false",
        "label": "false",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__true__method:1e84qm4:normalize__action_26_normalize_branch_26_0__merge",
        "from": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__true",
        "to": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__merge",
        "kind": "next",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__false__method:1e84qm4:normalize__action_26_normalize_branch_26_0__merge",
        "from": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__false",
        "to": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__merge",
        "kind": "next",
        "line": 26,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.78
      },
      {
        "id": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__merge__method:1e84qm4:normalize__action_28_normalize_return_28_1__return",
        "from": "method:1e84qm4:normalize__action_26_normalize_branch_26_0__merge",
        "to": "method:1e84qm4:normalize__action_28_normalize_return_28_1__return",
        "kind": "return",
        "line": 28,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_28_normalize_return_28_1__return__method:1e84qm4:normalize__action_31_transform_31__linear",
        "from": "method:1e84qm4:normalize__action_28_normalize_return_28_1__return",
        "to": "method:1e84qm4:normalize__action_31_transform_31__linear",
        "kind": "next",
        "line": 31,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_31_transform_31__linear__method:1e84qm4:normalize__action_34_transform_34__linear",
        "from": "method:1e84qm4:normalize__action_31_transform_31__linear",
        "to": "method:1e84qm4:normalize__action_34_transform_34__linear",
        "kind": "next",
        "line": 34,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_34_transform_34__linear__method:1e84qm4:normalize__action_35_normalize_return_35_2__return",
        "from": "method:1e84qm4:normalize__action_34_transform_34__linear",
        "to": "method:1e84qm4:normalize__action_35_normalize_return_35_2__return",
        "kind": "return",
        "line": 35,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1e84qm4:normalize__action_35_normalize_return_35_2__return__method:1e84qm4:normalize__action_35_return_35__return",
        "from": "method:1e84qm4:normalize__action_35_normalize_return_35_2__return",
        "to": "method:1e84qm4:normalize__action_35_return_35__return",
        "kind": "return",
        "line": 35,
        "sourcePath": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "confidence": 0.7
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [
      "method:1e84qm4:normalize__action_26_guard_clause_26__merge",
      "method:1e84qm4:normalize__action_26_normalize_branch_26_0__merge"
    ],
    "language": "csharp",
    "confidence": 0.98,
    "lineSpan": {
      "start": 24,
      "end": 36
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Infrastructure/Helpers/ContentHasher.cs",
        "line": 24,
        "summary": "Control-flow fragment extracted for method Normalize.",
        "kind": "file-summary"
      }
    ]
  }
]