[
  {
    "fragmentId": "method:ev8hjj:vibratesuccessasync__fragment",
    "ownerFileId": "file:qt46oq:webplatformservice-cs",
    "ownerSymbolId": "method:ev8hjj:vibratesuccessasync",
    "ownerSymbolName": "VibrateSuccessAsync",
    "entryNodeId": "method:ev8hjj:vibratesuccessasync__entry",
    "exitNodeIds": [
      "method:ev8hjj:vibratesuccessasync__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:ev8hjj:vibratesuccessasync__entry",
        "kind": "entry",
        "label": "VibrateSuccessAsync entry",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.99,
        "detail": "Convenience method to trigger a short success vibration (100ms) by delegating to VibrateAsync."
      },
      {
        "id": "method:ev8hjj:vibratesuccessasync__action_16_vibratesuccessasync_await_16_0__await",
        "kind": "await",
        "label": "Waits for async work",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.81,
        "detail": "public async Task<Result> VibrateSuccessAsync() => await VibrateAsync(100);"
      },
      {
        "id": "method:ev8hjj:vibratesuccessasync__action_16_orchestration_16__linear",
        "kind": "statement",
        "label": "Delegates to VibrateAsync",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "Expression-bodied forwarder to VibrateAsync(100)"
      },
      {
        "id": "method:ev8hjj:vibratesuccessasync__call_16_VibrateAsync",
        "kind": "call",
        "label": "VibrateAsync",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.88,
        "detail": "100 (milliseconds)"
      },
      {
        "id": "method:ev8hjj:vibratesuccessasync__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:ev8hjj:vibratesuccessasync__entry__method:ev8hjj:vibratesuccessasync__action_16_vibratesuccessasync_await_16_0__await",
        "from": "method:ev8hjj:vibratesuccessasync__entry",
        "to": "method:ev8hjj:vibratesuccessasync__action_16_vibratesuccessasync_await_16_0__await",
        "kind": "next",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.81
      },
      {
        "id": "method:ev8hjj:vibratesuccessasync__action_16_vibratesuccessasync_await_16_0__await__method:ev8hjj:vibratesuccessasync__action_16_orchestration_16__linear",
        "from": "method:ev8hjj:vibratesuccessasync__action_16_vibratesuccessasync_await_16_0__await",
        "to": "method:ev8hjj:vibratesuccessasync__action_16_orchestration_16__linear",
        "kind": "next",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:ev8hjj:vibratesuccessasync__action_16_orchestration_16__linear__call_method:ev8hjj:vibratesuccessasync__call_16_VibrateAsync",
        "from": "method:ev8hjj:vibratesuccessasync__action_16_orchestration_16__linear",
        "to": "method:ev8hjj:vibratesuccessasync__call_16_VibrateAsync",
        "kind": "call",
        "label": "100 (milliseconds)",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.88
      },
      {
        "id": "method:ev8hjj:vibratesuccessasync__call_16_VibrateAsync__implicit_return",
        "from": "method:ev8hjj:vibratesuccessasync__call_16_VibrateAsync",
        "to": "method:ev8hjj:vibratesuccessasync__implicit_return",
        "kind": "return",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [
      {
        "id": "method:ev8hjj:vibratesuccessasync__call_16_VibrateAsync__jump_NexusReader_Web_Client_Services_WebPlatformService_cs_VibrateAsync",
        "fromNodeId": "method:ev8hjj:vibratesuccessasync__call_16_VibrateAsync",
        "kind": "call-target",
        "targetNodeId": "method:1lfokb3:vibrateasync",
        "targetPath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "targetHint": "VibrateAsync",
        "line": 16,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "reason": "Call target VibrateAsync resolved to NexusReader.Web.Client/Services/WebPlatformService.cs.",
        "status": "resolved"
      }
    ],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.82,
    "lineSpan": {
      "start": 16,
      "end": 16
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "line": 16,
        "summary": "Control-flow fragment extracted for method VibrateSuccessAsync.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:eown21:vibrateerrorasync__fragment",
    "ownerFileId": "file:qt46oq:webplatformservice-cs",
    "ownerSymbolId": "method:eown21:vibrateerrorasync",
    "ownerSymbolName": "VibrateErrorAsync",
    "entryNodeId": "method:eown21:vibrateerrorasync__entry",
    "exitNodeIds": [
      "method:eown21:vibrateerrorasync__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:eown21:vibrateerrorasync__entry",
        "kind": "entry",
        "label": "VibrateErrorAsync entry",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.99,
        "detail": "Convenience method to trigger a longer error vibration (300ms) by delegating to VibrateAsync."
      },
      {
        "id": "method:eown21:vibrateerrorasync__action_17_vibrateerrorasync_await_17_0__await",
        "kind": "await",
        "label": "Waits for async work",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.81,
        "detail": "public async Task<Result> VibrateErrorAsync() => await VibrateAsync(300);"
      },
      {
        "id": "method:eown21:vibrateerrorasync__action_17_orchestration_17__linear",
        "kind": "statement",
        "label": "Delegates to VibrateAsync",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "Expression-bodied forwarder to VibrateAsync(300)"
      },
      {
        "id": "method:eown21:vibrateerrorasync__call_17_VibrateAsync",
        "kind": "call",
        "label": "VibrateAsync",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.88,
        "detail": "300 (milliseconds)"
      },
      {
        "id": "method:eown21:vibrateerrorasync__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:eown21:vibrateerrorasync__entry__method:eown21:vibrateerrorasync__action_17_vibrateerrorasync_await_17_0__await",
        "from": "method:eown21:vibrateerrorasync__entry",
        "to": "method:eown21:vibrateerrorasync__action_17_vibrateerrorasync_await_17_0__await",
        "kind": "next",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.81
      },
      {
        "id": "method:eown21:vibrateerrorasync__action_17_vibrateerrorasync_await_17_0__await__method:eown21:vibrateerrorasync__action_17_orchestration_17__linear",
        "from": "method:eown21:vibrateerrorasync__action_17_vibrateerrorasync_await_17_0__await",
        "to": "method:eown21:vibrateerrorasync__action_17_orchestration_17__linear",
        "kind": "next",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:eown21:vibrateerrorasync__action_17_orchestration_17__linear__call_method:eown21:vibrateerrorasync__call_17_VibrateAsync",
        "from": "method:eown21:vibrateerrorasync__action_17_orchestration_17__linear",
        "to": "method:eown21:vibrateerrorasync__call_17_VibrateAsync",
        "kind": "call",
        "label": "300 (milliseconds)",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.88
      },
      {
        "id": "method:eown21:vibrateerrorasync__call_17_VibrateAsync__implicit_return",
        "from": "method:eown21:vibrateerrorasync__call_17_VibrateAsync",
        "to": "method:eown21:vibrateerrorasync__implicit_return",
        "kind": "return",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [
      {
        "id": "method:eown21:vibrateerrorasync__call_17_VibrateAsync__jump_NexusReader_Web_Client_Services_WebPlatformService_cs_VibrateAsync",
        "fromNodeId": "method:eown21:vibrateerrorasync__call_17_VibrateAsync",
        "kind": "call-target",
        "targetNodeId": "method:1lfokb3:vibrateasync",
        "targetPath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "targetHint": "VibrateAsync",
        "line": 17,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "reason": "Call target VibrateAsync resolved to NexusReader.Web.Client/Services/WebPlatformService.cs.",
        "status": "resolved"
      }
    ],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.82,
    "lineSpan": {
      "start": 17,
      "end": 17
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "line": 17,
        "summary": "Control-flow fragment extracted for method VibrateErrorAsync.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1lfokb3:vibrateasync__fragment",
    "ownerFileId": "file:qt46oq:webplatformservice-cs",
    "ownerSymbolId": "method:1lfokb3:vibrateasync",
    "ownerSymbolName": "VibrateAsync",
    "entryNodeId": "method:1lfokb3:vibrateasync__entry",
    "exitNodeIds": [
      "method:1lfokb3:vibrateasync__action_24_return_24__return",
      "method:1lfokb3:vibrateasync__action_24_vibrateasync_return_24_2__return",
      "method:1lfokb3:vibrateasync__action_28_vibrateasync_return_28_4__return",
      "method:1lfokb3:vibrateasync__action_28_return_28__return"
    ],
    "nodes": [
      {
        "id": "method:1lfokb3:vibrateasync__entry",
        "kind": "entry",
        "label": "VibrateAsync entry",
        "line": 19,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.99,
        "detail": "Attempts to vibrate the user's device for the specified duration via JS interop, returning Ok on success or Fail with the exception message on error."
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_21_try_catch_21__linear",
        "kind": "statement",
        "label": "Handles JS invocation errors",
        "line": 21,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "Try the JS call and return Result.Ok(); catch Exception and return Result.Fail(ex.Message)"
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_21_vibrateasync_try_21_0__try",
        "kind": "try",
        "label": "Begins protected execution",
        "line": 21,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.84,
        "detail": "try"
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_23_vibrateasync_await_23_1__await",
        "kind": "await",
        "label": "Waits for async work",
        "line": 23,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.81,
        "detail": "await _jsRuntime.InvokeVoidAsync(\"navigator.vibrate\", milliseconds);"
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_23_external_call_23__linear",
        "kind": "http-call",
        "label": "Invokes browser vibration via JS interop",
        "line": 23,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "_jsRuntime.InvokeVoidAsync(\"navigator.vibrate\", milliseconds) -- external/framework call to IJSRuntime (browser)"
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_24_return_24__return",
        "kind": "return",
        "label": "Success path",
        "line": 24,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "return Result.Ok()"
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_24_vibrateasync_return_24_2__return",
        "kind": "return",
        "label": "Returns result",
        "line": 24,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "return Result.Ok();"
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_26_vibrateasync_catch_26_3__catch",
        "kind": "catch",
        "label": "catch Exception ex",
        "line": 26,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.86,
        "detail": "catch (Exception ex)"
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_28_vibrateasync_return_28_4__return",
        "kind": "return",
        "label": "Returns result",
        "line": 28,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "return Result.Fail(ex.Message);"
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_28_return_28__return",
        "kind": "return",
        "label": "Failure path",
        "line": 28,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "return Result.Fail(ex.Message)"
      }
    ],
    "edges": [
      {
        "id": "method:1lfokb3:vibrateasync__entry__method:1lfokb3:vibrateasync__action_21_try_catch_21__linear",
        "from": "method:1lfokb3:vibrateasync__entry",
        "to": "method:1lfokb3:vibrateasync__action_21_try_catch_21__linear",
        "kind": "next",
        "line": 21,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_21_try_catch_21__linear__method:1lfokb3:vibrateasync__action_21_vibrateasync_try_21_0__try",
        "from": "method:1lfokb3:vibrateasync__action_21_try_catch_21__linear",
        "to": "method:1lfokb3:vibrateasync__action_21_vibrateasync_try_21_0__try",
        "kind": "next",
        "line": 21,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.84
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_21_vibrateasync_try_21_0__try__method:1lfokb3:vibrateasync__action_23_vibrateasync_await_23_1__await",
        "from": "method:1lfokb3:vibrateasync__action_21_vibrateasync_try_21_0__try",
        "to": "method:1lfokb3:vibrateasync__action_23_vibrateasync_await_23_1__await",
        "kind": "next",
        "line": 23,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.81
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_23_vibrateasync_await_23_1__await__method:1lfokb3:vibrateasync__action_23_external_call_23__linear",
        "from": "method:1lfokb3:vibrateasync__action_23_vibrateasync_await_23_1__await",
        "to": "method:1lfokb3:vibrateasync__action_23_external_call_23__linear",
        "kind": "next",
        "line": 23,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_23_external_call_23__linear__method:1lfokb3:vibrateasync__action_24_return_24__return",
        "from": "method:1lfokb3:vibrateasync__action_23_external_call_23__linear",
        "to": "method:1lfokb3:vibrateasync__action_24_return_24__return",
        "kind": "return",
        "line": 24,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_24_return_24__return__method:1lfokb3:vibrateasync__action_24_vibrateasync_return_24_2__return",
        "from": "method:1lfokb3:vibrateasync__action_24_return_24__return",
        "to": "method:1lfokb3:vibrateasync__action_24_vibrateasync_return_24_2__return",
        "kind": "return",
        "line": 24,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_24_vibrateasync_return_24_2__return__method:1lfokb3:vibrateasync__action_26_vibrateasync_catch_26_3__catch",
        "from": "method:1lfokb3:vibrateasync__action_24_vibrateasync_return_24_2__return",
        "to": "method:1lfokb3:vibrateasync__action_26_vibrateasync_catch_26_3__catch",
        "kind": "exception",
        "line": 26,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.86
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_26_vibrateasync_catch_26_3__catch__method:1lfokb3:vibrateasync__action_28_vibrateasync_return_28_4__return",
        "from": "method:1lfokb3:vibrateasync__action_26_vibrateasync_catch_26_3__catch",
        "to": "method:1lfokb3:vibrateasync__action_28_vibrateasync_return_28_4__return",
        "kind": "return",
        "line": 28,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1lfokb3:vibrateasync__action_28_vibrateasync_return_28_4__return__method:1lfokb3:vibrateasync__action_28_return_28__return",
        "from": "method:1lfokb3:vibrateasync__action_28_vibrateasync_return_28_4__return",
        "to": "method:1lfokb3:vibrateasync__action_28_return_28__return",
        "kind": "return",
        "line": 28,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.97,
    "lineSpan": {
      "start": 19,
      "end": 30
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "line": 19,
        "summary": "Control-flow fragment extracted for method VibrateAsync.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:fmgrt8:getdevicecontext__fragment",
    "ownerFileId": "file:qt46oq:webplatformservice-cs",
    "ownerSymbolId": "method:fmgrt8:getdevicecontext",
    "ownerSymbolName": "GetDeviceContext",
    "entryNodeId": "method:fmgrt8:getdevicecontext__entry",
    "exitNodeIds": [
      "method:fmgrt8:getdevicecontext__action_34_return_34__return",
      "method:fmgrt8:getdevicecontext__action_34_getdevicecontext_return_34_0__return",
      "method:fmgrt8:getdevicecontext__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:fmgrt8:getdevicecontext__entry",
        "kind": "entry",
        "label": "GetDeviceContext entry",
        "line": 32,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.99,
        "detail": "Provides a DeviceContext describing the running platform (hardcoded for browser/web) wrapped in a FluentResults Result."
      },
      {
        "id": "method:fmgrt8:getdevicecontext__action_34_return_34__return",
        "kind": "return",
        "label": "Wraps created context in Result.Ok",
        "line": 34,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "Result.Ok(DeviceContext)"
      },
      {
        "id": "method:fmgrt8:getdevicecontext__action_34_getdevicecontext_return_34_0__return",
        "kind": "return",
        "label": "Returns result",
        "line": 34,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "return Result.Ok(new DeviceContext("
      },
      {
        "id": "method:fmgrt8:getdevicecontext__action_34_create_34__linear",
        "kind": "statement",
        "label": "Creates DeviceContext DTO",
        "line": 34,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7,
        "detail": "new DeviceContext(\"Browser\", \"Web\", DeviceType.Desktop, DisplayOrientation.Unknown)"
      },
      {
        "id": "method:fmgrt8:getdevicecontext__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 40,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:fmgrt8:getdevicecontext__entry__method:fmgrt8:getdevicecontext__action_34_return_34__return",
        "from": "method:fmgrt8:getdevicecontext__entry",
        "to": "method:fmgrt8:getdevicecontext__action_34_return_34__return",
        "kind": "return",
        "line": 34,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:fmgrt8:getdevicecontext__action_34_return_34__return__method:fmgrt8:getdevicecontext__action_34_getdevicecontext_return_34_0__return",
        "from": "method:fmgrt8:getdevicecontext__action_34_return_34__return",
        "to": "method:fmgrt8:getdevicecontext__action_34_getdevicecontext_return_34_0__return",
        "kind": "return",
        "line": 34,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:fmgrt8:getdevicecontext__action_34_getdevicecontext_return_34_0__return__method:fmgrt8:getdevicecontext__action_34_create_34__linear",
        "from": "method:fmgrt8:getdevicecontext__action_34_getdevicecontext_return_34_0__return",
        "to": "method:fmgrt8:getdevicecontext__action_34_create_34__linear",
        "kind": "next",
        "line": 34,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:fmgrt8:getdevicecontext__action_34_create_34__linear__implicit_return",
        "from": "method:fmgrt8:getdevicecontext__action_34_create_34__linear",
        "to": "method:fmgrt8:getdevicecontext__implicit_return",
        "kind": "return",
        "line": 40,
        "sourcePath": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.82,
    "lineSpan": {
      "start": 32,
      "end": 40
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Web.Client/Services/WebPlatformService.cs",
        "line": 32,
        "summary": "Control-flow fragment extracted for method GetDeviceContext.",
        "kind": "file-summary"
      }
    ]
  }
]