File size: 25,573 Bytes
a7f98d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8f39037
 
a7f98d9
 
 
 
 
 
 
 
 
 
0be19a7
a7f98d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<html>
    <head>
        <meta charset="utf-8">
        
            <script src="lib/bindings/utils.js"></script>
            <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/dist/vis-network.min.css" integrity="sha512-WgxfT5LWjfszlPHXRmBWHkV2eceiWTOBvrKCNbdgDYTHrT2AeLCGbF4sZlZw3UMN3WtL0tGUoIAKsu8mllg/XA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
            <script src="https://cdnjs.cloudflare.com/ajax/libs/vis-network/9.1.2/dist/vis-network.min.js" integrity="sha512-LnvoEWDFrqGHlHmDD2101OrLcbsfkrzoSpvtSQtxK3RMnRV0eOkhhBN2dXHKRrUU8p2DGRTk35n4O8nWSVe1mQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
            
        
<center>
<h1></h1>
</center>

<!-- <link rel="stylesheet" href="../node_modules/vis/dist/vis.min.css" type="text/css" />
<script type="text/javascript" src="../node_modules/vis/dist/vis.js"> </script>-->
        <link
          href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css"
          rel="stylesheet"
          integrity="sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6"
          crossorigin="anonymous"
        />
        <script
          src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js"
          integrity="sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf"
          crossorigin="anonymous"
        ></script>


        <center>
          <h1></h1>
        </center>
        <style type="text/css">

             #mynetwork {
                 width: 100%;
                 height: 650px;
                 background-color: #0d1117;
                 border: 1px solid lightgray;
                 position: relative;
                 float: left;
             }

             

             

             
        </style>
    </head>


    <body style='background:#0d1117;margin:0;padding:0;'>
        <div class="card" style="width: 100%">
            
            
            <div id="mynetwork" class="card-body"></div>
        </div>

        
        

        <script type="text/javascript">

              // initialize global variables.
              var edges;
              var nodes;
              var allNodes;
              var allEdges;
              var nodeColors;
              var originalNodes;
              var network;
              var container;
              var options, data;
              var filter = {
                  item : '',
                  property : '',
                  value : []
              };

              

              

              // This method is responsible for drawing the graph, returns the drawn network
              function drawGraph() {
                  var container = document.getElementById('mynetwork');

                  

                  // parsing and collecting nodes and edges from the python
                  nodes = new vis.DataSet([{"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:0", "label": "env", "shape": "dot", "size": 18, "title": " env"}, {"color": {"background": "#3d1a1a", "border": "#e06c75", "highlight": {"border": "#ff4444"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:37", "label": "huggingface-token", "shape": "dot", "size": 22, "title": "Secret | Rule: huggingface-token | Line: 7 | Source: gitleaks"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:12", "label": "test_secret.py", "shape": "dot", "size": 18, "title": " test_secret.py"}, {"color": {"background": "#3d1a1a", "border": "#e06c75", "highlight": {"border": "#ff4444"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:38", "label": "test-api-key", "shape": "dot", "size": 22, "title": "Secret | Rule: test-api-key | Line: 2 | Source: gitleaks"}, {"color": {"background": "#3d1a1a", "border": "#e06c75", "highlight": {"border": "#ff4444"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:39", "label": "generic-api-token", "shape": "dot", "size": 22, "title": "Secret | Rule: generic-api-token | Line: 5 | Source: gitleaks"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:13", "label": "vulnerable_code.py", "shape": "dot", "size": 18, "title": " vulnerable_code.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:15", "label": "api.py", "shape": "dot", "size": 18, "title": " app/api.py"}, {"color": {"background": "#2a1f0a", "border": "#4fc3a1", "highlight": {"border": "#4fc3a1"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:40", "label": "B110", "shape": "dot", "size": 20, "title": "B110 | LOW | bandit\ntry_except_pass \u2014 Try, Except, Pass detected.\n\nSilently ignoring exceptions in try/except blocks can hide security failures and unexpected behavior, making it difficult to detect and respond to potential threats."}, {"color": {"background": "#2a1f0a", "border": "#4fc3a1", "highlight": {"border": "#4fc3a1"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:41", "label": "B404", "shape": "dot", "size": 20, "title": "B404 | LOW | bandit\nblacklist \u2014 Consider possible security implications associated with the subprocess module.\n\nThe vulnerability is related to the use of the subprocess module in Python, which allows execution of system commands. This can lead to command injection attacks if user-controlled input is not proper"}, {"color": {"background": "#2a1f0a", "border": "#4fc3a1", "highlight": {"border": "#4fc3a1"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:42", "label": "B607", "shape": "dot", "size": 20, "title": "B607 | LOW | bandit\nstart_process_with_partial_path \u2014 Starting a process with a partial executable path\n\nStarting a process with a partial executable path can allow an attacker to manipulate the system\u0027s PATH variable and execute malicious commands."}, {"color": {"background": "#2a1f0a", "border": "#4fc3a1", "highlight": {"border": "#4fc3a1"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:43", "label": "B603", "shape": "dot", "size": 20, "title": "B603 | LOW | bandit\nsubprocess_without_shell_equals_true \u2014 subprocess call - check for execution of untrusted input.\n\nThis vulnerability occurs when a subprocess call is made with shell=True and untrusted input is passed to it, allowing for command injection attacks."}, {"color": {"background": "#2a1f0a", "border": "#ffd700", "highlight": {"border": "#ffd700"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:44", "label": "B104", "shape": "dot", "size": 20, "title": "B104 | MEDIUM | bandit\nhardcoded_bind_all_interfaces \u2014 Possible binding to all interfaces.\n\nThe application is binding to all network interfaces without specifying which ones, making it vulnerable to unauthorized access from any network interface."}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:20", "label": "main.py", "shape": "dot", "size": 18, "title": " app/main.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:23", "label": "scanner.py", "shape": "dot", "size": 18, "title": " app/scanner.py"}, {"color": {"background": "#2a1f0a", "border": "#4fc3a1", "highlight": {"border": "#4fc3a1"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:45", "label": "B105", "shape": "dot", "size": 20, "title": "B105 | LOW | bandit\nhardcoded_password_string \u2014 Possible hardcoded password: \u0027wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\u0027\n\nThis vulnerability is a hardcoded password string that can be easily discovered and abused by attackers."}, {"color": {"background": "#2a1f0a", "border": "#ff8c00", "highlight": {"border": "#ff8c00"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:46", "label": "B605", "shape": "dot", "size": 26, "title": "B605 | HIGH | bandit\nstart_process_with_a_shell \u2014 Starting a process with a shell, possible injection detected, security issue.\n\nStarting a process with a shell allows an attacker to execute arbitrary commands on the system, potentially leading to unauthorized access and data theft."}, {"color": {"background": "#2a1f0a", "border": "#4fc3a1", "highlight": {"border": "#4fc3a1"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:47", "label": "B602", "shape": "dot", "size": 20, "title": "B602 | LOW | bandit\nsubprocess_popen_with_shell_equals_true \u2014 subprocess call with shell=True seems safe, but may be changed in the future, \n\nThe vulnerability is related to a subprocess call with shell=True, which can be vulnerable to command injection attacks if the input is not properly sanitized."}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:11", "label": "requirements.txt", "shape": "dot", "size": 18, "title": " requirements.txt"}, {"color": {"background": "#2a1f0a", "border": "#ff4444", "highlight": {"border": "#ff4444"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:48", "label": "CVE-2026-45829", "shape": "dot", "size": 26, "title": "CVE-2026-45829 | CRITICAL | trivy\nchromadb: ChromaDB Python Project: Arbitrary code execution via pre-authentication code injection\n\nThis vulnerability allows an attacker to inject and execute arbitrary code on the ChromaDB system, potentially leading to unauthorized access and data tampering."}, {"color": {"background": "#2a1f0a", "border": "#ffd700", "highlight": {"border": "#ffd700"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:49", "label": "CVE-2026-28684", "shape": "dot", "size": 20, "title": "CVE-2026-28684 | MEDIUM | trivy\npython-dotenv: python-dotenv: Arbitrary file overwrite via symbolic link following\n\nThe python-dotenv library is vulnerable to arbitrary file overwrite due to symbolic link following, allowing an attacker to write files outside of intended locations."}, {"color": {"background": "#2a1f0a", "border": "#ffd700", "highlight": {"border": "#ffd700"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:50", "label": "CVE-2026-25645", "shape": "dot", "size": 20, "title": "CVE-2026-25645 | MEDIUM | trivy\nrequests: Requests: Security bypass due to predictable temporary file creation\n\nThis vulnerability allows an attacker to induce the server to make requests to unintended locations by manipulating temporary file creation, potentially accessing internal services or cloud metadata e"}, {"color": {"background": "#2a1f0a", "border": "#ffd700", "highlight": {"border": "#ffd700"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:51", "label": "CVE-2026-33682", "shape": "dot", "size": 20, "title": "CVE-2026-33682 | MEDIUM | trivy\nUnauthenticated SSRF Vulnerability in Streamlit on Windows (NTLM Credential Exposure)\n\nThe vulnerability allows an attacker to execute arbitrary commands on a Windows system by exploiting the NTLM credential exposure in Streamlit, a Python-based web application framework."}, {"color": {"background": "#2a1f0a", "border": "#ff4444", "highlight": {"border": "#ff4444"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:52", "label": "hugging-face-acces", "shape": "dot", "size": 26, "title": "hugging-face-access-token | CRITICAL | trivy\n\nThe application is vulnerable to a critical security issue where an Hugging Face model download is not properly verified for integrity, potentially introducing malicious code into the system."}, {"color": {"background": "#3d1a1a", "border": "#e06c75", "highlight": {"border": "#ff4444"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:53", "label": "hugging-face-access-", "shape": "dot", "size": 22, "title": "Secret | Rule: hugging-face-access-token | Line: ? | Source: trivy"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:1", "label": "gitattributes", "shape": "dot", "size": 18, "title": " gitattributes"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:2", "label": "gitignore", "shape": "dot", "size": 18, "title": " gitignore"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:3", "label": "gitleaksignore", "shape": "dot", "size": 18, "title": " gitleaksignore"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:4", "label": "python-version", "shape": "dot", "size": 18, "title": " python-version"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:5", "label": "docker-compose.yml", "shape": "dot", "size": 18, "title": " docker-compose.yml"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:6", "label": "Dockerfile", "shape": "dot", "size": 18, "title": " Dockerfile"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:7", "label": "gitleaks.toml", "shape": "dot", "size": 18, "title": " gitleaks.toml"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:8", "label": "pyproject.toml", "shape": "dot", "size": 18, "title": " pyproject.toml"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:9", "label": "README.md", "shape": "dot", "size": 18, "title": " README.md"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:10", "label": "requirements-deploy.txt", "shape": "dot", "size": 18, "title": " requirements-deploy.txt"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:14", "label": "agent.py", "shape": "dot", "size": 18, "title": " app/agent.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:16", "label": "demo.py", "shape": "dot", "size": 18, "title": " app/demo.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:17", "label": "demo_data.json", "shape": "dot", "size": 18, "title": " app/demo_data.json"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:18", "label": "eval.py", "shape": "dot", "size": 18, "title": " app/eval.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:19", "label": "llm.py", "shape": "dot", "size": 18, "title": " app/llm.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:21", "label": "mcp_server.py", "shape": "dot", "size": 18, "title": " app/mcp_server.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:22", "label": "rag.py", "shape": "dot", "size": 18, "title": " app/rag.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:24", "label": "schemas.py", "shape": "dot", "size": 18, "title": " app/schemas.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:25", "label": "tools.py", "shape": "dot", "size": 18, "title": " app/tools.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:26", "label": "utils.js", "shape": "dot", "size": 18, "title": " app/lib/bindings/utils.js"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:27", "label": "tom-select.complete.min.js", "shape": "dot", "size": 18, "title": " app/lib/tom-select/tom-select.complete.min.js"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:28", "label": "tom-select.css", "shape": "dot", "size": 18, "title": " app/lib/tom-select/tom-select.css"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:29", "label": "vis-network.css", "shape": "dot", "size": 18, "title": " app/lib/vis-9.1.2/vis-network.css"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:30", "label": "vis-network.min.js", "shape": "dot", "size": 18, "title": " app/lib/vis-9.1.2/vis-network.min.js"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:31", "label": "dashboard.py", "shape": "dot", "size": 18, "title": " app/pages/dashboard.py"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:32", "label": "utils.js", "shape": "dot", "size": 18, "title": " lib/bindings/utils.js"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:33", "label": "tom-select.complete.min.js", "shape": "dot", "size": 18, "title": " lib/tom-select/tom-select.complete.min.js"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:34", "label": "tom-select.css", "shape": "dot", "size": 18, "title": " lib/tom-select/tom-select.css"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:35", "label": "vis-network.css", "shape": "dot", "size": 18, "title": " lib/vis-9.1.2/vis-network.css"}, {"color": {"background": "#1a2744", "border": "#2d5a8e", "highlight": {"border": "#00c9ff"}}, "font": {"color": "#c9d1d9"}, "id": "4:199e104d-85e5-47b8-9fce-6077364f5732:36", "label": "vis-network.min.js", "shape": "dot", "size": 18, "title": " lib/vis-9.1.2/vis-network.min.js"}]);
                  edges = new vis.DataSet([{"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:0", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:37", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:12", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:38", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:12", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:39", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:13", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:39", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:15", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:40", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:15", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:41", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:15", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:42", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:15", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:43", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:15", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:44", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:20", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:40", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:23", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:41", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:23", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:43", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:12", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:45", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:13", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:41", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:13", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:46", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:13", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:42", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:13", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:47", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:13", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:45", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:11", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:48", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:11", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:49", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:11", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:50", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:11", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:51", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:0", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:52", "width": 2}, {"arrows": "to", "color": "#1e3a5f", "from": "4:199e104d-85e5-47b8-9fce-6077364f5732:0", "to": "4:199e104d-85e5-47b8-9fce-6077364f5732:53", "width": 2}]);

                  nodeColors = {};
                  allNodes = nodes.get({ returnType: "Object" });
                  for (nodeId in allNodes) {
                    nodeColors[nodeId] = allNodes[nodeId].color;
                  }
                  allEdges = edges.get({ returnType: "Object" });
                  // adding nodes and edges to the graph
                  data = {nodes: nodes, edges: edges};

                  var options = {"edges": {"arrows": {"to": {"enabled": true, "scaleFactor": 1.5}}, "color": {"color": "#1e3a5f", "highlight": "#4a90d9"}, "width": 1.8, "smooth": {"enabled": true, "type": "continuous"}}, "nodes": {"font": {"color": "#c9d1d9", "size": 13, "face": "monospace"}, "borderWidth": 2}, "physics": {"enabled": true, "barnesHut": {"gravitationalConstant": -7000, "springLength": 200, "damping": 0.15}}, "interaction": {"hover": true, "tooltipDelay": 100, "hideEdgesOnDrag": true}};

                  


                  

                  network = new vis.Network(container, data, options);

                  

                  

                  


                  

                  return network;

              }
              drawGraph();
        </script>
    </body>
</html>